diff --git a/CHANGELOG.rst b/CHANGELOG.rst index cf9daae9a4..23ac1e8ba8 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -17,6 +17,57 @@ v33.0.0 (next next, roadmap) v32.1.0 (next, roadmap) ---------------------------- +Major API/other changes: + +- Output Format Version updated to 3.1.0 (minor version bump) +- Drops python 3.7 and adopts python 3.12 +- New license match attributes: + - ``from_file`` + - ``matched_text_diagnostics`` is added for ``--license-text-diagnostics`` +- In codebase-level ``license_detections`` we have a new attribute + ``reference_matches`` +- SPDX license expressions everywhere side-by-side with ScanCode + license expressions. +- All rule attribute level data provided in codebase level ``todo`` items. + +Changes in Output Data Structure: + +- The data structure of the JSON output has changed for + licenses at file level, and license detections at top-level. + But note that all the changes are additions to the JSON output, + so we have a minor version bump ``3.0.0`` to ``3.1.0``: + + - There is a new attribute ``from_file`` in ``matches`` which is in + ``license_detections`` in: + * File level ``license_detections`` + * Codebase level ``license_detections`` + * ``license_detections`` and ``other_license_detections`` in + file-level ``package_data`` + * ``license_detections`` and ``other_license_detections`` in + codebase level ``packages`` + + - On using the CLI option ``--license-text-diagnostics`` there is + now a new license match attribute ``matched_text_diagnostics`` + with the matched text and highlighted diagnostics, instead of + having this replace the plain ``matched_text``. + + - A new ``reference_matches`` attribute is added to codebase-level + ``license_detections`` which is same as the ``matches`` attribute + in other license detections. + + - We now have SPDX license expressions everywhere we have + ScanCode license expressions for ease of use and adopting + SPDX everywhere. A new attribute ``license_expression_spdx`` + is added to: + - ``license_detections`` in file and codebase level + - in package ``license_detections`` and ``other_license_detections`` + - ``matches`` for ``license_detections`` everywhere + + - Adds all rule atrribute level info in codebase level ``todo`` + data, to assist in review. This includes length, text, notes, + referenced_filenames, and the boolean attributes (like + is_license_notice, is_license_intro etc, as applicable). + - A new field in packages with the license category for the detected license expression and also an API function to compute license categories from license expressions. diff --git a/src/licensedcode/cache.py b/src/licensedcode/cache.py index ded71bae58..a257576d2c 100644 --- a/src/licensedcode/cache.py +++ b/src/licensedcode/cache.py @@ -545,11 +545,12 @@ def validate_spdx_license_keys(license_expression, licensing): try: parsed.render(template='{symbol.wrapped.spdx_license_key}') except AttributeError: + msg = f"Error rendering SPDX license key for: {key}" messages.append(msg) pass if messages: - raise InvalidLicenseKeyError(messages) + raise InvalidLicenseKeyError(f"ERROR in parsing license_expression: {license_expression}: type: {type(license_expression)} :{messages}") class InvalidLicenseKeyError(Exception): diff --git a/src/licensedcode/detection.py b/src/licensedcode/detection.py index a617735ae5..fcba1525f8 100644 --- a/src/licensedcode/detection.py +++ b/src/licensedcode/detection.py @@ -165,8 +165,15 @@ class LicenseDetection: license_expression = attr.ib( default=None, metadata=dict( - help='Full license expression string ' - 'using the SPDX license expression syntax and ScanCode license keys.') + help='A license expression string using the SPDX license expression' + ' syntax and ScanCode license keys, the effective license expression' + ' for this license detection.') + ) + + license_expression_spdx = attr.ib( + default=None, + metadata=dict( + help='SPDX license expression string with SPDX ids.') ) matches = attr.ib( @@ -248,8 +255,17 @@ def from_matches( detection_log=detection_log, ) detection.identifier = detection.identifier_with_expression + detection.license_expression_spdx = detection.spdx_license_expression() return detection + def spdx_license_expression(self): + from licensedcode.cache import build_spdx_license_expression + from licensedcode.cache import get_cache + return str(build_spdx_license_expression( + license_expression=self.license_expression, + licensing=get_cache().licensing, + )) + def __eq__(self, other): return ( isinstance(other, LicenseDetection) @@ -515,6 +531,7 @@ def from_license_detection_mapping( detection = cls( license_expression=license_detection_mapping["license_expression"], + license_expression_spdx=license_detection_mapping["license_expression_spdx"], detection_log=license_detection_mapping.get("detection_log", []) or None, identifier=license_detection_mapping["identifier"], matches=matches, @@ -590,6 +607,12 @@ class LicenseMatchFromResult(LicenseMatch): help='Text which was matched') ) + matched_text_diagnostics = attr.ib( + default=None, + metadata=dict( + help='Text which was matched, with extra diagnostics information.') + ) + def score(self): return self.match_score @@ -615,8 +638,10 @@ def from_dict(cls, license_match_mapping): """ rule = Rule.from_match_data(license_match_mapping) matched_text = license_match_mapping.get("matched_text") or None + matched_text_diagnostics = license_match_mapping.get("matched_text_diagnostics") or None return cls( + from_file=license_match_mapping["from_file"], start_line=license_match_mapping["start_line"], end_line=license_match_mapping["end_line"], match_score=license_match_mapping["score"], @@ -624,6 +649,7 @@ def from_dict(cls, license_match_mapping): match_coverage=license_match_mapping["match_coverage"], matcher=license_match_mapping["matcher"], text=matched_text, + matched_text_diagnostics=matched_text_diagnostics, rule=rule, qspan=None, ispan=None, @@ -642,35 +668,57 @@ def to_dict( include_text=False, license_text_diagnostics=False, whole_lines=True, + rule_details=False, ): """ Return a "result" scan data built from a LicenseMatch object. """ - matched_text = None - if include_text: - matched_text = self.matched_text - result = {} - # Detection Level Information - result['score'] = self.score() + result['license_expression'] = self.rule.license_expression + result['license_expression_spdx'] = self.rule.spdx_license_expression() + result['from_file'] = self.from_file result['start_line'] = self.start_line result['end_line'] = self.end_line + if rule_details: + result.update(self.rule.get_flags_mapping()) + result['matcher'] = self.matcher + result['score'] = self.score() result['matched_length'] = self.len() + if rule_details: + result["rule_length"] = self.rule.length result['match_coverage'] = self.coverage() - result['matcher'] = self.matcher - - # LicenseDB Level Information (Rule that was matched) - result['license_expression'] = self.rule.license_expression - result['rule_identifier'] = self.rule.identifier result['rule_relevance'] = self.rule.relevance + result['rule_identifier'] = self.rule.identifier result['rule_url'] = self.rule.rule_url + if rule_details: + result["rule_notes"] = self.rule.notes + result["referenced_filenames"] = self.rule.referenced_filenames + if include_text and self.matched_text: + result['matched_text'] = self.matched_text + if license_text_diagnostics and self.matched_text_diagnostics: + result['matched_text_diagnostics'] = self.matched_text_diagnostics + if rule_details: + result["rule_text"] = self.rule.text - if include_text: - result['matched_text'] = matched_text return result +def populate_matches_with_path(matches, path): + """ + Given `matches` list of LicenseMatch objects, populate the `from_file` + attribute in them with `path` which is the path for the origin file for + that license match. + """ + for match in matches: + # Here if we have the `from_file` attribute populated already, + # they are from other files, and if it's empty, they are from + # the original resource, so we populate the files with the resource + # path for the original resource of their origin + if not match["from_file"]: + match["from_file"] = path + + def collect_license_detections(codebase, include_license_clues=True): """ Return a list of LicenseDetectionFromResult object rehydrated from @@ -680,7 +728,10 @@ def collect_license_detections(codebase, include_license_clues=True): according to their license detections. This is required because package fields are populated in package plugin, which runs before the license plugin, and thus the license plugin step where unknown references to other files are dereferenced - does not show up automatically in package attributes. + does not show up automatically in package attributes. + + Also populate from_file attributes with resource paths for matches which have + origin in the same file. """ has_packages = hasattr(codebase.root, 'package_data') has_licenses = hasattr(codebase.root, 'license_detections') @@ -692,7 +743,11 @@ def collect_license_detections(codebase, include_license_clues=True): resource_license_detections = [] if has_licenses: license_detections = getattr(resource, 'license_detections', []) or [] + for detection in license_detections: + populate_matches_with_path(matches=detection["matches"], path=resource.path) license_clues = getattr(resource, 'license_clues', []) or [] + populate_matches_with_path(matches=license_clues, path=resource.path) + codebase.save_resource(resource) if license_detections: license_detection_objects = detections_from_license_detection_mappings( @@ -729,6 +784,9 @@ def collect_license_detections(codebase, include_license_clues=True): package_license_detections = package["license_detections"] if package_license_detections: + for detection in package_license_detections: + populate_matches_with_path(matches=detection["matches"], path=resource.path) + modified = True package_license_detection_mappings.extend(package_license_detections) detection_is_same, license_expression = verify_package_license_expression( license_detection_mappings=package_license_detections, @@ -828,6 +886,7 @@ class UniqueDetection: """ identifier = attr.ib(default=None) license_expression = attr.ib(default=None) + license_expression_spdx = attr.ib(default=None) detection_count = attr.ib(default=None) matches = attr.ib(default=attr.Factory(list)) detection_log = attr.ib(default=attr.Factory(list)) @@ -860,12 +919,14 @@ def get_unique_detections(cls, license_detections): for match in detection.matches ] )) + detection.license_expression_spdx = detection.spdx_license_expression() detection.identifier = detection.identifier_with_expression unique_license_detections.append( cls( identifier=detection.identifier, license_expression=detection.license_expression, + license_expression_spdx=detection.license_expression_spdx, detection_log=detection_log or [], matches=detection.matches, detection_count=len(file_regions), @@ -875,7 +936,11 @@ def get_unique_detections(cls, license_detections): return unique_license_detections - def to_dict(self, license_diagnostics): + def to_dict(self, + include_text=False, + license_text_diagnostics=False, + license_diagnostics=False, + ): def dict_fields(attr, value): @@ -890,11 +955,20 @@ def dict_fields(attr, value): return True - return attr.asdict(self, filter=dict_fields) + detection_mapping = attr.asdict(self, filter=dict_fields) + detection_mapping["reference_matches"] = [ + match.to_dict( + include_text=include_text, + license_text_diagnostics=license_text_diagnostics, + ) + for match in self.matches + ] + return detection_mapping def get_license_detection_object(self): return LicenseDetection( license_expression=self.license_expression, + license_expression_spdx=self.license_expression_spdx, detection_log=self.detection_log, matches=self.matches, identifier=self.identifier, diff --git a/src/licensedcode/licenses_reference.py b/src/licensedcode/licenses_reference.py index 24b2a93264..1b01c9a901 100644 --- a/src/licensedcode/licenses_reference.py +++ b/src/licensedcode/licenses_reference.py @@ -69,8 +69,8 @@ def process_codebase(self, codebase, **kwargs): Collect the ``license_references`` and ``rule_references`` list of data mappings and add to the ``codebase``. """ - include_files = 'license' in kwargs - include_packages = 'package' in kwargs + include_files = hasattr(codebase.attributes, 'license_detections') + include_packages = hasattr(codebase.attributes, 'packages') license_references, rule_references = collect_license_and_rule_references( codebase=codebase, @@ -86,17 +86,25 @@ def collect_license_and_rule_references(codebase, include_packages=True, include Return a two-tuple of (``license_references``, ``license_rule_references``) sorted lists of unique mappings collected from a ``codebase``. """ + if TRACE: + logger_debug(f'include_packages: {include_packages}, include_files: {include_files}') license_keys = set() rules_by_identifier = {} if include_packages: pks, prules = collect_references_from_packages(codebase) + if TRACE: + logger_debug(f'collect_references_from_packages: license keys: {pks}') + logger_debug(f'collect_references_from_packages: rules by id: {prules}') license_keys.update(pks) rules_by_identifier.update(prules) if include_files: pks, prules = collect_references_from_files(codebase) + if TRACE: + logger_debug(f'collect_references_from_files: license keys: {pks}') + logger_debug(f'collect_references_from_files: rules by id: {prules}') license_keys.update(pks) rules_by_identifier.update(prules) @@ -140,10 +148,6 @@ def collect_references_from_packages(codebase): if expression: license_keys.update(licensing.license_keys(expression)) - detections = getattr(resource, 'license_detections', []) or [] - rules_by_id = build_rules_from_detection_data(detections) - rules_by_identifier.update(rules_by_id) - for rule in rules_by_identifier.values(): # TODO: consider using the expresion object directly instead expo = rule.license_expression diff --git a/src/licensedcode/match.py b/src/licensedcode/match.py index 7d7880606e..afb0178a8c 100644 --- a/src/licensedcode/match.py +++ b/src/licensedcode/match.py @@ -223,6 +223,17 @@ class LicenseMatch(object): metadata=dict(help='match end line, 1-based') ) + from_file = attr.ib( + default=None, + metadata=dict( + help='File path where this LicenseMatch was originally detected. ' + 'This needs to be stored as we bring over LicenseMatches from ' + 'other files into LicenseDetection objects now, and we need ' + 'to track the origin for these to be able to determine easily ' + 'which are native to that file.' + ) + ) + query = attr.ib( default=None, metadata=dict(help='Query object for this match') @@ -722,7 +733,7 @@ def matched_text( highlight=True, highlight_matched='{}', highlight_not_matched='[{}]', - _usecache=True + _usecache=True, ): """ Return the matched text for this match or an empty string if no query @@ -762,39 +773,43 @@ def to_dict( spdx_license_url=SPDX_LICENSE_URL, include_text=False, license_text_diagnostics=False, - whole_lines=True, + whole_lines=False, + file_path=None, ): """ Return a "result" scan data built from a LicenseMatch object. """ matched_text = None + matched_text_diagnostics = None + if include_text: if license_text_diagnostics: - matched_text = self.matched_text(whole_lines=False, highlight=True) + matched_text_diagnostics = self.matched_text(whole_lines=False, highlight=True) + + if whole_lines: + matched_text = self.matched_text(whole_lines=True, highlight=False) else: - if whole_lines: - matched_text = self.matched_text(whole_lines=True, highlight=False) - else: - matched_text = self.matched_text(whole_lines=False, highlight=False) + matched_text = self.matched_text(whole_lines=False, highlight=False) result = {} - # Detection Level Information - result['score'] = self.score() + result['license_expression'] = self.rule.license_expression + result['spdx_license_expression'] = self.rule.spdx_license_expression() + result['from_file'] = file_path result['start_line'] = self.start_line result['end_line'] = self.end_line + result['matcher'] = self.matcher + result['score'] = self.score() result['matched_length'] = self.len() result['match_coverage'] = self.coverage() - result['matcher'] = self.matcher - - # LicenseDB Level Information (Rule that was matched) - result['license_expression'] = self.rule.license_expression - result['rule_identifier'] = self.rule.identifier result['rule_relevance'] = self.rule.relevance + result['rule_identifier'] = self.rule.identifier result['rule_url'] = self.rule.rule_url if include_text: result['matched_text'] = matched_text + if license_text_diagnostics: + result['matched_text_diagnostics'] = matched_text_diagnostics return result def get_highlighted_text(self, trace=TRACE_HIGHLIGHTED_TEXT): diff --git a/src/licensedcode/models.py b/src/licensedcode/models.py index d81cae1126..572c35a582 100644 --- a/src/licensedcode/models.py +++ b/src/licensedcode/models.py @@ -30,6 +30,7 @@ from commoncode.fileutils import file_base_name from commoncode.fileutils import file_name from commoncode.fileutils import resource_iter +from commoncode.text import python_safe_name from licensedcode import MIN_MATCH_HIGH_LENGTH from licensedcode import MIN_MATCH_LENGTH from licensedcode import SMALL_RULE @@ -1932,9 +1933,10 @@ def licensing_contains(self, other): expression2=other.license_expression_object, ) - def spdx_license_expression(self, licensing=None): + def spdx_license_expression(self): from licensedcode.cache import build_spdx_license_expression - return str(build_spdx_license_expression(self.license_expression, licensing=licensing)) + from licensedcode.cache import get_cache + return str(build_spdx_license_expression(self.license_expression, licensing=get_cache().licensing)) def get_length(self, unique=False): return self.length_unique if unique else self.length @@ -1950,6 +1952,29 @@ def get_min_high_matched_length(self, unique=False): return (self.min_high_matched_length_unique if unique else self.min_high_matched_length) + def get_flags_mapping(self): + """ + Return a list of boolean attributes for a rule which are set to True. + """ + + rule_boolean_attributes = [ + 'is_license_text', + 'is_license_notice', + 'is_license_reference', + 'is_license_tag', + 'is_license_intro', + 'is_license_clue', + 'is_continuous', + ] + + mapping = {} + for attribute in rule_boolean_attributes: + value = getattr(self, attribute) + if value: + mapping[attribute] = True + + return mapping + def to_reference(self): """ Return a mapping of reference data for this Rule object. @@ -2101,6 +2126,12 @@ def from_file(cls, rule_file, is_builtin=True): rule.load_data(rule_file=rule_file) return rule + @property + def pysafe_expression(self): + """ + Return a python safe identifier, for use in rule identifiers""" + return python_safe_name(self.license_expression) + def load_data(self, rule_file): """ Load data from ``rule_file`` which has both the text and the data (as YAML forntmatter). @@ -2557,7 +2588,7 @@ class SpdxRule(SynthethicRule): """ def __attrs_post_init__(self, *args, **kwargs): - self.identifier = f'spdx-license-identifier-{self.license_expression}-{self._unique_id}' + self.identifier = f'spdx-license-identifier-{self.pysafe_expression}-{self._unique_id}' self.setup() if not self.license_expression: @@ -2611,7 +2642,7 @@ class UnDetectedRule(SynthethicRule): """ def __attrs_post_init__(self, *args, **kwargs): - self.identifier = f'package-manifest-{self.license_expression}-{self._unique_id}' + self.identifier = f'package-manifest-{self.pysafe_expression}-{self._unique_id}' expression = self.licensing.parse(self.license_expression) self.license_expression = expression.render() self.license_expression_object = expression diff --git a/src/licensedcode/plugin_license.py b/src/licensedcode/plugin_license.py index ecae0a6901..a2e3b0638d 100644 --- a/src/licensedcode/plugin_license.py +++ b/src/licensedcode/plugin_license.py @@ -20,6 +20,7 @@ from licensedcode.cache import build_spdx_license_expression, get_cache from licensedcode.detection import collect_license_detections +from licensedcode.detection import populate_matches_with_path from licensedcode.detection import find_referenced_resource from licensedcode.detection import get_detected_license_expression from licensedcode.detection import get_matches_from_detection_mappings @@ -169,7 +170,7 @@ def get_scanner( unknown_licenses=unknown_licenses, ) - def process_codebase(self, codebase, license_diagnostics, **kwargs): + def process_codebase(self, codebase, license_text=False, license_diagnostics=False, license_text_diagnostics=False, **kwargs): """ Post-process ``codebase`` to follow referenced filenames to license matches in other files. @@ -230,7 +231,11 @@ def process_codebase(self, codebase, license_diagnostics, **kwargs): ) unsorted_license_detections = [ - unique_detection.to_dict(license_diagnostics=license_diagnostics) + unique_detection.to_dict( + include_text=license_text, + license_diagnostics=license_diagnostics, + license_text_diagnostics=license_text_diagnostics, + ) for unique_detection in unique_license_detections ] codebase.attributes.license_detections.extend( @@ -279,11 +284,14 @@ def add_referenced_filenames_license_matches_for_detections(resource, codebase): modified = True detection_modified = True detections_added.extend(referenced_resource.license_detections) - license_match_mappings.extend( - get_matches_from_detection_mappings( - license_detections=referenced_resource.license_detections - ) + matches_to_extend = get_matches_from_detection_mappings( + license_detections=referenced_resource.license_detections + ) + populate_matches_with_path( + matches=matches_to_extend, + path=referenced_resource.path ) + license_match_mappings.extend(matches_to_extend) if not detection_modified: continue @@ -293,7 +301,12 @@ def add_referenced_filenames_license_matches_for_detections(resource, codebase): analysis=DetectionCategory.UNKNOWN_FILE_REFERENCE_LOCAL.value, post_scan=True, ) + license_expression_spdx = build_spdx_license_expression( + license_expression=str(license_expression), + licensing=get_cache().licensing, + ) license_detection_mapping["license_expression"] = str(license_expression) + license_detection_mapping["license_expression_spdx"] = str(license_expression_spdx) license_detection_mapping["detection_log"] = detection_log license_detection_mapping["identifier"] = get_new_identifier_from_detections( initial_detection=license_detection_mapping, diff --git a/src/licensedcode/query.py b/src/licensedcode/query.py index c0fc20d633..a597be032e 100644 --- a/src/licensedcode/query.py +++ b/src/licensedcode/query.py @@ -507,7 +507,7 @@ def tokens_by_line( if spdx_start_offset is not None: # keep the line, start/end known pos for SPDX matching spdx_prefix, spdx_expression = split_spdx_lid(line) - spdx_text = ' '.join([spdx_prefix or '', spdx_expression]) + spdx_text = ''.join([spdx_prefix or '', spdx_expression]) spdx_start_known_pos = line_first_known_pos + spdx_start_offset if spdx_start_known_pos <= line_last_known_pos: diff --git a/src/packagedcode/debian_copyright.py b/src/packagedcode/debian_copyright.py index fe7aebc852..76069ed1e9 100644 --- a/src/packagedcode/debian_copyright.py +++ b/src/packagedcode/debian_copyright.py @@ -1259,7 +1259,6 @@ def parse_paras_with_license_text(paras_with_license): matches=text_matches, reference_match=common_license_match ): # TODO: Add unknown matches if matches are not consistent - # raise Exception(f'Inconsistent Licenses: {common_license_match} {matches}') pass # TODO: Add unknown matches if matches are weak diff --git a/src/packagedcode/licensing.py b/src/packagedcode/licensing.py index daa53483a2..2c576a73a9 100644 --- a/src/packagedcode/licensing.py +++ b/src/packagedcode/licensing.py @@ -25,6 +25,7 @@ from licensedcode.detection import find_referenced_resource from licensedcode.detection import detect_licenses from licensedcode.detection import LicenseDetectionFromResult +from licensedcode.detection import populate_matches_with_path from licensedcode.spans import Span from licensedcode import query @@ -113,11 +114,16 @@ def add_referenced_license_matches_for_package(resource, codebase): if referenced_license_detections: modified = True detection_modified = True - license_match_mappings.extend( - get_matches_from_detection_mappings( - license_detections=referenced_license_detections - ) + matches_to_extend = get_matches_from_detection_mappings( + license_detections=referenced_license_detections ) + # For LicenseMatches with different resources as origin, add the + # resource path to these matches as origin info + populate_matches_with_path( + matches=matches_to_extend, + path=referenced_resource.path + ) + license_match_mappings.extend(matches_to_extend) if not detection_modified: continue @@ -127,7 +133,12 @@ def add_referenced_license_matches_for_package(resource, codebase): analysis=DetectionCategory.PACKAGE_UNKNOWN_FILE_REFERENCE_LOCAL.value, post_scan=True, ) + license_expression_spdx = build_spdx_license_expression( + license_expression=str(license_expression), + licensing=get_cache().licensing, + ) license_detection_mapping["license_expression"] = str(license_expression) + license_detection_mapping["license_expression_spdx"] = str(license_expression_spdx) license_detection_mapping["detection_log"] = detection_log license_detection_mapping["identifier"] = get_new_identifier_from_detections( initial_detection=license_detection_mapping, @@ -231,6 +242,10 @@ def add_referenced_license_detection_from_package(resource, codebase): for pkg_detection in pkg_detections: modified = True detection_modified = True + populate_matches_with_path( + matches=pkg_detection["matches"], + path=resource.path + ) license_match_mappings.extend(pkg_detection["matches"]) detections_added.append(pkg_detection) analysis = DetectionCategory.UNKNOWN_REFERENCE_IN_FILE_TO_PACKAGE.value @@ -243,7 +258,12 @@ def add_referenced_license_detection_from_package(resource, codebase): analysis=analysis, post_scan=True, ) + license_expression_spdx = build_spdx_license_expression( + license_expression=str(license_expression), + licensing=get_cache().licensing, + ) license_detection_mapping["license_expression"] = str(license_expression) + license_detection_mapping["license_expression_spdx"] = str(license_expression_spdx) license_detection_mapping["detection_log"] = detection_log license_detection_mapping["identifier"] = get_new_identifier_from_detections( initial_detection=license_detection_mapping, @@ -347,6 +367,11 @@ def get_license_detections_from_sibling_file(resource, codebase): license_detections = [] for sibling in siblings: + for detection in sibling.license_detections: + populate_matches_with_path( + matches=detection["matches"], + path=sibling.path + ) license_detections.extend(sibling.license_detections) if not license_detections: diff --git a/src/packagedcode/models.py b/src/packagedcode/models.py index 1e304dc7e0..9d2f0efbab 100644 --- a/src/packagedcode/models.py +++ b/src/packagedcode/models.py @@ -1336,7 +1336,6 @@ def assemble_from_many_datafiles_in_directory( package_data = PackageData.from_dict(package_data) pkgdata_resources.append((package_data, resource,)) - #raise Exception(pkgdata_resources) if pkgdata_resources: if TRACE: logger_debug(f' assemble_from_many_datafiles: pkgdata_resources: {pkgdata_resources!r}') @@ -1499,6 +1498,12 @@ def from_package_data(cls, package_data, datafile_path): package_data_mapping['datafile_paths'] = [datafile_path] package_data_mapping['datasource_ids'] = [dsid] + license_detections = package_data_mapping['license_detections'] + for detection in license_detections: + for license_match in detection['matches']: + if not license_match['from_file']: + license_match['from_file'] = datafile_path + return cls.from_dict(package_data_mapping) @classmethod diff --git a/src/packagedcode/plugin_package.py b/src/packagedcode/plugin_package.py index 2e1e4ad6e0..78c5464c48 100644 --- a/src/packagedcode/plugin_package.py +++ b/src/packagedcode/plugin_package.py @@ -25,11 +25,11 @@ from licensedcode.cache import build_spdx_license_expression from licensedcode.cache import get_cache from licensedcode.detection import DetectionRule +from licensedcode.detection import populate_matches_with_path from packagedcode import get_package_handler from packagedcode.licensing import add_referenced_license_matches_for_package from packagedcode.licensing import add_referenced_license_detection_from_package from packagedcode.licensing import add_license_from_sibling_file -from packagedcode.licensing import get_license_detection_mappings from packagedcode.licensing import get_license_expression_from_detection_mappings from packagedcode.models import add_to_package from packagedcode.models import Dependency @@ -38,6 +38,8 @@ from packagedcode.models import PackageWithResources TRACE = os.environ.get('SCANCODE_DEBUG_PACKAGE_API', False) +TRACE_ASSEMBLY = os.environ.get('SCANCODE_DEBUG_PACKAGE_ASSEMBLY', False) +TRACE_LICENSE = os.environ.get('SCANCODE_DEBUG_PACKAGE_LICENSE', False) def logger_debug(*args): @@ -46,7 +48,7 @@ def logger_debug(*args): logger = logging.getLogger(__name__) -if TRACE: +if TRACE or TRACE_LICENSE or TRACE_ASSEMBLY: import sys logging.basicConfig(stream=sys.stdout) @@ -199,6 +201,20 @@ def process_codebase(self, codebase, strip_root=False, **kwargs): # These steps add proper license detections to package_data and hence # this is performed before top level packages creation for resource in codebase.walk(topdown=False): + # populate `from_file` attribute in matches + for package_data in resource.package_data: + for detection in package_data['license_detections']: + populate_matches_with_path( + matches=detection['matches'], + path=resource.path, + ) + + for detection in package_data['other_license_detections']: + populate_matches_with_path( + matches=detection['matches'], + path=resource.path, + ) + if not has_licenses: #TODO: Add the steps where we detect licenses from files for only a package scan # in the multiprocessing get_package_data API function @@ -207,7 +223,7 @@ def process_codebase(self, codebase, strip_root=False, **kwargs): # If we don't detect license in package_data but there is license detected in file # we add the license expression from the file to a package modified = add_license_from_file(resource, codebase) - if TRACE and modified: + if TRACE_LICENSE and modified: logger_debug(f'packagedcode: process_codebase: add_license_from_file: modified: {modified}') if codebase.has_single_resource: @@ -216,17 +232,18 @@ def process_codebase(self, codebase, strip_root=False, **kwargs): # If there is referenced files in a extracted license statement, we follow # the references, look for license detections and add them back modified = list(add_referenced_license_matches_for_package(resource, codebase)) - if TRACE and modified: + if TRACE_LICENSE and modified: logger_debug(f'packagedcode: process_codebase: add_referenced_license_matches_for_package: modified: {modified}') # If there is a LICENSE file on the same level as the manifest, and no license # is detected in the package_data, we add the license from the file modified = add_license_from_sibling_file(resource, codebase) - if TRACE and modified: + if TRACE_LICENSE and modified: logger_debug(f'packagedcode: process_codebase: add_license_from_sibling_file: modified: {modified}') # Create codebase-level packages and dependencies create_package_and_deps(codebase, strip_root=strip_root, **kwargs) + #raise Exception() if has_licenses: # This step is dependent on top level packages @@ -234,7 +251,7 @@ def process_codebase(self, codebase, strip_root=False, **kwargs): # If there is a unknown reference to a package we add the license # from the package license detection modified = list(add_referenced_license_detection_from_package(resource, codebase)) - if TRACE and modified: + if TRACE_LICENSE and modified: logger_debug(f'packagedcode: process_codebase: add_referenced_license_matches_from_package: modified: {modified}') @@ -244,7 +261,7 @@ def add_license_from_file(resource, codebase): and the file has license detections, and if so, populate the package_data license expression and detection fields from the file license. """ - if TRACE: + if TRACE_LICENSE: logger_debug(f'packagedcode.plugin_package: add_license_from_file: resource: {resource.path}') if not resource.is_file: @@ -252,7 +269,7 @@ def add_license_from_file(resource, codebase): license_detections_file = resource.license_detections - if TRACE: + if TRACE_LICENSE: logger_debug(f'add_license_from_file: license_detections_file: {license_detections_file}') if not license_detections_file: return @@ -263,7 +280,7 @@ def add_license_from_file(resource, codebase): for pkg in package_data: license_detections_pkg = pkg["license_detections"] - if TRACE: + if TRACE_LICENSE: logger_debug(f'add_license_from_file: license_detections_pkg: {license_detections_pkg}') if not license_detections_pkg: @@ -328,7 +345,8 @@ def create_package_and_deps(codebase, package_adder=add_to_package, strip_root=F strip_root=strip_root, **kwargs ) - codebase.attributes.packages.extend(pkg.to_dict() for pkg in packages) + + codebase.attributes.packages.extend(package.to_dict() for package in packages) codebase.attributes.dependencies.extend(dep.to_dict() for dep in dependencies) @@ -351,20 +369,20 @@ def get_package_and_deps(codebase, package_adder=add_to_package, strip_root=Fals if resource.path in seen_resource_paths: continue - if TRACE: + if TRACE_ASSEMBLY: logger_debug('get_package_and_deps: location:', resource.location) for package_data in resource.package_data: try: package_data = PackageData.from_dict(mapping=package_data) - if TRACE: + if TRACE_ASSEMBLY: logger_debug(' get_package_and_deps: package_data:', package_data) # Find a handler for this package datasource to assemble collect # packages and deps handler = get_package_handler(package_data) - if TRACE: + if TRACE_ASSEMBLY: logger_debug(' get_package_and_deps: handler:', handler) items = handler.assemble( @@ -375,7 +393,7 @@ def get_package_and_deps(codebase, package_adder=add_to_package, strip_root=Fals ) for item in items: - if TRACE: + if TRACE_ASSEMBLY: logger_debug(' get_package_and_deps: item:', item) if isinstance(item, Package): @@ -394,7 +412,7 @@ def get_package_and_deps(codebase, package_adder=add_to_package, strip_root=Fals elif isinstance(item, Resource): seen_resource_paths.add(item.path) - if TRACE: + if TRACE_ASSEMBLY: logger_debug( ' get_package_and_deps: seen_resource_path:', seen_resource_paths, diff --git a/src/scancode_config.py b/src/scancode_config.py index a804125b62..7044a853e5 100644 --- a/src/scancode_config.py +++ b/src/scancode_config.py @@ -141,7 +141,7 @@ def _create_dir(location): # See https://github.com/nexB/scancode-toolkit/issues/2653 for more information # on the data format version -__output_format_version__ = '3.0.0' +__output_format_version__ = '3.1.0' # spdx_license_list_version = '3.22' diff --git a/src/summarycode/todo.py b/src/summarycode/todo.py index e69b4d1b90..4abb247214 100644 --- a/src/summarycode/todo.py +++ b/src/summarycode/todo.py @@ -20,6 +20,7 @@ from licensedcode.detection import get_ambiguous_license_detections_by_type from licensedcode.detection import get_uuid_on_content from licensedcode.detection import UniqueDetection +from licensedcode.detection import LicenseMatchFromResult from plugincode.post_scan import PostScanPlugin, post_scan_impl from packageurl import PackageURL @@ -99,9 +100,25 @@ def process_codebase(self, codebase, **kwargs): if hasattr(codebase.root, 'license_detections'): has_licenses = True + license_diagnostics = kwargs.get("license_diagnostics") + license_text = kwargs.get("license_text") + license_text_diagnostics = kwargs.get("license_text_diagnostics") + if not license_diagnostics or not license_text or not license_text_diagnostics: + usage_suggestion_message = ( + "The --todo option, whe paired with --license option should be used with the folowing " + "additional CLI options for maximum benifit: [`--license-text`, `--license-text-diagnostics`," + "--license-diagnostics`] as these show additional diagnostic information to help review the issues." + ) + warnings.simplefilter('always', ToDoPluginUsageWarning) + warnings.warn( + usage_suggestion_message, + ToDoPluginUsageWarning, + stacklevel=2, + ) + if not has_packages and not has_licenses: usage_suggestion_message = ( - "The --review option should be used with atleast one of the license [`--license`], " + "The --todo option should be used with atleast one of the license [`--license`], " "or package [`--package`] options." ) warnings.simplefilter('always', ToDoPluginUsageWarning) @@ -222,13 +239,23 @@ class AmbiguousDetection: """ Detections which needs review. """ + + detection_type = attr.ib( + default=None, + metadata=dict( + help='A string determining what type of detection this object is, ' + 'the possible values for this are : `package` and `license` ' + ) + ) + detection_id = attr.ib( default=None, metadata=dict( help='A detection ID identifying an unique detection. ' - 'This has two parts one with the type of detection in string, ' - 'like `package`/`license` and a positive integer ' - 'denoting the detection number.' + 'For a license detection this is an id with the license, ' + 'expression and an UUID based on the match content. ' + 'For a package detection this is the purl and the UUID as ' + 'a qualifier.' ) ) @@ -269,6 +296,7 @@ def from_package(cls, package_data, detection_log, file_path): ) review_comments = get_review_comments(detection_log) return cls( + detection_type='package', detection_id=detection_id, detection=package_data, review_comments=review_comments, @@ -287,6 +315,7 @@ def from_license(cls, detection, detection_log, file_regions): license_diagnostics=license_diagnostics, ) return cls( + detection_type='license', detection_id=detection.identifier, detection=detection_mapping, review_comments=review_comments, @@ -299,9 +328,27 @@ def dict_fields(attr, value): if attr.name == 'file_regions': return False + if attr.name == 'detection_type': + return False + return True - return attr.asdict(self, filter=dict_fields, dict_factory=dict) + detection_mapping = attr.asdict(self, filter=dict_fields, dict_factory=dict) + if self.detection_type == 'license': + # add rule attributes to the match details + matches_with_details = [] + for license_match in detection_mapping["detection"]["matches"]: + license_match_obj = LicenseMatchFromResult.from_dict(license_match) + matches_with_details.append( + license_match_obj.to_dict( + include_text=True, + license_text_diagnostics=True, + rule_details=True, + ) + ) + detection_mapping["detection"]["matches"] = matches_with_details + + return detection_mapping class PackageDetectionCategory(Enum): diff --git a/tests/cluecode/data/plugin_filter_clues/filtered-expected.json b/tests/cluecode/data/plugin_filter_clues/filtered-expected.json index 30539914af..4bfec66a9e 100644 --- a/tests/cluecode/data/plugin_filter_clues/filtered-expected.json +++ b/tests/cluecode/data/plugin_filter_clues/filtered-expected.json @@ -3,7 +3,24 @@ { "identifier": "apache_1_1-1712efcb-d696-b5e4-214d-b2ab69680c2a", "license_expression": "apache-1.1", - "detection_count": 1 + "license_expression_spdx": "Apache-1.1", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-1.1", + "license_expression_spdx": "Apache-1.1", + "from_file": "LICENSE", + "start_line": 7, + "end_line": 70, + "matcher": "3-seq", + "score": 96.07, + "matched_length": 367, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-1.1_63.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-1.1_63.RULE" + } + ] } ], "files": [ @@ -31,17 +48,20 @@ "license_detections": [ { "license_expression": "apache-1.1", + "license_expression_spdx": "Apache-1.1", "matches": [ { - "score": 96.07, + "license_expression": "apache-1.1", + "spdx_license_expression": "Apache-1.1", + "from_file": "LICENSE", "start_line": 7, "end_line": 70, + "matcher": "3-seq", + "score": 96.07, "matched_length": 367, "match_coverage": 100.0, - "matcher": "3-seq", - "license_expression": "apache-1.1", - "rule_identifier": "apache-1.1_63.RULE", "rule_relevance": 100, + "rule_identifier": "apache-1.1_63.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-1.1_63.RULE" } ], diff --git a/tests/cluecode/data/plugin_filter_clues/filtered-expected2.json b/tests/cluecode/data/plugin_filter_clues/filtered-expected2.json index bf7b6a13ba..8b142f559f 100644 --- a/tests/cluecode/data/plugin_filter_clues/filtered-expected2.json +++ b/tests/cluecode/data/plugin_filter_clues/filtered-expected2.json @@ -3,7 +3,24 @@ { "identifier": "pygres_2_2-04f085e8-3db1-f9e2-8dde-7ba8a7ba619a", "license_expression": "pygres-2.2", - "detection_count": 1 + "license_expression_spdx": "LicenseRef-scancode-pygres-2.2", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "pygres-2.2", + "license_expression_spdx": "LicenseRef-scancode-pygres-2.2", + "from_file": "LICENSE2", + "start_line": 7, + "end_line": 22, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 145, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "pygres-2.2_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pygres-2.2_2.RULE" + } + ] } ], "files": [ @@ -31,17 +48,20 @@ "license_detections": [ { "license_expression": "pygres-2.2", + "license_expression_spdx": "LicenseRef-scancode-pygres-2.2", "matches": [ { - "score": 100.0, + "license_expression": "pygres-2.2", + "spdx_license_expression": "LicenseRef-scancode-pygres-2.2", + "from_file": "LICENSE2", "start_line": 7, "end_line": 22, + "matcher": "2-aho", + "score": 100.0, "matched_length": 145, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "pygres-2.2", - "rule_identifier": "pygres-2.2_2.RULE", "rule_relevance": 100, + "rule_identifier": "pygres-2.2_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pygres-2.2_2.RULE" } ], diff --git a/tests/cluecode/data/plugin_filter_clues/filtered-expected3.json b/tests/cluecode/data/plugin_filter_clues/filtered-expected3.json index d163e74b58..4b3c121155 100644 --- a/tests/cluecode/data/plugin_filter_clues/filtered-expected3.json +++ b/tests/cluecode/data/plugin_filter_clues/filtered-expected3.json @@ -3,7 +3,24 @@ { "identifier": "pcre-c61d8210-7748-d787-5e3e-fd64c6cd6b6a", "license_expression": "pcre", - "detection_count": 1 + "license_expression_spdx": "LicenseRef-scancode-pcre", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "pcre", + "license_expression_spdx": "LicenseRef-scancode-pcre", + "from_file": "LICENSE3", + "start_line": 1, + "end_line": 47, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 303, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "pcre.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/pcre.LICENSE" + } + ] } ], "files": [ @@ -31,17 +48,20 @@ "license_detections": [ { "license_expression": "pcre", + "license_expression_spdx": "LicenseRef-scancode-pcre", "matches": [ { - "score": 100.0, + "license_expression": "pcre", + "spdx_license_expression": "LicenseRef-scancode-pcre", + "from_file": "LICENSE3", "start_line": 1, "end_line": 47, + "matcher": "1-hash", + "score": 100.0, "matched_length": 303, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "pcre", - "rule_identifier": "pcre.LICENSE", "rule_relevance": 100, + "rule_identifier": "pcre.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/pcre.LICENSE" } ], diff --git a/tests/formattedcode/data/common/manifests-expected.json b/tests/formattedcode/data/common/manifests-expected.json index 98d6c2a4c3..71f5d18050 100644 --- a/tests/formattedcode/data/common/manifests-expected.json +++ b/tests/formattedcode/data/common/manifests-expected.json @@ -29,30 +29,35 @@ "license_detections": [ { "license_expression": "cddl-1.0", + "license_expression_spdx": "CDDL-1.0", "matches": [ { - "score": 100.0, + "license_expression": "cddl-1.0", + "spdx_license_expression": "CDDL-1.0", + "from_file": "manifests/maven/persistence-api-1.0.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 8, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cddl-1.0", - "rule_identifier": "cddl-1.0.RULE", "rule_relevance": 100, + "rule_identifier": "cddl-1.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0.RULE", "matched_text": "- name: Common Development and Distribution License (CDDL) v1.0" }, { - "score": 100.0, + "license_expression": "cddl-1.0", + "spdx_license_expression": "CDDL-1.0", + "from_file": "manifests/maven/persistence-api-1.0.pom", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cddl-1.0", - "rule_identifier": "cddl-1.0_4.RULE", "rule_relevance": 100, + "rule_identifier": "cddl-1.0_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_4.RULE", "matched_text": " url: http://www.sun.com/cddl/cddl.html" } @@ -120,17 +125,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "manifests/npm-license-mapping/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "Apache-2.0" } @@ -139,17 +147,20 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "manifests/npm-license-mapping/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "Apache 2.0" } @@ -213,17 +224,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "manifests/npm-license-string/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -467,52 +481,250 @@ { "identifier": "apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8", "license_expression": "apache-2.0", - "detection_count": 3 + "license_expression_spdx": "Apache-2.0", + "detection_count": 3, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "manifests/npm-license-mapping/package.json", + "start_line": 20, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" + } + ] }, { "identifier": "apache_2_0-ec759ae0-ea5a-f138-793e-388520e080c0", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "manifests/npm-license-mapping/package.json", + "start_line": 6, + "end_line": 6, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" + } + ] }, { "identifier": "cddl_1_0-c6dbef4d-659c-289f-5ee9-1ca0278edad6", "license_expression": "cddl-1.0", - "detection_count": 1 + "license_expression_spdx": "CDDL-1.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "manifests/maven/persistence-api-1.0.pom", + "start_line": 17, + "end_line": 19, + "matcher": "2-aho", + "score": 16.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 16, + "rule_identifier": "license-intro_72.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_72.RULE" + }, + { + "license_expression": "cddl-1.0", + "license_expression_spdx": "CDDL-1.0", + "from_file": "manifests/maven/persistence-api-1.0.pom", + "start_line": 18, + "end_line": 20, + "matcher": "3-seq", + "score": 82.35, + "matched_length": 14, + "match_coverage": 82.35, + "rule_relevance": 100, + "rule_identifier": "cddl-1.0_32.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_32.RULE" + } + ] }, { "identifier": "cddl_1_0-dd3dd7df-afca-6a5e-492c-f7b279fdd880", "license_expression": "cddl-1.0", - "detection_count": 1 + "license_expression_spdx": "CDDL-1.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "cddl-1.0", + "license_expression_spdx": "CDDL-1.0", + "from_file": "manifests/maven/persistence-api-1.0.pom", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 8, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "cddl-1.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0.RULE" + }, + { + "license_expression": "cddl-1.0", + "license_expression_spdx": "CDDL-1.0", + "from_file": "manifests/maven/persistence-api-1.0.pom", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 7, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "cddl-1.0_4.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_4.RULE" + } + ] }, { "identifier": "lgpl_3_0-272571eb-5e68-95b6-ddb0-71de2d8df321", "license_expression": "lgpl-3.0", - "detection_count": 2 + "license_expression_spdx": "LGPL-3.0-only", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", + "from_file": "manifests/pypi/bluepyopt_setup.py", + "start_line": 74, + "end_line": 75, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 10, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "pypi_gnu_lesser_general_public_license_v3.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_lesser_general_public_license_v3.RULE" + } + ] }, { "identifier": "lgpl_3_0-121be3c2-9c80-df84-d3da-8f674e4125c0", "license_expression": "lgpl-3.0", - "detection_count": 1 + "license_expression_spdx": "LGPL-3.0-only", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", + "from_file": "manifests/pypi/bluepyopt_setup.py", + "start_line": 9, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 106, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_276.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_276.RULE" + } + ] }, { "identifier": "lgpl_3_0-2db87bcf-56b4-9d7d-7075-2effae31c631", "license_expression": "lgpl-3.0", - "detection_count": 1 + "license_expression_spdx": "LGPL-3.0-only", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", + "from_file": "manifests/pypi/bluepyopt_setup.py", + "start_line": 65, + "end_line": 65, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_152.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_152.RULE" + } + ] }, { "identifier": "lgpl_3_0-38174920-e8ed-7bda-41ec-94df7380b7d5", "license_expression": "lgpl-3.0", - "detection_count": 1 + "license_expression_spdx": "LGPL-3.0-only", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", + "from_file": "manifests/pypi/bluepyopt_setup.py", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_29.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_29.RULE" + } + ] }, { "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "manifests/npm-license-string/package.json", + "start_line": 4, + "end_line": 4, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" + } + ] }, { "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "manifests/npm-license-string/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_url": null + } + ] } ], "files": [ @@ -635,30 +847,35 @@ "license_detections": [ { "license_expression": "cddl-1.0", + "license_expression_spdx": "CDDL-1.0", "matches": [ { - "score": 100.0, + "license_expression": "cddl-1.0", + "spdx_license_expression": "CDDL-1.0", + "from_file": "manifests/maven/persistence-api-1.0.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 8, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cddl-1.0", - "rule_identifier": "cddl-1.0.RULE", "rule_relevance": 100, + "rule_identifier": "cddl-1.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0.RULE", "matched_text": "- name: Common Development and Distribution License (CDDL) v1.0" }, { - "score": 100.0, + "license_expression": "cddl-1.0", + "spdx_license_expression": "CDDL-1.0", + "from_file": "manifests/maven/persistence-api-1.0.pom", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cddl-1.0", - "rule_identifier": "cddl-1.0_4.RULE", "rule_relevance": 100, + "rule_identifier": "cddl-1.0_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_4.RULE", "matched_text": " url: http://www.sun.com/cddl/cddl.html" } @@ -692,29 +909,34 @@ "license_detections": [ { "license_expression": "cddl-1.0", + "license_expression_spdx": "CDDL-1.0", "matches": [ { - "score": 16.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "manifests/maven/persistence-api-1.0.pom", "start_line": 17, "end_line": 19, + "matcher": "2-aho", + "score": 16.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "license-intro_72.RULE", "rule_relevance": 16, + "rule_identifier": "license-intro_72.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_72.RULE" }, { - "score": 82.35, + "license_expression": "cddl-1.0", + "spdx_license_expression": "CDDL-1.0", + "from_file": "manifests/maven/persistence-api-1.0.pom", "start_line": 18, "end_line": 20, + "matcher": "3-seq", + "score": 82.35, "matched_length": 14, "match_coverage": 82.35, - "matcher": "3-seq", - "license_expression": "cddl-1.0", - "rule_identifier": "cddl-1.0_32.RULE", "rule_relevance": 100, + "rule_identifier": "cddl-1.0_32.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_32.RULE" } ], @@ -824,17 +1046,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "manifests/npm-license-mapping/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "Apache-2.0" } @@ -843,17 +1068,20 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "manifests/npm-license-mapping/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "Apache 2.0" } @@ -986,17 +1214,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "manifests/npm-license-mapping/package.json", "start_line": 6, "end_line": 6, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_65.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" } ], @@ -1004,17 +1235,20 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "manifests/npm-license-mapping/package.json", "start_line": 20, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], @@ -1128,17 +1362,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "manifests/npm-license-string/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -1221,17 +1458,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "manifests/npm-license-string/package.json", "start_line": 4, "end_line": 4, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_30.RULE", "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" } ], @@ -1349,17 +1589,20 @@ "license_detections": [ { "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", + "from_file": "manifests/pypi/bluepyopt_setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-3.0", - "rule_identifier": "lgpl-3.0_29.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_29.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_29.RULE", "matched_text": "LGPLv3" } @@ -1368,17 +1611,20 @@ }, { "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", + "from_file": "manifests/pypi/bluepyopt_setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 10, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-3.0", - "rule_identifier": "pypi_gnu_lesser_general_public_license_v3.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_gnu_lesser_general_public_license_v3.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_lesser_general_public_license_v3.RULE", "matched_text": "- 'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)'" } @@ -1519,17 +1765,20 @@ "license_detections": [ { "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", + "from_file": "manifests/pypi/bluepyopt_setup.py", "start_line": 9, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 106, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0", - "rule_identifier": "lgpl-3.0_276.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_276.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_276.RULE" } ], @@ -1537,17 +1786,20 @@ }, { "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", + "from_file": "manifests/pypi/bluepyopt_setup.py", "start_line": 65, "end_line": 65, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0", - "rule_identifier": "lgpl-3.0_152.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_152.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_152.RULE" } ], @@ -1555,17 +1807,20 @@ }, { "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", + "from_file": "manifests/pypi/bluepyopt_setup.py", "start_line": 74, "end_line": 75, + "matcher": "2-aho", + "score": 100.0, "matched_length": 10, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0", - "rule_identifier": "pypi_gnu_lesser_general_public_license_v3.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_gnu_lesser_general_public_license_v3.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_lesser_general_public_license_v3.RULE" } ], diff --git a/tests/formattedcode/data/common/manifests-expected.jsonlines b/tests/formattedcode/data/common/manifests-expected.jsonlines index c62f0f24dc..82435d6639 100644 --- a/tests/formattedcode/data/common/manifests-expected.jsonlines +++ b/tests/formattedcode/data/common/manifests-expected.jsonlines @@ -20,11 +20,11 @@ "system_environment": { "operating_system": "linux", "cpu_architecture": "64", - "platform": "Linux-5.15.0-75-generic-x86_64-with-glibc2.29", - "platform_version": "#82~20.04.1-Ubuntu SMP Wed Jun 7 19:37:37 UTC 2023", - "python_version": "3.8.10 (default, May 26 2023, 14:05:08) \n[GCC 9.4.0]" + "platform": "Linux-5.15.0-89-generic-x86_64-with-glibc2.29", + "platform_version": "#99~20.04.1-Ubuntu SMP Thu Nov 2 15:16:47 UTC 2023", + "python_version": "3.8.10 (default, Nov 22 2023, 10:22:35) \n[GCC 9.4.0]" }, - "spdx_license_list_version": "3.21", + "spdx_license_list_version": "3.22", "files_count": 4 } } @@ -61,30 +61,35 @@ "license_detections": [ { "license_expression": "cddl-1.0", + "license_expression_spdx": "CDDL-1.0", "matches": [ { - "score": 100.0, + "license_expression": "cddl-1.0", + "spdx_license_expression": "CDDL-1.0", + "from_file": "manifests/maven/persistence-api-1.0.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 8, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cddl-1.0", - "rule_identifier": "cddl-1.0.RULE", "rule_relevance": 100, + "rule_identifier": "cddl-1.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0.RULE", "matched_text": "- name: Common Development and Distribution License (CDDL) v1.0" }, { - "score": 100.0, + "license_expression": "cddl-1.0", + "spdx_license_expression": "CDDL-1.0", + "from_file": "manifests/maven/persistence-api-1.0.pom", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cddl-1.0", - "rule_identifier": "cddl-1.0_4.RULE", "rule_relevance": 100, + "rule_identifier": "cddl-1.0_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_4.RULE", "matched_text": " url: http://www.sun.com/cddl/cddl.html" } @@ -152,17 +157,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "manifests/npm-license-mapping/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "Apache-2.0" } @@ -171,17 +179,20 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "manifests/npm-license-mapping/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "Apache 2.0" } @@ -245,17 +256,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "manifests/npm-license-string/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -503,52 +517,250 @@ { "identifier": "apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8", "license_expression": "apache-2.0", - "detection_count": 3 + "license_expression_spdx": "Apache-2.0", + "detection_count": 3, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "manifests/npm-license-mapping/package.json", + "start_line": 20, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" + } + ] }, { "identifier": "apache_2_0-ec759ae0-ea5a-f138-793e-388520e080c0", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "manifests/npm-license-mapping/package.json", + "start_line": 6, + "end_line": 6, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" + } + ] }, { "identifier": "cddl_1_0-c6dbef4d-659c-289f-5ee9-1ca0278edad6", "license_expression": "cddl-1.0", - "detection_count": 1 + "license_expression_spdx": "CDDL-1.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "manifests/maven/persistence-api-1.0.pom", + "start_line": 17, + "end_line": 19, + "matcher": "2-aho", + "score": 16.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 16, + "rule_identifier": "license-intro_72.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_72.RULE" + }, + { + "license_expression": "cddl-1.0", + "license_expression_spdx": "CDDL-1.0", + "from_file": "manifests/maven/persistence-api-1.0.pom", + "start_line": 18, + "end_line": 20, + "matcher": "3-seq", + "score": 82.35, + "matched_length": 14, + "match_coverage": 82.35, + "rule_relevance": 100, + "rule_identifier": "cddl-1.0_32.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_32.RULE" + } + ] }, { "identifier": "cddl_1_0-dd3dd7df-afca-6a5e-492c-f7b279fdd880", "license_expression": "cddl-1.0", - "detection_count": 1 + "license_expression_spdx": "CDDL-1.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "cddl-1.0", + "license_expression_spdx": "CDDL-1.0", + "from_file": "manifests/maven/persistence-api-1.0.pom", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 8, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "cddl-1.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0.RULE" + }, + { + "license_expression": "cddl-1.0", + "license_expression_spdx": "CDDL-1.0", + "from_file": "manifests/maven/persistence-api-1.0.pom", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 7, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "cddl-1.0_4.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_4.RULE" + } + ] }, { "identifier": "lgpl_3_0-272571eb-5e68-95b6-ddb0-71de2d8df321", "license_expression": "lgpl-3.0", - "detection_count": 2 + "license_expression_spdx": "LGPL-3.0-only", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", + "from_file": "manifests/pypi/bluepyopt_setup.py", + "start_line": 74, + "end_line": 75, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 10, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "pypi_gnu_lesser_general_public_license_v3.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_lesser_general_public_license_v3.RULE" + } + ] }, { "identifier": "lgpl_3_0-121be3c2-9c80-df84-d3da-8f674e4125c0", "license_expression": "lgpl-3.0", - "detection_count": 1 + "license_expression_spdx": "LGPL-3.0-only", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", + "from_file": "manifests/pypi/bluepyopt_setup.py", + "start_line": 9, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 106, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_276.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_276.RULE" + } + ] }, { "identifier": "lgpl_3_0-2db87bcf-56b4-9d7d-7075-2effae31c631", "license_expression": "lgpl-3.0", - "detection_count": 1 + "license_expression_spdx": "LGPL-3.0-only", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", + "from_file": "manifests/pypi/bluepyopt_setup.py", + "start_line": 65, + "end_line": 65, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_152.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_152.RULE" + } + ] }, { "identifier": "lgpl_3_0-38174920-e8ed-7bda-41ec-94df7380b7d5", "license_expression": "lgpl-3.0", - "detection_count": 1 + "license_expression_spdx": "LGPL-3.0-only", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", + "from_file": "manifests/pypi/bluepyopt_setup.py", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_29.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_29.RULE" + } + ] }, { "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "manifests/npm-license-string/package.json", + "start_line": 4, + "end_line": 4, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" + } + ] }, { "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "manifests/npm-license-string/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_url": null + } + ] } ] }, @@ -681,30 +893,35 @@ "license_detections": [ { "license_expression": "cddl-1.0", + "license_expression_spdx": "CDDL-1.0", "matches": [ { - "score": 100.0, + "license_expression": "cddl-1.0", + "spdx_license_expression": "CDDL-1.0", + "from_file": "manifests/maven/persistence-api-1.0.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 8, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cddl-1.0", - "rule_identifier": "cddl-1.0.RULE", "rule_relevance": 100, + "rule_identifier": "cddl-1.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0.RULE", "matched_text": "- name: Common Development and Distribution License (CDDL) v1.0" }, { - "score": 100.0, + "license_expression": "cddl-1.0", + "spdx_license_expression": "CDDL-1.0", + "from_file": "manifests/maven/persistence-api-1.0.pom", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cddl-1.0", - "rule_identifier": "cddl-1.0_4.RULE", "rule_relevance": 100, + "rule_identifier": "cddl-1.0_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_4.RULE", "matched_text": " url: http://www.sun.com/cddl/cddl.html" } @@ -738,29 +955,34 @@ "license_detections": [ { "license_expression": "cddl-1.0", + "license_expression_spdx": "CDDL-1.0", "matches": [ { - "score": 16.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "manifests/maven/persistence-api-1.0.pom", "start_line": 17, "end_line": 19, + "matcher": "2-aho", + "score": 16.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "license-intro_72.RULE", "rule_relevance": 16, + "rule_identifier": "license-intro_72.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_72.RULE" }, { - "score": 82.35, + "license_expression": "cddl-1.0", + "spdx_license_expression": "CDDL-1.0", + "from_file": "manifests/maven/persistence-api-1.0.pom", "start_line": 18, "end_line": 20, + "matcher": "3-seq", + "score": 82.35, "matched_length": 14, "match_coverage": 82.35, - "matcher": "3-seq", - "license_expression": "cddl-1.0", - "rule_identifier": "cddl-1.0_32.RULE", "rule_relevance": 100, + "rule_identifier": "cddl-1.0_32.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_32.RULE" } ], @@ -878,17 +1100,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "manifests/npm-license-mapping/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "Apache-2.0" } @@ -897,17 +1122,20 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "manifests/npm-license-mapping/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "Apache 2.0" } @@ -1040,17 +1268,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "manifests/npm-license-mapping/package.json", "start_line": 6, "end_line": 6, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_65.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" } ], @@ -1058,17 +1289,20 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "manifests/npm-license-mapping/package.json", "start_line": 20, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], @@ -1190,17 +1424,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "manifests/npm-license-string/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -1283,17 +1520,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "manifests/npm-license-string/package.json", "start_line": 4, "end_line": 4, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_30.RULE", "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" } ], @@ -1419,17 +1659,20 @@ "license_detections": [ { "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", + "from_file": "manifests/pypi/bluepyopt_setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-3.0", - "rule_identifier": "lgpl-3.0_29.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_29.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_29.RULE", "matched_text": "LGPLv3" } @@ -1438,17 +1681,20 @@ }, { "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", + "from_file": "manifests/pypi/bluepyopt_setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 10, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-3.0", - "rule_identifier": "pypi_gnu_lesser_general_public_license_v3.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_gnu_lesser_general_public_license_v3.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_lesser_general_public_license_v3.RULE", "matched_text": "- 'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)'" } @@ -1589,17 +1835,20 @@ "license_detections": [ { "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", + "from_file": "manifests/pypi/bluepyopt_setup.py", "start_line": 9, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 106, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0", - "rule_identifier": "lgpl-3.0_276.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_276.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_276.RULE" } ], @@ -1607,17 +1856,20 @@ }, { "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", + "from_file": "manifests/pypi/bluepyopt_setup.py", "start_line": 65, "end_line": 65, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0", - "rule_identifier": "lgpl-3.0_152.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_152.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_152.RULE" } ], @@ -1625,17 +1877,20 @@ }, { "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", + "from_file": "manifests/pypi/bluepyopt_setup.py", "start_line": 74, "end_line": 75, + "matcher": "2-aho", + "score": 100.0, "matched_length": 10, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0", - "rule_identifier": "pypi_gnu_lesser_general_public_license_v3.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_gnu_lesser_general_public_license_v3.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_lesser_general_public_license_v3.RULE" } ], diff --git a/tests/formattedcode/data/common/manifests-expected.yaml b/tests/formattedcode/data/common/manifests-expected.yaml index 67c870c605..cc393bef07 100644 --- a/tests/formattedcode/data/common/manifests-expected.yaml +++ b/tests/formattedcode/data/common/manifests-expected.yaml @@ -29,10 +29,10 @@ headers: system_environment: operating_system: linux cpu_architecture: 64 - platform: Linux-5.15.0-84-generic-x86_64-with-glibc2.29 - platform_version: '#93~20.04.1-Ubuntu SMP Wed Sep 6 16:15:40 UTC 2023' - python_version: "3.8.10 (default, May 26 2023, 14:05:08) \n[GCC 9.4.0]" - spdx_license_list_version: '3.21' + platform: Linux-5.15.0-89-generic-x86_64-with-glibc2.29 + platform_version: '#99~20.04.1-Ubuntu SMP Thu Nov 2 15:16:47 UTC 2023' + python_version: "3.8.10 (default, Nov 22 2023, 10:22:35) \n[GCC 9.4.0]" + spdx_license_list_version: '3.22' files_count: 4 summary: declared_license_expression: apache-2.0 AND cddl-1.0 AND mit @@ -92,27 +92,32 @@ packages: declared_license_expression_spdx: CDDL-1.0 license_detections: - license_expression: cddl-1.0 + license_expression_spdx: CDDL-1.0 matches: - - score: '100.0' + - license_expression: cddl-1.0 + spdx_license_expression: CDDL-1.0 + from_file: manifests/maven/persistence-api-1.0.pom start_line: 1 end_line: 1 + matcher: 2-aho + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 2-aho - license_expression: cddl-1.0 - rule_identifier: cddl-1.0.RULE rule_relevance: 100 + rule_identifier: cddl-1.0.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0.RULE matched_text: '- name: Common Development and Distribution License (CDDL) v1.0' - - score: '100.0' + - license_expression: cddl-1.0 + spdx_license_expression: CDDL-1.0 + from_file: manifests/maven/persistence-api-1.0.pom start_line: 2 end_line: 2 + matcher: 2-aho + score: '100.0' matched_length: 7 match_coverage: '100.0' - matcher: 2-aho - license_expression: cddl-1.0 - rule_identifier: cddl-1.0_4.RULE rule_relevance: 100 + rule_identifier: cddl-1.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_4.RULE matched_text: ' url: http://www.sun.com/cddl/cddl.html' identifier: cddl_1_0-dd3dd7df-afca-6a5e-492c-f7b279fdd880 @@ -168,30 +173,36 @@ packages: declared_license_expression_spdx: Apache-2.0 license_detections: - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: manifests/npm-license-mapping/package.json start_line: 1 end_line: 1 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: spdx_license_id_apache-2.0_for_apache-2.0.RULE rule_relevance: 100 + rule_identifier: spdx_license_id_apache-2.0_for_apache-2.0.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE matched_text: Apache-2.0 identifier: apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8 - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: manifests/npm-license-mapping/package.json start_line: 1 end_line: 1 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: spdx_license_id_apache-2.0_for_apache-2.0.RULE rule_relevance: 100 + rule_identifier: spdx_license_id_apache-2.0_for_apache-2.0.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE matched_text: Apache 2.0 identifier: apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8 @@ -246,16 +257,19 @@ packages: declared_license_expression_spdx: MIT license_detections: - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: manifests/npm-license-string/package.json start_line: 1 end_line: 1 + matcher: 1-spdx-id + score: '100.0' 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_identifier: spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06 rule_url: matched_text: MIT identifier: mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf @@ -460,34 +474,230 @@ dependencies: license_detections: - identifier: apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8 license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 detection_count: 3 + reference_matches: + - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 + from_file: manifests/npm-license-mapping/package.json + start_line: 20 + end_line: 20 + matcher: 2-aho + score: '100.0' + matched_length: 3 + match_coverage: '100.0' + rule_relevance: 100 + rule_identifier: spdx_license_id_apache-2.0_for_apache-2.0.RULE + rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE + matched_text: ' "type": "Apache 2.0",' - identifier: apache_2_0-ec759ae0-ea5a-f138-793e-388520e080c0 license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 detection_count: 1 + reference_matches: + - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 + from_file: manifests/npm-license-mapping/package.json + start_line: 6 + end_line: 6 + matcher: 2-aho + score: '100.0' + matched_length: 4 + match_coverage: '100.0' + rule_relevance: 100 + rule_identifier: apache-2.0_65.RULE + rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE + matched_text: ' "license": "Apache-2.0",' - identifier: cddl_1_0-c6dbef4d-659c-289f-5ee9-1ca0278edad6 license_expression: cddl-1.0 + license_expression_spdx: CDDL-1.0 detection_count: 1 + reference_matches: + - license_expression: unknown-license-reference + license_expression_spdx: LicenseRef-scancode-unknown-license-reference + from_file: manifests/maven/persistence-api-1.0.pom + start_line: 17 + end_line: '19' + matcher: 2-aho + score: '16.0' + matched_length: 3 + match_coverage: '100.0' + rule_relevance: 16 + rule_identifier: license-intro_72.RULE + rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_72.RULE + matched_text: | + + + Common Development and Distribution License (CDDL) v1.0 + - license_expression: cddl-1.0 + license_expression_spdx: CDDL-1.0 + from_file: manifests/maven/persistence-api-1.0.pom + start_line: 18 + end_line: 20 + matcher: 3-seq + score: '82.35' + matched_length: 14 + match_coverage: '82.35' + rule_relevance: 100 + rule_identifier: cddl-1.0_32.RULE + rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_32.RULE + matched_text: | + + Common Development and Distribution License (CDDL) v1.0 + http://www.sun.com/cddl/cddl.html - identifier: cddl_1_0-dd3dd7df-afca-6a5e-492c-f7b279fdd880 license_expression: cddl-1.0 + license_expression_spdx: CDDL-1.0 detection_count: 1 + reference_matches: + - license_expression: cddl-1.0 + license_expression_spdx: CDDL-1.0 + from_file: manifests/maven/persistence-api-1.0.pom + start_line: 1 + end_line: 1 + matcher: 2-aho + score: '100.0' + matched_length: 8 + match_coverage: '100.0' + rule_relevance: 100 + rule_identifier: cddl-1.0.RULE + rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0.RULE + matched_text: '- name: Common Development and Distribution License (CDDL) v1.0' + - license_expression: cddl-1.0 + license_expression_spdx: CDDL-1.0 + from_file: manifests/maven/persistence-api-1.0.pom + start_line: 2 + end_line: 2 + matcher: 2-aho + score: '100.0' + matched_length: 7 + match_coverage: '100.0' + rule_relevance: 100 + rule_identifier: cddl-1.0_4.RULE + rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_4.RULE + matched_text: ' url: http://www.sun.com/cddl/cddl.html' - identifier: lgpl_3_0-272571eb-5e68-95b6-ddb0-71de2d8df321 license_expression: lgpl-3.0 + license_expression_spdx: LGPL-3.0-only detection_count: 2 + reference_matches: + - license_expression: lgpl-3.0 + license_expression_spdx: LGPL-3.0-only + from_file: manifests/pypi/bluepyopt_setup.py + start_line: 74 + end_line: 75 + matcher: 2-aho + score: '100.0' + matched_length: 10 + match_coverage: '100.0' + rule_relevance: 100 + rule_identifier: pypi_gnu_lesser_general_public_license_v3.RULE + rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_lesser_general_public_license_v3.RULE + matched_text: | + 'License :: OSI Approved :: GNU Lesser General Public ' + 'License v3 (LGPLv3)', - identifier: lgpl_3_0-121be3c2-9c80-df84-d3da-8f674e4125c0 license_expression: lgpl-3.0 + license_expression_spdx: LGPL-3.0-only detection_count: 1 + reference_matches: + - license_expression: lgpl-3.0 + license_expression_spdx: LGPL-3.0-only + from_file: manifests/pypi/bluepyopt_setup.py + start_line: 9 + end_line: 20 + matcher: 2-aho + score: '100.0' + matched_length: 106 + match_coverage: '100.0' + rule_relevance: 100 + rule_identifier: lgpl-3.0_276.RULE + rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_276.RULE + matched_text: | + This library is free software; you can redistribute it and/or modify it under + the terms of the GNU Lesser General Public License version 3.0 as published + by the Free Software Foundation. + + This library 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 Lesser General Public License for more + details. + + You should have received a copy of the GNU Lesser General Public License + along with this library; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - identifier: lgpl_3_0-2db87bcf-56b4-9d7d-7075-2effae31c631 license_expression: lgpl-3.0 + license_expression_spdx: LGPL-3.0-only detection_count: 1 + reference_matches: + - license_expression: lgpl-3.0 + license_expression_spdx: LGPL-3.0-only + from_file: manifests/pypi/bluepyopt_setup.py + start_line: 65 + end_line: 65 + matcher: 2-aho + score: '100.0' + matched_length: 2 + match_coverage: '100.0' + rule_relevance: 100 + rule_identifier: lgpl-3.0_152.RULE + rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_152.RULE + matched_text: ' license="LGPLv3",' - identifier: lgpl_3_0-38174920-e8ed-7bda-41ec-94df7380b7d5 license_expression: lgpl-3.0 + license_expression_spdx: LGPL-3.0-only detection_count: 1 + reference_matches: + - license_expression: lgpl-3.0 + license_expression_spdx: LGPL-3.0-only + from_file: manifests/pypi/bluepyopt_setup.py + start_line: 1 + end_line: 1 + matcher: 1-hash + score: '100.0' + matched_length: 1 + match_coverage: '100.0' + rule_relevance: 100 + rule_identifier: lgpl-3.0_29.RULE + rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_29.RULE + matched_text: LGPLv3 - identifier: mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee license_expression: mit + license_expression_spdx: MIT detection_count: 1 + reference_matches: + - license_expression: mit + license_expression_spdx: MIT + from_file: manifests/npm-license-string/package.json + start_line: 4 + end_line: 4 + matcher: 2-aho + score: '100.0' + matched_length: 2 + match_coverage: '100.0' + rule_relevance: 100 + rule_identifier: mit_30.RULE + rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE + matched_text: ' "license": "MIT",' - identifier: mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf license_expression: mit + license_expression_spdx: MIT detection_count: 1 + reference_matches: + - license_expression: mit + license_expression_spdx: MIT + from_file: manifests/npm-license-string/package.json + start_line: 1 + end_line: 1 + matcher: 1-spdx-id + score: '100.0' + matched_length: 1 + match_coverage: '100.0' + rule_relevance: 100 + rule_identifier: spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06 + rule_url: + matched_text: MIT license_references: - key: apache-2.0 language: en @@ -1542,27 +1752,32 @@ files: declared_license_expression_spdx: CDDL-1.0 license_detections: - license_expression: cddl-1.0 + license_expression_spdx: CDDL-1.0 matches: - - score: '100.0' + - license_expression: cddl-1.0 + spdx_license_expression: CDDL-1.0 + from_file: manifests/maven/persistence-api-1.0.pom start_line: 1 end_line: 1 + matcher: 2-aho + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 2-aho - license_expression: cddl-1.0 - rule_identifier: cddl-1.0.RULE rule_relevance: 100 + rule_identifier: cddl-1.0.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0.RULE matched_text: '- name: Common Development and Distribution License (CDDL) v1.0' - - score: '100.0' + - license_expression: cddl-1.0 + spdx_license_expression: CDDL-1.0 + from_file: manifests/maven/persistence-api-1.0.pom start_line: 2 end_line: 2 + matcher: 2-aho + score: '100.0' matched_length: 7 match_coverage: '100.0' - matcher: 2-aho - license_expression: cddl-1.0 - rule_identifier: cddl-1.0_4.RULE rule_relevance: 100 + rule_identifier: cddl-1.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_4.RULE matched_text: ' url: http://www.sun.com/cddl/cddl.html' identifier: cddl_1_0-dd3dd7df-afca-6a5e-492c-f7b279fdd880 @@ -1594,30 +1809,35 @@ files: detected_license_expression_spdx: CDDL-1.0 license_detections: - license_expression: cddl-1.0 + license_expression_spdx: CDDL-1.0 matches: - - score: '16.0' + - license_expression: unknown-license-reference + spdx_license_expression: LicenseRef-scancode-unknown-license-reference + from_file: manifests/maven/persistence-api-1.0.pom start_line: 17 end_line: '19' + matcher: 2-aho + score: '16.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: unknown-license-reference - rule_identifier: license-intro_72.RULE rule_relevance: 16 + rule_identifier: license-intro_72.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_72.RULE matched_text: | Common Development and Distribution License (CDDL) v1.0 - - score: '82.35' + - license_expression: cddl-1.0 + spdx_license_expression: CDDL-1.0 + from_file: manifests/maven/persistence-api-1.0.pom start_line: 18 end_line: 20 + matcher: 3-seq + score: '82.35' matched_length: 14 match_coverage: '82.35' - matcher: 3-seq - license_expression: cddl-1.0 - rule_identifier: cddl-1.0_32.RULE rule_relevance: 100 + rule_identifier: cddl-1.0_32.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_32.RULE matched_text: | @@ -1732,30 +1952,36 @@ files: declared_license_expression_spdx: Apache-2.0 license_detections: - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: manifests/npm-license-mapping/package.json start_line: 1 end_line: 1 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: spdx_license_id_apache-2.0_for_apache-2.0.RULE rule_relevance: 100 + rule_identifier: spdx_license_id_apache-2.0_for_apache-2.0.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE matched_text: Apache-2.0 identifier: apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8 - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: manifests/npm-license-mapping/package.json start_line: 1 end_line: 1 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: spdx_license_id_apache-2.0_for_apache-2.0.RULE rule_relevance: 100 + rule_identifier: spdx_license_id_apache-2.0_for_apache-2.0.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE matched_text: Apache 2.0 identifier: apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8 @@ -1867,30 +2093,36 @@ files: detected_license_expression_spdx: Apache-2.0 license_detections: - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: manifests/npm-license-mapping/package.json start_line: 6 end_line: 6 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: apache-2.0 - rule_identifier: apache-2.0_65.RULE rule_relevance: 100 + rule_identifier: apache-2.0_65.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE matched_text: ' "license": "Apache-2.0",' identifier: apache_2_0-ec759ae0-ea5a-f138-793e-388520e080c0 - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: manifests/npm-license-mapping/package.json start_line: 20 end_line: 20 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: apache-2.0 - rule_identifier: spdx_license_id_apache-2.0_for_apache-2.0.RULE rule_relevance: 100 + rule_identifier: spdx_license_id_apache-2.0_for_apache-2.0.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE matched_text: ' "type": "Apache 2.0",' identifier: apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8 @@ -2013,16 +2245,19 @@ files: declared_license_expression_spdx: MIT license_detections: - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: manifests/npm-license-string/package.json start_line: 1 end_line: 1 + matcher: 1-spdx-id + score: '100.0' 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_identifier: spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06 rule_url: matched_text: MIT identifier: mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf @@ -2092,16 +2327,19 @@ files: detected_license_expression_spdx: MIT license_detections: - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: manifests/npm-license-string/package.json start_line: 4 end_line: 4 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_30.RULE rule_relevance: 100 + rule_identifier: mit_30.RULE 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 @@ -2230,30 +2468,36 @@ files: declared_license_expression_spdx: LGPL-3.0-only license_detections: - license_expression: lgpl-3.0 + license_expression_spdx: LGPL-3.0-only matches: - - score: '100.0' + - license_expression: lgpl-3.0 + spdx_license_expression: LGPL-3.0-only + from_file: manifests/pypi/bluepyopt_setup.py start_line: 1 end_line: 1 + matcher: 1-hash + score: '100.0' matched_length: 1 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0 - rule_identifier: lgpl-3.0_29.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0_29.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_29.RULE matched_text: LGPLv3 identifier: lgpl_3_0-38174920-e8ed-7bda-41ec-94df7380b7d5 - license_expression: lgpl-3.0 + license_expression_spdx: LGPL-3.0-only matches: - - score: '100.0' + - license_expression: lgpl-3.0 + spdx_license_expression: LGPL-3.0-only + from_file: manifests/pypi/bluepyopt_setup.py start_line: 1 end_line: 1 + matcher: 1-hash + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0 - rule_identifier: pypi_gnu_lesser_general_public_license_v3.RULE rule_relevance: 100 + rule_identifier: pypi_gnu_lesser_general_public_license_v3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_lesser_general_public_license_v3.RULE matched_text: '- ''License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)''' @@ -2373,16 +2617,19 @@ files: detected_license_expression_spdx: LGPL-3.0-only license_detections: - license_expression: lgpl-3.0 + license_expression_spdx: LGPL-3.0-only matches: - - score: '100.0' + - license_expression: lgpl-3.0 + spdx_license_expression: LGPL-3.0-only + from_file: manifests/pypi/bluepyopt_setup.py start_line: 9 end_line: 20 + matcher: 2-aho + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0 - rule_identifier: lgpl-3.0_276.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0_276.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_276.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under @@ -2399,30 +2646,36 @@ files: 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. identifier: lgpl_3_0-121be3c2-9c80-df84-d3da-8f674e4125c0 - license_expression: lgpl-3.0 + license_expression_spdx: LGPL-3.0-only matches: - - score: '100.0' + - license_expression: lgpl-3.0 + spdx_license_expression: LGPL-3.0-only + from_file: manifests/pypi/bluepyopt_setup.py start_line: 65 end_line: 65 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0 - rule_identifier: lgpl-3.0_152.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0_152.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_152.RULE matched_text: ' license="LGPLv3",' identifier: lgpl_3_0-2db87bcf-56b4-9d7d-7075-2effae31c631 - license_expression: lgpl-3.0 + license_expression_spdx: LGPL-3.0-only matches: - - score: '100.0' + - license_expression: lgpl-3.0 + spdx_license_expression: LGPL-3.0-only + from_file: manifests/pypi/bluepyopt_setup.py start_line: 74 end_line: 75 + matcher: 2-aho + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0 - rule_identifier: pypi_gnu_lesser_general_public_license_v3.RULE rule_relevance: 100 + rule_identifier: pypi_gnu_lesser_general_public_license_v3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_lesser_general_public_license_v3.RULE matched_text: | 'License :: OSI Approved :: GNU Lesser General Public ' diff --git a/tests/formattedcode/data/csv/livescan/expected.csv b/tests/formattedcode/data/csv/livescan/expected.csv index 0820ff9c80..ed2b6939ce 100644 --- a/tests/formattedcode/data/csv/livescan/expected.csv +++ b/tests/formattedcode/data/csv/livescan/expected.csv @@ -1,20 +1,20 @@ -path,type,name,base_name,extension,size,date,sha1,md5,sha256,mime_type,file_type,programming_language,is_binary,is_text,is_archive,is_media,is_source,is_script,detected_license_expression,detected_license_expression_spdx,percentage_of_license_text,files_count,dirs_count,size_count,scan_errors,license_expression,detection_log,license_match__score,start_line,end_line,license_match__matched_length,license_match__match_coverage,license_match__matcher,license_match__license_expression,license_match__rule_identifier,license_match__rule_relevance,license_match__rule_url,copyright,holder,author,email,url,package__type,package__namespace,package__name,package__version,package__qualifiers,package__subpath,package__primary_language,package__description,package__release_date,package__homepage_url,package__download_url,package__size,package__sha1,package__md5,package__sha256,package__sha512,package__bug_tracking_url,package__code_view_url,package__vcs_url,package__copyright,package__holder,package__declared_license_expression,package__declared_license_expression_spdx,package__license_detections,package__other_license_expression,package__other_license_expression_spdx,package__other_license_detections,package__extracted_license_statement,package__notice_text,package__file_references,package__extra_data,package__repository_homepage_url,package__repository_download_url,package__api_data_url,package__datasource_id,package__purl -json2csv.rb,file,json2csv.rb,json2csv,.rb,912,2021-11-27,1236469a06a2bacbdd8e172ad718482af5b0a936,1307c281e0b153202e291b217eab85d5,12ba215313981dbe810d9ed696b7cc753d97adfcc26eba1e13f941dc7506aa4e,text/x-script.python,"Python script, ASCII text executable",Ruby,False,True,False,False,True,True,apache-2.0,Apache-2.0,62.04,0,0,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,apache-2.0,,100.00,5,13,85,100.00,2-aho,apache-2.0,apache-2.0_7.RULE,100.00,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_7.RULE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,3,,,,,,,,Copyright (c) 2017 nexB Inc. and others,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,3,,,,,,,,,nexB Inc. and others,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,4,,,,,,,,,,,,http://nexb.com/,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,4,,,,,,,,,,,,https://github.com/nexB/scancode-toolkit/,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,8,,,,,,,,,,,,http://www.apache.org/licenses/LICENSE-2.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -license,file,license,license,,679,2021-11-27,75c5490a718ddd45e40e0cc7ce0c756abc373123,b965a762efb9421cf1bf4405f336e278,a34098a43e5677495f59dff825a3f9bc0f2b0261d75feb2356919f4c3ce049ab,text/plain,ASCII text,,False,True,False,False,False,False,gpl-2.0-plus,GPL-2.0-or-later,100.0,0,0,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -license,,,,,,,,,,,,,,,,,,,,,,,,,,gpl-2.0-plus,,100.00,1,12,113,100.00,1-hash,gpl-2.0-plus,gpl-2.0-plus_420.RULE,100.00,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_420.RULE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,file,package.json,package,.json,2200,2021-11-27,918376afce796ef90eeda1d6695f2289c90491ac,1f66239a9b850c5e60a9382dbe2162d2,29f6068a1b6c7d06f115a5edc4ed8558edde42c6bbf0145ed77cf1108a0dd529,application/json,JSON data,,False,True,False,False,False,False,mit,MIT,45.72,0,0,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,,,mit,,100.00,24,24,3,100.00,2-aho,mit,mit_27.RULE,100.00,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_27.RULE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,,,mit,,84.68,24,24,136,85.53,3-seq,mit,mit_823.RULE,99.00,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_823.RULE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,24,24,,,,,,,,Copyright (c) 2012 LearnBoost ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,24,24,,,,,,,,,LearnBoost,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10,10,,,,,,,,,,TJ Holowaychuk,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,12,12,,,,,,,,,,,tj@learnboost.com,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,16,16,,,,,,,,,,,,https://github.com/visionmedia/node-cookie-signature.git,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,27,27,,,,,,,,,,,,https://github.com/visionmedia/node-cookie-signature/issues,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,npm,,cookie-signature,v 1.0.3,,,JavaScript,Sign and unsign cookies,,,https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz,,,,,,https://github.com/visionmedia/node-cookie-signature/issues,,git+https://github.com/visionmedia/node-cookie-signature.git,,,mit,MIT,"[{'license_expression': 'mit', 'matches': [{'score': 100.0, 'start_line': 24, 'end_line': 24, 'matched_length': 3, 'match_coverage': 100.0, 'matcher': '2-aho', 'license_expression': 'mit', 'rule_identifier': 'mit_27.RULE', 'rule_relevance': 100, 'rule_url': 'https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_27.RULE'}, {'score': 84.68, 'start_line': 24, 'end_line': 24, 'matched_length': 136, 'match_coverage': 85.53, 'matcher': '3-seq', 'license_expression': 'mit', 'rule_identifier': 'mit_823.RULE', 'rule_relevance': 99, 'rule_url': 'https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_823.RULE'}], 'identifier': 'mit-13195f55-8383-ff05-7a20-04ec94bbf4b1'}]",,,,,,,,https://www.npmjs.com/package/cookie-signature,https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz,https://registry.npmjs.org/cookie-signature/1.0.3,npm_package_json,pkg:npm/cookie-signature@1.0.3 +path,type,name,base_name,extension,size,date,sha1,md5,sha256,mime_type,file_type,programming_language,is_binary,is_text,is_archive,is_media,is_source,is_script,detected_license_expression,detected_license_expression_spdx,percentage_of_license_text,files_count,dirs_count,size_count,scan_errors,license_expression,detection_log,license_match__license_expression,license_match__spdx_license_expression,license_match__from_file,start_line,end_line,license_match__matcher,license_match__score,license_match__matched_length,license_match__match_coverage,license_match__rule_relevance,license_match__rule_identifier,license_match__rule_url,copyright,holder,author,email,url,package__type,package__namespace,package__name,package__version,package__qualifiers,package__subpath,package__primary_language,package__description,package__release_date,package__homepage_url,package__download_url,package__size,package__sha1,package__md5,package__sha256,package__sha512,package__bug_tracking_url,package__code_view_url,package__vcs_url,package__copyright,package__holder,package__declared_license_expression,package__declared_license_expression_spdx,package__license_detections,package__other_license_expression,package__other_license_expression_spdx,package__other_license_detections,package__extracted_license_statement,package__notice_text,package__file_references,package__extra_data,package__repository_homepage_url,package__repository_download_url,package__api_data_url,package__datasource_id,package__purl +json2csv.rb,file,json2csv.rb,json2csv,.rb,912,2022-04-20,1236469a06a2bacbdd8e172ad718482af5b0a936,1307c281e0b153202e291b217eab85d5,12ba215313981dbe810d9ed696b7cc753d97adfcc26eba1e13f941dc7506aa4e,text/x-script.python,"Python script, ASCII text executable",Ruby,False,True,False,False,True,True,apache-2.0,Apache-2.0,62.04,0,0,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,apache-2.0,,apache-2.0,Apache-2.0,scan/json2csv.rb,5,13,2-aho,100.00,85,100.00,100.00,apache-2.0_7.RULE,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_7.RULE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,3,,,,,,,,Copyright (c) 2017 nexB Inc. and others,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,3,,,,,,,,,nexB Inc. and others,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,4,,,,,,,,,,,,http://nexb.com/,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,4,,,,,,,,,,,,https://github.com/nexB/scancode-toolkit/,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +json2csv.rb,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,8,,,,,,,,,,,,http://www.apache.org/licenses/LICENSE-2.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +license,file,license,license,,679,2022-04-20,75c5490a718ddd45e40e0cc7ce0c756abc373123,b965a762efb9421cf1bf4405f336e278,a34098a43e5677495f59dff825a3f9bc0f2b0261d75feb2356919f4c3ce049ab,text/plain,ASCII text,,False,True,False,False,False,False,gpl-2.0-plus,GPL-2.0-or-later,100.0,0,0,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +license,,,,,,,,,,,,,,,,,,,,,,,,,,gpl-2.0-plus,,gpl-2.0-plus,GPL-2.0-or-later,scan/license,1,12,1-hash,100.00,113,100.00,100.00,gpl-2.0-plus_420.RULE,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_420.RULE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,file,package.json,package,.json,2200,2022-04-20,918376afce796ef90eeda1d6695f2289c90491ac,1f66239a9b850c5e60a9382dbe2162d2,29f6068a1b6c7d06f115a5edc4ed8558edde42c6bbf0145ed77cf1108a0dd529,application/json,JSON data,,False,True,False,False,False,False,mit,MIT,45.72,0,0,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,,,mit,,mit,MIT,scan/package.json,24,24,2-aho,100.00,3,100.00,100.00,mit_27.RULE,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_27.RULE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,,,mit,,mit,MIT,scan/package.json,24,24,3-seq,84.68,136,85.53,99.00,mit_823.RULE,https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_823.RULE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,24,24,,,,,,,,Copyright (c) 2012 LearnBoost ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,24,24,,,,,,,,,LearnBoost,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10,10,,,,,,,,,,TJ Holowaychuk,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,12,12,,,,,,,,,,,tj@learnboost.com,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,16,16,,,,,,,,,,,,https://github.com/visionmedia/node-cookie-signature.git,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,27,27,,,,,,,,,,,,https://github.com/visionmedia/node-cookie-signature/issues,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package.json,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,npm,,cookie-signature,v 1.0.3,,,JavaScript,Sign and unsign cookies,,,https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz,,,,,,https://github.com/visionmedia/node-cookie-signature/issues,,git+https://github.com/visionmedia/node-cookie-signature.git,,,mit,MIT,"[{'license_expression': 'mit', 'license_expression_spdx': 'MIT', 'matches': [{'license_expression': 'mit', 'spdx_license_expression': 'MIT', 'from_file': 'scan/package.json', 'start_line': 24, 'end_line': 24, 'matcher': '2-aho', 'score': 100.0, 'matched_length': 3, 'match_coverage': 100.0, 'rule_relevance': 100, 'rule_identifier': 'mit_27.RULE', 'rule_url': 'https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_27.RULE'}, {'license_expression': 'mit', 'spdx_license_expression': 'MIT', 'from_file': 'scan/package.json', 'start_line': 24, 'end_line': 24, 'matcher': '3-seq', 'score': 84.68, 'matched_length': 136, 'match_coverage': 85.53, 'rule_relevance': 99, 'rule_identifier': 'mit_823.RULE', 'rule_url': 'https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_823.RULE'}], 'identifier': 'mit-13195f55-8383-ff05-7a20-04ec94bbf4b1'}]",,,,,,,,https://www.npmjs.com/package/cookie-signature,https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz,https://registry.npmjs.org/cookie-signature/1.0.3,npm_package_json,pkg:npm/cookie-signature@1.0.3 diff --git a/tests/formattedcode/data/csv/packages/expected-no-root.csv b/tests/formattedcode/data/csv/packages/expected-no-root.csv index 731aab8579..2e4db847a2 100644 --- a/tests/formattedcode/data/csv/packages/expected-no-root.csv +++ b/tests/formattedcode/data/csv/packages/expected-no-root.csv @@ -1,4 +1,4 @@ path,type,scan_errors,package__type,package__namespace,package__name,package__version,package__qualifiers,package__subpath,package__primary_language,package__description,package__release_date,package__homepage_url,package__download_url,package__size,package__sha1,package__md5,package__sha256,package__sha512,package__bug_tracking_url,package__code_view_url,package__vcs_url,package__copyright,package__holder,package__declared_license_expression,package__declared_license_expression_spdx,package__license_detections,package__other_license_expression,package__other_license_expression_spdx,package__other_license_detections,package__extracted_license_statement,package__notice_text,package__file_references,package__extra_data,package__repository_homepage_url,package__repository_download_url,package__api_data_url,package__datasource_id,package__purl package.json,file,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -package.json,,,npm,,npm,v 2.13.5,,,JavaScript,a package manager for JavaScript,,https://docs.npmjs.com/,https://registry.npmjs.org/npm/-/npm-2.13.5.tgz,,a124386bce4a90506f28ad4b1d1a804a17baaf32,,,,http://github.com/npm/npm/issues,,git+https://github.com/npm/npm.git@fc7bbf03e39cc48a8924b90696d28345a6a90f3c,,,artistic-2.0,Artistic-2.0,"[{'license_expression': 'artistic-2.0', 'matches': [{'score': 50.0, 'start_line': 1, 'end_line': 1, 'matched_length': 3, 'match_coverage': 100.0, 'matcher': '1-hash', 'license_expression': 'artistic-2.0', 'rule_identifier': 'spdx_license_id_artistic-2.0_for_artistic-2.0.RULE', 'rule_relevance': 50, 'rule_url': 'https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_artistic-2.0_for_artistic-2.0.RULE', 'matched_text': 'Artistic-2.0'}], 'identifier': 'artistic_2_0-2ca48deb-7b37-fc93-edd9-b349ad073774'}]",,,,"- Artistic-2.0 +package.json,,,npm,,npm,v 2.13.5,,,JavaScript,a package manager for JavaScript,,https://docs.npmjs.com/,https://registry.npmjs.org/npm/-/npm-2.13.5.tgz,,a124386bce4a90506f28ad4b1d1a804a17baaf32,,,,http://github.com/npm/npm/issues,,git+https://github.com/npm/npm.git@fc7bbf03e39cc48a8924b90696d28345a6a90f3c,,,artistic-2.0,Artistic-2.0,"[{'license_expression': 'artistic-2.0', 'license_expression_spdx': 'Artistic-2.0', 'matches': [{'license_expression': 'artistic-2.0', 'spdx_license_expression': 'Artistic-2.0', 'from_file': 'scan/package.json', 'start_line': 1, 'end_line': 1, 'matcher': '1-hash', 'score': 50.0, 'matched_length': 3, 'match_coverage': 100.0, 'rule_relevance': 50, 'rule_identifier': 'spdx_license_id_artistic-2.0_for_artistic-2.0.RULE', 'rule_url': 'https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_artistic-2.0_for_artistic-2.0.RULE', 'matched_text': 'Artistic-2.0'}], 'identifier': 'artistic_2_0-2ca48deb-7b37-fc93-edd9-b349ad073774'}]",,,,"- Artistic-2.0 ",,,,https://www.npmjs.com/package/npm,https://registry.npmjs.org/npm/-/npm-2.13.5.tgz,https://registry.npmjs.org/npm/2.13.5,npm_package_json,pkg:npm/npm@2.13.5 diff --git a/tests/formattedcode/data/csv/packages/expected.csv b/tests/formattedcode/data/csv/packages/expected.csv index 954cba6712..4ecb6b8c16 100644 --- a/tests/formattedcode/data/csv/packages/expected.csv +++ b/tests/formattedcode/data/csv/packages/expected.csv @@ -1,5 +1,5 @@ path,type,scan_errors,package__type,package__namespace,package__name,package__version,package__qualifiers,package__subpath,package__primary_language,package__description,package__release_date,package__homepage_url,package__download_url,package__size,package__sha1,package__md5,package__sha256,package__sha512,package__bug_tracking_url,package__code_view_url,package__vcs_url,package__copyright,package__holder,package__declared_license_expression,package__declared_license_expression_spdx,package__license_detections,package__other_license_expression,package__other_license_expression_spdx,package__other_license_detections,package__extracted_license_statement,package__notice_text,package__file_references,package__extra_data,package__repository_homepage_url,package__repository_download_url,package__api_data_url,package__datasource_id,package__purl scan/,directory,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, scan/package.json,file,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -scan/package.json,,,npm,,npm,v 2.13.5,,,JavaScript,a package manager for JavaScript,,https://docs.npmjs.com/,https://registry.npmjs.org/npm/-/npm-2.13.5.tgz,,a124386bce4a90506f28ad4b1d1a804a17baaf32,,,,http://github.com/npm/npm/issues,,git+https://github.com/npm/npm.git@fc7bbf03e39cc48a8924b90696d28345a6a90f3c,,,artistic-2.0,Artistic-2.0,"[{'license_expression': 'artistic-2.0', 'matches': [{'score': 50.0, 'start_line': 1, 'end_line': 1, 'matched_length': 3, 'match_coverage': 100.0, 'matcher': '1-hash', 'license_expression': 'artistic-2.0', 'rule_identifier': 'spdx_license_id_artistic-2.0_for_artistic-2.0.RULE', 'rule_relevance': 50, 'rule_url': 'https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_artistic-2.0_for_artistic-2.0.RULE', 'matched_text': 'Artistic-2.0'}], 'identifier': 'artistic_2_0-2ca48deb-7b37-fc93-edd9-b349ad073774'}]",,,,"- Artistic-2.0 +scan/package.json,,,npm,,npm,v 2.13.5,,,JavaScript,a package manager for JavaScript,,https://docs.npmjs.com/,https://registry.npmjs.org/npm/-/npm-2.13.5.tgz,,a124386bce4a90506f28ad4b1d1a804a17baaf32,,,,http://github.com/npm/npm/issues,,git+https://github.com/npm/npm.git@fc7bbf03e39cc48a8924b90696d28345a6a90f3c,,,artistic-2.0,Artistic-2.0,"[{'license_expression': 'artistic-2.0', 'license_expression_spdx': 'Artistic-2.0', 'matches': [{'license_expression': 'artistic-2.0', 'spdx_license_expression': 'Artistic-2.0', 'from_file': 'scan/package.json', 'start_line': 1, 'end_line': 1, 'matcher': '1-hash', 'score': 50.0, 'matched_length': 3, 'match_coverage': 100.0, 'rule_relevance': 50, 'rule_identifier': 'spdx_license_id_artistic-2.0_for_artistic-2.0.RULE', 'rule_url': 'https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_artistic-2.0_for_artistic-2.0.RULE', 'matched_text': 'Artistic-2.0'}], 'identifier': 'artistic_2_0-2ca48deb-7b37-fc93-edd9-b349ad073774'}]",,,,"- Artistic-2.0 ",,,,https://www.npmjs.com/package/npm,https://registry.npmjs.org/npm/-/npm-2.13.5.tgz,https://registry.npmjs.org/npm/2.13.5,npm_package_json,pkg:npm/npm@2.13.5 diff --git a/tests/formattedcode/data/yaml/package-and-licenses-expected.yaml b/tests/formattedcode/data/yaml/package-and-licenses-expected.yaml index 201578ccbc..fbade404bd 100644 --- a/tests/formattedcode/data/yaml/package-and-licenses-expected.yaml +++ b/tests/formattedcode/data/yaml/package-and-licenses-expected.yaml @@ -29,10 +29,10 @@ headers: system_environment: operating_system: linux cpu_architecture: 64 - platform: Linux-5.15.0-84-generic-x86_64-with-glibc2.29 - platform_version: '#93~20.04.1-Ubuntu SMP Wed Sep 6 16:15:40 UTC 2023' - python_version: "3.8.10 (default, May 26 2023, 14:05:08) \n[GCC 9.4.0]" - spdx_license_list_version: '3.21' + platform: Linux-5.15.0-89-generic-x86_64-with-glibc2.29 + platform_version: '#99~20.04.1-Ubuntu SMP Thu Nov 2 15:16:47 UTC 2023' + python_version: "3.8.10 (default, Nov 22 2023, 10:22:35) \n[GCC 9.4.0]" + spdx_license_list_version: '3.22' files_count: 4 summary: declared_license_expression: apache-2.0 @@ -88,16 +88,19 @@ packages: declared_license_expression_spdx: Apache-2.0 license_detections: - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: package-and-licenses/setup.cfg start_line: 1 end_line: 1 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: spdx_license_id_apache-2.0_for_apache-2.0.RULE rule_relevance: 100 + rule_identifier: spdx_license_id_apache-2.0_for_apache-2.0.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE matched_text: Apache-2.0 identifier: apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8 @@ -121,19 +124,263 @@ dependencies: [] license_detections: - identifier: apache_2_0-ab23f79b-ec38-9a8a-9b23-85059407f34d license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 detection_count: 1 + reference_matches: + - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 + from_file: package-and-licenses/apache-2.0.LICENSE + start_line: 2 + end_line: 202 + matcher: 1-hash + score: '100.0' + matched_length: 1584 + match_coverage: '100.0' + rule_relevance: 100 + rule_identifier: apache-2.0.LICENSE + rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE + matched_text: " Apache License\n \ + \ Version 2.0, January 2004\n http://www.apache.org/licenses/\n\ + \ \n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n \n 1. Definitions.\n\ + \ \n \"License\" shall mean the terms and conditions for use, reproduction,\n\ + \ and distribution as defined by Sections 1 through 9 of this document.\n \n\ + \ \"Licensor\" shall mean the copyright owner or entity authorized by\n \ + \ the copyright owner that is granting the License.\n \n \"Legal Entity\" shall\ + \ mean the union of the acting entity and all\n other entities that control,\ + \ are controlled by, or are under common\n control with that entity. For the\ + \ purposes of this definition,\n \"control\" means (i) the power, direct or indirect,\ + \ to cause the\n direction or management of such entity, whether by contract\ + \ or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n \ + \ outstanding shares, or (iii) beneficial ownership of such entity.\n \n \ + \ \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising\ + \ permissions granted by this License.\n \n \"Source\" form shall mean the preferred\ + \ form for making modifications,\n including but not limited to software source\ + \ code, documentation\n source, and configuration files.\n \n \"Object\"\ + \ form shall mean any form resulting from mechanical\n transformation or translation\ + \ of a Source form, including but\n not limited to compiled object code, generated\ + \ documentation,\n and conversions to other media types.\n \n \"Work\" shall\ + \ mean the work of authorship, whether in Source or\n Object form, made available\ + \ under the License, as indicated by a\n copyright notice that is included in\ + \ or attached to the work\n (an example is provided in the Appendix below).\n\ + \ \n \"Derivative Works\" shall mean any work, whether in Source or Object\n\ + \ form, that is based on (or derived from) the Work and for which the\n \ + \ editorial revisions, annotations, elaborations, or other modifications\n represent,\ + \ as a whole, an original work of authorship. For the purposes\n of this License,\ + \ Derivative Works shall not include works that remain\n separable from, or merely\ + \ link (or bind by name) to the interfaces of,\n the Work and Derivative Works\ + \ thereof.\n \n \"Contribution\" shall mean any work of authorship, including\n\ + \ the original version of the Work and any modifications or additions\n \ + \ to that Work or Derivative Works thereof, that is intentionally\n submitted\ + \ to Licensor for inclusion in the Work by the copyright owner\n or by an individual\ + \ or Legal Entity authorized to submit on behalf of\n the copyright owner. For\ + \ the purposes of this definition, \"submitted\"\n means any form of electronic,\ + \ verbal, or written communication sent\n to the Licensor or its representatives,\ + \ including but not limited to\n communication on electronic mailing lists, source\ + \ code control systems,\n and issue tracking systems that are managed by, or\ + \ on behalf of, the\n Licensor for the purpose of discussing and improving the\ + \ Work, but\n excluding communication that is conspicuously marked or otherwise\n\ + \ designated in writing by the copyright owner as \"Not a Contribution.\"\n \n\ + \ \"Contributor\" shall mean Licensor and any individual or Legal Entity\n \ + \ on behalf of whom a Contribution has been received by Licensor and\n subsequently\ + \ incorporated within the Work.\n \n 2. Grant of Copyright License. Subject to the\ + \ terms and conditions of\n this License, each Contributor hereby grants to You\ + \ a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n\ + \ copyright license to reproduce, prepare Derivative Works of,\n publicly\ + \ display, publicly perform, sublicense, and distribute the\n Work and such Derivative\ + \ Works in Source or Object form.\n \n 3. Grant of Patent License. Subject to the\ + \ terms and conditions of\n this License, each Contributor hereby grants to You\ + \ a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n\ + \ (except as stated in this section) patent license to make, have made,\n \ + \ use, offer to sell, sell, import, and otherwise transfer the Work,\n where\ + \ such license applies only to those patent claims licensable\n by such Contributor\ + \ that are necessarily infringed by their\n Contribution(s) alone or by combination\ + \ of their Contribution(s)\n with the Work to which such Contribution(s) was\ + \ submitted. If You\n institute patent litigation against any entity (including\ + \ a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n \ + \ or a Contribution incorporated within the Work constitutes direct\n or contributory\ + \ patent infringement, then any patent licenses\n granted to You under this License\ + \ for that Work shall terminate\n as of the date such litigation is filed.\n\ + \ \n 4. Redistribution. You may reproduce and distribute copies of the\n Work\ + \ or Derivative Works thereof in any medium, with or without\n modifications,\ + \ and in Source or Object form, provided that You\n meet the following conditions:\n\ + \ \n (a) You must give any other recipients of the Work or\n Derivative\ + \ Works a copy of this License; and\n \n (b) You must cause any modified files\ + \ to carry prominent notices\n stating that You changed the files; and\n\ + \ \n (c) You must retain, in the Source form of any Derivative Works\n \ + \ that You distribute, all copyright, patent, trademark, and\n attribution\ + \ notices from the Source form of the Work,\n excluding those notices that\ + \ do not pertain to any part of\n the Derivative Works; and\n \n (d)\ + \ If the Work includes a \"NOTICE\" text file as part of its\n distribution,\ + \ then any Derivative Works that You distribute must\n include a readable\ + \ copy of the attribution notices contained\n within such NOTICE file, excluding\ + \ those notices that do not\n pertain to any part of the Derivative Works,\ + \ in at least one\n of the following places: within a NOTICE text file distributed\n\ + \ as part of the Derivative Works; within the Source form or\n documentation,\ + \ if provided along with the Derivative Works; or,\n within a display generated\ + \ by the Derivative Works, if and\n wherever such third-party notices normally\ + \ appear. The contents\n of the NOTICE file are for informational purposes\ + \ only and\n do not modify the License. You may add Your own attribution\n\ + \ notices within Derivative Works that You distribute, alongside\n \ + \ or as an addendum to the NOTICE text from the Work, provided\n that\ + \ such additional attribution notices cannot be construed\n as modifying\ + \ the License.\n \n You may add Your own copyright statement to Your modifications\ + \ and\n may provide additional or different license terms and conditions\n \ + \ for use, reproduction, or distribution of Your modifications, or\n for any\ + \ such Derivative Works as a whole, provided Your use,\n reproduction, and distribution\ + \ of the Work otherwise complies with\n the conditions stated in this License.\n\ + \ \n 5. Submission of Contributions. Unless You explicitly state otherwise,\n \ + \ any Contribution intentionally submitted for inclusion in the Work\n by\ + \ You to the Licensor shall be under the terms and conditions of\n this License,\ + \ without any additional terms or conditions.\n Notwithstanding the above, nothing\ + \ herein shall supersede or modify\n the terms of any separate license agreement\ + \ you may have executed\n with Licensor regarding such Contributions.\n \n \ + \ 6. Trademarks. This License does not grant permission to use the trade\n names,\ + \ trademarks, service marks, or product names of the Licensor,\n except as required\ + \ for reasonable and customary use in describing the\n origin of the Work and\ + \ reproducing the content of the NOTICE file.\n \n 7. Disclaimer of Warranty. Unless\ + \ required by applicable law or\n agreed to in writing, Licensor provides the\ + \ Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n\ + \ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied,\ + \ including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT,\ + \ MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible\ + \ for determining the\n appropriateness of using or redistributing the Work and\ + \ assume any\n risks associated with Your exercise of permissions under this\ + \ License.\n \n 8. Limitation of Liability. In no event and under no legal theory,\n\ + \ whether in tort (including negligence), contract, or otherwise,\n unless\ + \ required by applicable law (such as deliberate and grossly\n negligent acts)\ + \ or agreed to in writing, shall any Contributor be\n liable to You for damages,\ + \ including any direct, indirect, special,\n incidental, or consequential damages\ + \ of any character arising as a\n result of this License or out of the use or\ + \ inability to use the\n Work (including but not limited to damages for loss\ + \ of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n\ + \ other commercial damages or losses), even if such Contributor\n has been\ + \ advised of the possibility of such damages.\n \n 9. Accepting Warranty or Additional\ + \ Liability. While redistributing\n the Work or Derivative Works thereof, You\ + \ may choose to offer,\n and charge a fee for, acceptance of support, warranty,\ + \ indemnity,\n or other liability obligations and/or rights consistent with this\n\ + \ License. However, in accepting such obligations, You may act only\n on\ + \ Your own behalf and on Your sole responsibility, not on behalf\n of any other\ + \ Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor\ + \ harmless for any liability\n incurred by, or claims asserted against, such\ + \ Contributor by reason\n of your accepting any such warranty or additional liability.\n\ + \ \n END OF TERMS AND CONDITIONS\n \n APPENDIX: How to apply the Apache License\ + \ to your work.\n \n To apply the Apache License to your work, attach the following\n\ + \ boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced\ + \ with your own identifying information. (Don't include\n the brackets!) The\ + \ text should be enclosed in the appropriate\n comment syntax for the file format.\ + \ We also recommend that a\n file or class name and description of purpose be\ + \ included on the\n same \"printed page\" as the copyright notice for easier\n\ + \ identification within third-party archives.\n \n Copyright [yyyy] [name of\ + \ copyright owner]\n \n Licensed under the Apache License, Version 2.0 (the \"License\"\ + );\n you may not use this file except in compliance with the License.\n You may\ + \ obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n\ + \ \n Unless required by applicable law or agreed to in writing, software\n distributed\ + \ under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR\ + \ CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific\ + \ language governing permissions and\n limitations under the License." - identifier: apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8 license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 detection_count: 1 + reference_matches: + - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 + from_file: package-and-licenses/setup.cfg + start_line: 1 + end_line: 1 + matcher: 1-hash + score: '100.0' + matched_length: 3 + match_coverage: '100.0' + rule_relevance: 100 + rule_identifier: spdx_license_id_apache-2.0_for_apache-2.0.RULE + rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE + matched_text: Apache-2.0 - identifier: apache_2_0-ec759ae0-ea5a-f138-793e-388520e080c0 license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 detection_count: 1 + reference_matches: + - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 + from_file: package-and-licenses/setup.cfg + start_line: 4 + end_line: 4 + matcher: 2-aho + score: '100.0' + matched_length: 4 + match_coverage: '100.0' + rule_relevance: 100 + rule_identifier: apache-2.0_65.RULE + rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE + matched_text: license = Apache-2.0 - identifier: apache_2_0_and__apache_2_0_or_mit-9b638e72-e872-a67f-3447-eec297ef7b39 license_expression: apache-2.0 AND (apache-2.0 OR mit) + license_expression_spdx: Apache-2.0 AND (Apache-2.0 OR MIT) detection_count: 1 + reference_matches: + - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 + from_file: package-and-licenses/README.txt + start_line: 3 + end_line: 3 + matcher: 2-aho + score: '80.0' + matched_length: 4 + match_coverage: '100.0' + rule_relevance: 80 + rule_identifier: apache-2.0_73.RULE + rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE + matched_text: This is licensed under Apache-2.0 or MIT + - license_expression: apache-2.0 OR mit + license_expression_spdx: Apache-2.0 OR MIT + from_file: package-and-licenses/README.txt + start_line: 3 + end_line: 3 + matcher: 2-aho + score: '100.0' + matched_length: 5 + match_coverage: '100.0' + rule_relevance: 100 + rule_identifier: apache-2.0_or_mit_36.RULE + rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE + matched_text: This is licensed under Apache-2.0 or MIT - identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a license_expression: mit + license_expression_spdx: MIT detection_count: 1 + reference_matches: + - license_expression: mit + license_expression_spdx: MIT + from_file: package-and-licenses/mit.LICENSE + start_line: 2 + end_line: '19' + matcher: 1-hash + score: '100.0' + matched_length: 161 + match_coverage: '100.0' + rule_relevance: 100 + rule_identifier: mit.LICENSE + rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE + matched_text: | + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. license_references: - key: apache-2.0 language: en @@ -808,27 +1055,32 @@ files: detected_license_expression_spdx: Apache-2.0 AND (Apache-2.0 OR MIT) license_detections: - license_expression: apache-2.0 AND (apache-2.0 OR mit) + license_expression_spdx: Apache-2.0 AND (Apache-2.0 OR MIT) matches: - - score: '80.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: package-and-licenses/README.txt start_line: 3 end_line: 3 + matcher: 2-aho + score: '80.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: apache-2.0 - rule_identifier: apache-2.0_73.RULE rule_relevance: 80 + rule_identifier: apache-2.0_73.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE matched_text: This is licensed under Apache-2.0 or MIT - - score: '100.0' + - license_expression: apache-2.0 OR mit + spdx_license_expression: Apache-2.0 OR MIT + from_file: package-and-licenses/README.txt start_line: 3 end_line: 3 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: apache-2.0 OR mit - rule_identifier: apache-2.0_or_mit_36.RULE rule_relevance: 100 + rule_identifier: apache-2.0_or_mit_36.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE matched_text: This is licensed under Apache-2.0 or MIT identifier: apache_2_0_and__apache_2_0_or_mit-9b638e72-e872-a67f-3447-eec297ef7b39 @@ -879,16 +1131,19 @@ files: detected_license_expression_spdx: Apache-2.0 license_detections: - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: package-and-licenses/apache-2.0.LICENSE start_line: 2 end_line: 202 + matcher: 1-hash + score: '100.0' matched_length: 1584 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0.LICENSE rule_relevance: 100 + rule_identifier: apache-2.0.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE matched_text: " Apache License\n \ \ Version 2.0, January 2004\n http://www.apache.org/licenses/\n\ @@ -1085,16 +1340,19 @@ files: detected_license_expression_spdx: MIT license_detections: - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: package-and-licenses/mit.LICENSE start_line: 2 end_line: '19' + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining @@ -1178,16 +1436,19 @@ files: declared_license_expression_spdx: Apache-2.0 license_detections: - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: package-and-licenses/setup.cfg start_line: 1 end_line: 1 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: spdx_license_id_apache-2.0_for_apache-2.0.RULE rule_relevance: 100 + rule_identifier: spdx_license_id_apache-2.0_for_apache-2.0.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE matched_text: Apache-2.0 identifier: apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8 @@ -1216,16 +1477,19 @@ files: detected_license_expression_spdx: Apache-2.0 license_detections: - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: package-and-licenses/setup.cfg start_line: 4 end_line: 4 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: apache-2.0 - rule_identifier: apache-2.0_65.RULE rule_relevance: 100 + rule_identifier: apache-2.0_65.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE matched_text: license = Apache-2.0 identifier: apache_2_0-ec759ae0-ea5a-f138-793e-388520e080c0 diff --git a/tests/licensedcode/data/additional_licenses/additional_license_combined_test.expected.json b/tests/licensedcode/data/additional_licenses/additional_license_combined_test.expected.json index 190a7381c4..6f95f59346 100644 --- a/tests/licensedcode/data/additional_licenses/additional_license_combined_test.expected.json +++ b/tests/licensedcode/data/additional_licenses/additional_license_combined_test.expected.json @@ -3,7 +3,80 @@ { "identifier": "example_installed_1_and_example_installed_2_and_example1_and_example2_and_apache_2_0-cfa2fe66-d37a-6bee-465f-3d11802e1c1d", "license_expression": "example-installed-1 AND example-installed-2 AND example1 AND example2 AND apache-2.0", - "detection_count": 1 + "license_expression_spdx": "scancode-example-installed1 AND LicenseRef-scancode-example-installed2 AND scancode-example1 AND scancode-example2 AND Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "example-installed-1", + "license_expression_spdx": "scancode-example-installed1", + "from_file": "additional_license_combined_test.txt", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 11, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "example-installed-1.LICENSE", + "rule_url": null + }, + { + "license_expression": "example-installed-2", + "license_expression_spdx": "LicenseRef-scancode-example-installed2", + "from_file": "additional_license_combined_test.txt", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "example-installed-2.LICENSE", + "rule_url": null + }, + { + "license_expression": "example1", + "license_expression_spdx": "scancode-example1", + "from_file": "additional_license_combined_test.txt", + "start_line": 5, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 9, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "example1.LICENSE", + "rule_url": null + }, + { + "license_expression": "example2", + "license_expression_spdx": "scancode-example2", + "from_file": "additional_license_combined_test.txt", + "start_line": 5, + "end_line": 9, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 69, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "example2.LICENSE", + "rule_url": null + }, + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "additional_license_combined_test.txt", + "start_line": 12, + "end_line": 12, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" + } + ] } ], "license_references": [ @@ -331,65 +404,76 @@ "license_detections": [ { "license_expression": "example-installed-1 AND example-installed-2 AND example1 AND example2 AND apache-2.0", + "license_expression_spdx": "scancode-example-installed1 AND LicenseRef-scancode-example-installed2 AND scancode-example1 AND scancode-example2 AND Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "example-installed-1", + "spdx_license_expression": "scancode-example-installed1", + "from_file": "additional_license_combined_test.txt", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "example-installed-1", - "rule_identifier": "example-installed-1.LICENSE", "rule_relevance": 100, + "rule_identifier": "example-installed-1.LICENSE", "rule_url": null }, { - "score": 100.0, + "license_expression": "example-installed-2", + "spdx_license_expression": "LicenseRef-scancode-example-installed2", + "from_file": "additional_license_combined_test.txt", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "example-installed-2", - "rule_identifier": "example-installed-2.LICENSE", "rule_relevance": 100, + "rule_identifier": "example-installed-2.LICENSE", "rule_url": null }, { - "score": 100.0, + "license_expression": "example1", + "spdx_license_expression": "scancode-example1", + "from_file": "additional_license_combined_test.txt", "start_line": 5, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "example1", - "rule_identifier": "example1.LICENSE", "rule_relevance": 100, + "rule_identifier": "example1.LICENSE", "rule_url": null }, { - "score": 100.0, + "license_expression": "example2", + "spdx_license_expression": "scancode-example2", + "from_file": "additional_license_combined_test.txt", "start_line": 5, "end_line": 9, + "matcher": "2-aho", + "score": 100.0, "matched_length": 69, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "example2", - "rule_identifier": "example2.LICENSE", "rule_relevance": 100, + "rule_identifier": "example2.LICENSE", "rule_url": null }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "additional_license_combined_test.txt", "start_line": 12, "end_line": 12, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_65.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" } ], diff --git a/tests/licensedcode/data/additional_licenses/additional_license_directory_test.expected.json b/tests/licensedcode/data/additional_licenses/additional_license_directory_test.expected.json index 24e591bb1f..2958a7cba2 100644 --- a/tests/licensedcode/data/additional_licenses/additional_license_directory_test.expected.json +++ b/tests/licensedcode/data/additional_licenses/additional_license_directory_test.expected.json @@ -3,7 +3,38 @@ { "identifier": "example1_and_example2-f86ebb61-26dd-be05-2a61-01d7b630ba62", "license_expression": "example1 AND example2", - "detection_count": 1 + "license_expression_spdx": "scancode-example1 AND scancode-example2", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "example1", + "license_expression_spdx": "scancode-example1", + "from_file": "additional_license_directory_test.txt", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 9, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "example1.LICENSE", + "rule_url": null + }, + { + "license_expression": "example2", + "license_expression_spdx": "scancode-example2", + "from_file": "additional_license_directory_test.txt", + "start_line": 1, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 69, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "example2.LICENSE", + "rule_url": null + } + ] } ], "license_references": [ @@ -139,29 +170,34 @@ "license_detections": [ { "license_expression": "example1 AND example2", + "license_expression_spdx": "scancode-example1 AND scancode-example2", "matches": [ { - "score": 100.0, + "license_expression": "example1", + "spdx_license_expression": "scancode-example1", + "from_file": "additional_license_directory_test.txt", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "example1", - "rule_identifier": "example1.LICENSE", "rule_relevance": 100, + "rule_identifier": "example1.LICENSE", "rule_url": null }, { - "score": 100.0, + "license_expression": "example2", + "spdx_license_expression": "scancode-example2", + "from_file": "additional_license_directory_test.txt", "start_line": 1, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 69, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "example2", - "rule_identifier": "example2.LICENSE", "rule_relevance": 100, + "rule_identifier": "example2.LICENSE", "rule_url": null } ], diff --git a/tests/licensedcode/data/additional_licenses/additional_license_plugin_test.expected.json b/tests/licensedcode/data/additional_licenses/additional_license_plugin_test.expected.json index 18f31e4886..b61818ca0b 100644 --- a/tests/licensedcode/data/additional_licenses/additional_license_plugin_test.expected.json +++ b/tests/licensedcode/data/additional_licenses/additional_license_plugin_test.expected.json @@ -3,7 +3,24 @@ { "identifier": "example_installed_1-ec26d04a-f591-6524-a28f-b2c6b6d5086a", "license_expression": "example-installed-1", - "detection_count": 1 + "license_expression_spdx": "scancode-example-installed1", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "example-installed-1", + "license_expression_spdx": "scancode-example-installed1", + "from_file": "additional_license_plugin_test.txt", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 11, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "example-installed-1.LICENSE", + "rule_url": null + } + ] } ], "license_references": [ @@ -79,17 +96,20 @@ "license_detections": [ { "license_expression": "example-installed-1", + "license_expression_spdx": "scancode-example-installed1", "matches": [ { - "score": 100.0, + "license_expression": "example-installed-1", + "spdx_license_expression": "scancode-example-installed1", + "from_file": "additional_license_plugin_test.txt", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "example-installed-1", - "rule_identifier": "example-installed-1.LICENSE", "rule_relevance": 100, + "rule_identifier": "example-installed-1.LICENSE", "rule_url": null } ], diff --git a/tests/licensedcode/data/licenses_reference_reporting/license-reference-works-with-clues.expected.json b/tests/licensedcode/data/licenses_reference_reporting/license-reference-works-with-clues.expected.json index 83fbe8c3ce..64a75985c9 100644 --- a/tests/licensedcode/data/licenses_reference_reporting/license-reference-works-with-clues.expected.json +++ b/tests/licensedcode/data/licenses_reference_reporting/license-reference-works-with-clues.expected.json @@ -3,83 +3,535 @@ { "identifier": "bsd_new-35c287f1-5d41-52f8-399e-2391cd1b4b40", "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "python.LICENSE", + "start_line": 397, + "end_line": 419, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 213, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-new_943.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_943.RULE", + "matched_text": " * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. 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 *\n * THIS SOFTWARE IS PROVIDED BY HARVARD AND ITS CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL HARVARD OR ITS CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. 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 *\n * THIS SOFTWARE IS PROVIDED BY HARVARD AND ITS CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL HARVARD OR ITS CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE." + } + ] }, { "identifier": "bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98", "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "python.LICENSE", + "start_line": 369, + "end_line": 391, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 213, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-new_19.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE", + "matched_text": " * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. 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 *\n * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. 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 *\n * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE." + } + ] }, { "identifier": "bzip2_libbzip_2010-7158bcb2-a4d7-9815-17d2-1b1d0a6d5de2", "license_expression": "bzip2-libbzip-2010", + "license_expression_spdx": "bzip2-1.0.6", "detection_count": 1, "detection_log": [ "unknown-intro-followed-by-match" + ], + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "python.LICENSE", + "start_line": 274, + "end_line": 274, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 6, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "license-intro_50.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_50.RULE", + "matched_text": "This copy of Python includes a copy of bzip2, which is licensed under the following terms:", + "matched_text_diagnostics": "is licensed under the following terms:" + }, + { + "license_expression": "bzip2-libbzip-2010", + "license_expression_spdx": "bzip2-1.0.6", + "from_file": "python.LICENSE", + "start_line": 281, + "end_line": 310, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 233, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bzip2-libbzip-2010.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bzip2-libbzip-2010.LICENSE", + "matched_text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n\n1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n2. The origin of this software must not be misrepresented; you must \n not claim that you wrote the original software. If you use this \n software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n3. Altered source versions must be plainly marked as such, and must\n not be misrepresented as being the original software.\n\n4. The name of the author may not be used to endorse or promote \n products derived from this software without specific prior written \n permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\nOR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\nGOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\nWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n\n1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n2. The origin of this software must not be misrepresented; you must \n not claim that you wrote the original software. If you use this \n software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n3. Altered source versions must be plainly marked as such, and must\n not be misrepresented as being the original software.\n\n4. The name of the author may not be used to endorse or promote \n products derived from this software without specific prior written \n permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\nOR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\nGOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\nWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + } ] }, { "identifier": "openssl-e1da0b01-fab9-e27d-4ff3-c4944b09b621", "license_expression": "openssl", + "license_expression_spdx": "LicenseRef-scancode-openssl", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "openssl", + "license_expression_spdx": "LicenseRef-scancode-openssl", + "from_file": "python.LICENSE", + "start_line": 440, + "end_line": 487, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 332, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "openssl_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/openssl_1.RULE", + "matched_text": " * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n *\n * 1. Redistributions of source code must retain the above copyright\n * notice, 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\n * the documentation and/or other materials provided with the\n * distribution.\n *\n * 3. All advertising materials mentioning features or use of this\n * software must display the following acknowledgment:\n * \"This product includes software developed by the OpenSSL Project\n * for use in the OpenSSL Toolkit. (http://www.openssl.org/)\"\n *\n * 4. The names \"OpenSSL Toolkit\" and \"OpenSSL Project\" must not be used to\n * endorse or promote products derived from this software without\n * prior written permission. For written permission, please contact\n * openssl-core@openssl.org.\n *\n * 5. Products derived from this software may not be called \"OpenSSL\"\n * nor may \"OpenSSL\" appear in their names without prior written\n * permission of the OpenSSL Project.\n *\n * 6. Redistributions of any form whatsoever must retain the following\n * acknowledgment:\n * \"This product includes software developed by the OpenSSL Project\n * for use in the OpenSSL Toolkit (http://www.openssl.org/)\"\n *\n * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY\n * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR\n * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\n * OF THE POSSIBILITY OF SUCH DAMAGE.\n * ====================================================================\n *\n * This product includes cryptographic software written by Eric Young\n * (eay@cryptsoft.com). This product includes software written by Tim\n * Hudson (tjh@cryptsoft.com).", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n *\n * 1. Redistributions of source code must retain the above copyright\n * notice, 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\n * the documentation and/or other materials provided with the\n * distribution.\n *\n * 3. All advertising materials mentioning features or use of this\n * software must display the following acknowledgment:\n * \"This product includes software developed by the OpenSSL Project\n * for use in the OpenSSL Toolkit. (http://www.openssl.org/)\"\n *\n * 4. The names \"OpenSSL Toolkit\" and \"OpenSSL Project\" must not be used to\n * endorse or promote products derived from this software without\n * prior written permission. For written permission, please contact\n * openssl-core@openssl.org.\n *\n * 5. Products derived from this software may not be called \"OpenSSL\"\n * nor may \"OpenSSL\" appear in their names without prior written\n * permission of the OpenSSL Project.\n *\n * 6. Redistributions of any form whatsoever must retain the following\n * acknowledgment:\n * \"This product includes software developed by the OpenSSL Project\n * for use in the OpenSSL Toolkit (http://www.openssl.org/)\"\n *\n * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY\n * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR\n * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\n * OF THE POSSIBILITY OF SUCH DAMAGE.\n * ====================================================================\n *\n * This product includes cryptographic software written by Eric Young\n * (eay@cryptsoft.com). This product includes software written by Tim\n * Hudson (tjh@cryptsoft.com)." + } + ] }, { "identifier": "openssl_ssleay-238ad05e-bfde-df4c-6b5b-61ef3ec16843", "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", "detection_count": 1, "detection_log": [ "unknown-intro-followed-by-match" + ], + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "python.LICENSE", + "start_line": 422, + "end_line": 422, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 6, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "license-intro_50.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_50.RULE", + "matched_text": "This copy of Python includes a copy of openssl, which is licensed under the following terms:", + "matched_text_diagnostics": "is licensed under the following terms:" + }, + { + "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", + "from_file": "python.LICENSE", + "start_line": 428, + "end_line": 432, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 56, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "openssl-ssleay_43.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/openssl-ssleay_43.RULE", + "matched_text": " The OpenSSL toolkit stays under a dual license, i.e. both the conditions of\n the OpenSSL License and the original SSLeay license apply to the toolkit.\n See below for the actual license texts. Actually both licenses are BSD-style\n Open Source licenses. In case of any license issues related to OpenSSL\n please contact openssl-core@openssl.org.", + "matched_text_diagnostics": "The OpenSSL toolkit stays under a dual license, i.e. both the conditions of\n the OpenSSL License and the original SSLeay license apply to the toolkit.\n See below for the actual license texts. Actually both licenses are BSD-style\n Open Source licenses. In case of any license issues related to OpenSSL\n please contact openssl-core@openssl.org." + }, + { + "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", + "from_file": "python.LICENSE", + "start_line": 434, + "end_line": 434, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "openssl-ssleay_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/openssl-ssleay_2.RULE", + "matched_text": " OpenSSL License", + "matched_text_diagnostics": "OpenSSL License" + } ] }, { "identifier": "other_copyleft_and_gpl_1_0_plus-2a634b9a-02ad-d5b9-47fc-e91c5eb24808", "license_expression": "other-copyleft AND gpl-1.0-plus", + "license_expression_spdx": "LicenseRef-scancode-other-copyleft AND GPL-1.0-or-later", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "other-copyleft", + "license_expression_spdx": "LicenseRef-scancode-other-copyleft", + "from_file": "python.LICENSE", + "start_line": 62, + "end_line": 62, + "matcher": "2-aho", + "score": 80.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 80, + "rule_identifier": "other-copyleft_24.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-copyleft_24.RULE", + "matched_text": "(1) GPL-compatible doesn't mean that we're distributing Python under", + "matched_text_diagnostics": "GPL-compatible" + }, + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "python.LICENSE", + "start_line": 62, + "end_line": 63, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_200.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_200.RULE", + "matched_text": "(1) GPL-compatible doesn't mean that we're distributing Python under\n the GPL. All Python licenses, unlike the GPL, let you distribute", + "matched_text_diagnostics": "under\n the GPL." + }, + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "python.LICENSE", + "start_line": 63, + "end_line": 63, + "matcher": "2-aho", + "score": 85.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 85, + "rule_identifier": "gpl-1.0-plus_351.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_351.RULE", + "matched_text": " the GPL. All Python licenses, unlike the GPL, let you distribute", + "matched_text_diagnostics": "the GPL," + }, + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "python.LICENSE", + "start_line": 64, + "end_line": 65, + "matcher": "2-aho", + "score": 85.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 85, + "rule_identifier": "gpl-1.0-plus_351.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_351.RULE", + "matched_text": " a modified version without making your changes open source. The\n GPL-compatible licenses make it possible to combine Python with", + "matched_text_diagnostics": "The\n GPL-" + }, + { + "license_expression": "other-copyleft", + "license_expression_spdx": "LicenseRef-scancode-other-copyleft", + "from_file": "python.LICENSE", + "start_line": 65, + "end_line": 65, + "matcher": "2-aho", + "score": 80.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 80, + "rule_identifier": "other-copyleft_24.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-copyleft_24.RULE", + "matched_text": " GPL-compatible licenses make it possible to combine Python with", + "matched_text_diagnostics": "GPL-compatible" + }, + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "python.LICENSE", + "start_line": 66, + "end_line": 66, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl_194.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_194.RULE", + "matched_text": " other software that is released under the GPL; the others don't.", + "matched_text_diagnostics": "released under the GPL;" + }, + { + "license_expression": "other-copyleft", + "license_expression_spdx": "LicenseRef-scancode-other-copyleft", + "from_file": "python.LICENSE", + "start_line": 68, + "end_line": 68, + "matcher": "2-aho", + "score": 80.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 80, + "rule_identifier": "other-copyleft_24.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-copyleft_24.RULE", + "matched_text": "(2) According to Richard Stallman, 1.6.1 is not GPL-compatible,", + "matched_text_diagnostics": "GPL-compatible," + }, + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "python.LICENSE", + "start_line": 71, + "end_line": 71, + "matcher": "2-aho", + "score": 85.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 85, + "rule_identifier": "gpl-1.0-plus_351.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_351.RULE", + "matched_text": " is \"not incompatible\" with the GPL.", + "matched_text_diagnostics": "the GPL." + } + ] }, { "identifier": "python-c496ccae-69a0-c5f8-a742-83bcd66bfe68", "license_expression": "python", + "license_expression_spdx": "Python-2.0", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "python", + "license_expression_spdx": "Python-2.0", + "from_file": "python.LICENSE", + "start_line": 23, + "end_line": 26, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 35, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "python_not_not-a-license_269.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/python_not_not-a-license_269.RULE", + "matched_text": "All Python releases are Open Source (see http://www.opensource.org for\nthe Open Source Definition). Historically, most, but not all, Python\nreleases have also been GPL-compatible; the table below summarizes\nthe various releases.", + "matched_text_diagnostics": "All Python releases are Open Source (see http://www.opensource.org for\nthe Open Source Definition). Historically, most, but not all, Python\nreleases have also been GPL-compatible; the table below summarizes\nthe various releases." + } + ] }, { "identifier": "python_and_python_cwi-dda7296c-6bc9-a87c-6fcd-8aa47c3484dc", "license_expression": "python AND python-cwi", + "license_expression_spdx": "Python-2.0 AND LicenseRef-scancode-python-cwi", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "python", + "license_expression_spdx": "Python-2.0", + "from_file": "python.LICENSE", + "start_line": 77, + "end_line": 255, + "matcher": "3-seq", + "score": 90.52, + "matched_length": 1385, + "match_coverage": 90.52, + "rule_relevance": 100, + "rule_identifier": "python_2019.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/python_2019.RULE", + "matched_text": "B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON\n===============================================================\n\nPYTHON SOFTWARE FOUNDATION LICENSE VERSION 2\n--------------------------------------------\n\n1. This LICENSE AGREEMENT is between the Python Software Foundation\n(\"PSF\"), and the Individual or Organization (\"Licensee\") accessing and\notherwise using this software (\"Python\") in source or binary form and\nits associated documentation.\n\n2. Subject to the terms and conditions of this License Agreement, PSF\nhereby grants Licensee a nonexclusive, royalty-free, world-wide\nlicense to reproduce, analyze, test, perform and/or display publicly,\nprepare derivative works, distribute, and otherwise use Python\nalone or in any derivative version, provided, however, that PSF's\nLicense Agreement and PSF's notice of copyright, i.e., \"Copyright (c)\n2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Python Software Foundation; \nAll Rights Reserved\" are retained in Python alone or in any derivative \nversion prepared by Licensee.\n\n3. In the event Licensee prepares a derivative work that is based on\nor incorporates Python or any part thereof, and wants to make\nthe derivative work available to others as provided herein, then\nLicensee hereby agrees to include in any such work a brief summary of\nthe changes made to Python.\n\n4. PSF is making Python available to Licensee on an \"AS IS\"\nbasis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR\nIMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND\nDISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS\nFOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT\nINFRINGE ANY THIRD PARTY RIGHTS.\n\n5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON\nFOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS\nA RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,\nOR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n\n6. This License Agreement will automatically terminate upon a material\nbreach of its terms and conditions.\n\n7. Nothing in this License Agreement shall be deemed to create any\nrelationship of agency, partnership, or joint venture between PSF and\nLicensee. This License Agreement does not grant permission to use PSF\ntrademarks or trade name in a trademark sense to endorse or promote\nproducts or services of Licensee, or any third party.\n\n8. By copying, installing or otherwise using Python, Licensee\nagrees to be bound by the terms and conditions of this License\nAgreement.\n\n\nBEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0\n-------------------------------------------\n\nBEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1\n\n1. This LICENSE AGREEMENT is between BeOpen.com (\"BeOpen\"), having an\noffice at 160 Saratoga Avenue, Santa Clara, CA 95051, and the\nIndividual or Organization (\"Licensee\") accessing and otherwise using\nthis software in source or binary form and its associated\ndocumentation (\"the Software\").\n\n2. Subject to the terms and conditions of this BeOpen Python License\nAgreement, BeOpen hereby grants Licensee a non-exclusive,\nroyalty-free, world-wide license to reproduce, analyze, test, perform\nand/or display publicly, prepare derivative works, distribute, and\notherwise use the Software alone or in any derivative version,\nprovided, however, that the BeOpen Python License is retained in the\nSoftware, alone or in any derivative version prepared by Licensee.\n\n3. BeOpen is making the Software available to Licensee on an \"AS IS\"\nbasis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR\nIMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND\nDISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS\nFOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT\nINFRINGE ANY THIRD PARTY RIGHTS.\n\n4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE\nSOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS\nAS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY\nDERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n\n5. This License Agreement will automatically terminate upon a material\nbreach of its terms and conditions.\n\n6. This License Agreement shall be governed by and interpreted in all\nrespects by the law of the State of California, excluding conflict of\nlaw provisions. Nothing in this License Agreement shall be deemed to\ncreate any relationship of agency, partnership, or joint venture\nbetween BeOpen and Licensee. This License Agreement does not grant\npermission to use BeOpen trademarks or trade names in a trademark\nsense to endorse or promote products or services of Licensee, or any\nthird party. As an exception, the \"BeOpen Python\" logos available at\nhttp://www.pythonlabs.com/logos.html may be used according to the\npermissions granted on that web page.\n\n7. By copying, installing or otherwise using the software, Licensee\nagrees to be bound by the terms and conditions of this License\nAgreement.\n\n\nCNRI LICENSE AGREEMENT FOR PYTHON 1.6.1\n---------------------------------------\n\n1. This LICENSE AGREEMENT is between the Corporation for National\nResearch Initiatives, having an office at 1895 Preston White Drive,\nReston, VA 20191 (\"CNRI\"), and the Individual or Organization\n(\"Licensee\") accessing and otherwise using Python 1.6.1 software in\nsource or binary form and its associated documentation.\n\n2. Subject to the terms and conditions of this License Agreement, CNRI\nhereby grants Licensee a nonexclusive, royalty-free, world-wide\nlicense to reproduce, analyze, test, perform and/or display publicly,\nprepare derivative works, distribute, and otherwise use Python 1.6.1\nalone or in any derivative version, provided, however, that CNRI's\nLicense Agreement and CNRI's notice of copyright, i.e., \"Copyright (c)\n1995-2001 Corporation for National Research Initiatives; All Rights\nReserved\" are retained in Python 1.6.1 alone or in any derivative\nversion prepared by Licensee. Alternately, in lieu of CNRI's License\nAgreement, Licensee may substitute the following text (omitting the\nquotes): \"Python 1.6.1 is made available subject to the terms and\nconditions in CNRI's License Agreement. This Agreement together with\nPython 1.6.1 may be located on the Internet using the following\nunique, persistent identifier (known as a handle): 1895.22/1013. This\nAgreement may also be obtained from a proxy server on the Internet\nusing the following URL: http://hdl.handle.net/1895.22/1013\".\n\n3. In the event Licensee prepares a derivative work that is based on\nor incorporates Python 1.6.1 or any part thereof, and wants to make\nthe derivative work available to others as provided herein, then\nLicensee hereby agrees to include in any such work a brief summary of\nthe changes made to Python 1.6.1.\n\n4. CNRI is making Python 1.6.1 available to Licensee on an \"AS IS\"\nbasis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR\nIMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND\nDISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS\nFOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT\nINFRINGE ANY THIRD PARTY RIGHTS.\n\n5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON\n1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS\nA RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,\nOR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n\n6. This License Agreement will automatically terminate upon a material\nbreach of its terms and conditions.\n\n7. This License Agreement shall be governed by the federal\nintellectual property law of the United States, including without\nlimitation the federal copyright law, and, to the extent such\nU.S. federal law does not apply, by the law of the Commonwealth of\nVirginia, excluding Virginia's conflict of law provisions.\nNotwithstanding the foregoing, with regard to derivative works based\non Python 1.6.1 that incorporate non-separable material that was\npreviously distributed under the GNU General Public License (GPL), the\nlaw of the Commonwealth of Virginia shall govern this License\nAgreement only as to issues arising under or with respect to\nParagraphs 4, 5, and 7 of this License Agreement. Nothing in this\nLicense Agreement shall be deemed to create any relationship of\nagency, partnership, or joint venture between CNRI and Licensee. This\nLicense Agreement does not grant permission to use CNRI trademarks or\ntrade name in a trademark sense to endorse or promote products or\nservices of Licensee, or any third party.\n\n8. By clicking on the \"ACCEPT\" button where indicated, or by copying,\ninstalling or otherwise using Python 1.6.1, Licensee agrees to be\nbound by the terms and conditions of this License Agreement.\n\n ACCEPT\n\n\nCWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2\n--------------------------------------------------\n\nCopyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,\nThe Netherlands. All rights reserved.", + "matched_text_diagnostics": "B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON\n===============================================================\n\nPYTHON SOFTWARE FOUNDATION LICENSE VERSION 2\n--------------------------------------------\n\n1. This LICENSE AGREEMENT is between the Python Software Foundation\n(\"PSF\"), and the Individual or Organization (\"Licensee\") accessing and\notherwise using this software (\"Python\") in source or binary form and\nits associated documentation.\n\n2. Subject to the terms and conditions of this License Agreement, PSF\nhereby grants Licensee a nonexclusive, royalty-free, world-wide\nlicense to reproduce, analyze, test, perform and/or display publicly,\nprepare derivative works, distribute, and otherwise use Python\nalone or in any derivative version, provided, however, that PSF's\nLicense Agreement and PSF's notice of copyright, i.e., \"Copyright (c)\n[2001], [2002], [2003], [2004], [2005], [2006], [2007], [2008] Python Software Foundation; \nAll Rights Reserved\" are retained in Python alone or in any derivative \nversion prepared by Licensee.\n\n3. In the event Licensee prepares a derivative work that is based on\nor incorporates Python or any part thereof, and wants to make\nthe derivative work available to others as provided herein, then\nLicensee hereby agrees to include in any such work a brief summary of\nthe changes made to Python.\n\n4. PSF is making Python available to Licensee on an \"AS IS\"\nbasis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR\nIMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND\nDISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS\nFOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT\nINFRINGE ANY THIRD PARTY RIGHTS.\n\n5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON\nFOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS\nA RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,\nOR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n\n6. This License Agreement will automatically terminate upon a material\nbreach of its terms and conditions.\n\n7. Nothing in this License Agreement shall be deemed to create any\nrelationship of agency, partnership, or joint venture between PSF and\nLicensee. This License Agreement does not grant permission to use PSF\ntrademarks or trade name in a trademark sense to endorse or promote\nproducts or services of Licensee, or any third party.\n\n8. By copying, installing or otherwise using Python, Licensee\nagrees to be bound by the terms and conditions of this License\nAgreement.\n\n\nBEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0\n-------------------------------------------\n\nBEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1\n\n1. This LICENSE AGREEMENT is between BeOpen.com (\"BeOpen\"), having an\noffice at 160 Saratoga Avenue, Santa Clara, CA 95051, and the\nIndividual or Organization (\"Licensee\") accessing and otherwise using\nthis software in source or binary form and its associated\ndocumentation (\"the Software\").\n\n2. Subject to the terms and conditions of this BeOpen Python License\nAgreement, BeOpen hereby grants Licensee a non-exclusive,\nroyalty-free, world-wide license to reproduce, analyze, test, perform\nand/or display publicly, prepare derivative works, distribute, and\notherwise use the Software alone or in any derivative version,\nprovided, however, that the BeOpen Python License is retained in the\nSoftware, alone or in any derivative version prepared by Licensee.\n\n3. BeOpen is making the Software available to Licensee on an \"AS IS\"\nbasis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR\nIMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND\nDISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS\nFOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT\nINFRINGE ANY THIRD PARTY RIGHTS.\n\n4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE\nSOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS\nAS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY\nDERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n\n5. This License Agreement will automatically terminate upon a material\nbreach of its terms and conditions.\n\n6. This License Agreement shall be governed by and interpreted in all\nrespects by the law of the State of California, excluding conflict of\nlaw provisions. Nothing in this License Agreement shall be deemed to\ncreate any relationship of agency, partnership, or joint venture\nbetween BeOpen and Licensee. This License Agreement does not grant\npermission to use BeOpen trademarks or trade names in a trademark\nsense to endorse or promote products or services of Licensee, or any\nthird party. As an exception, the \"BeOpen Python\" logos available at\nhttp://www.pythonlabs.com/logos.html may be used according to the\npermissions granted on that web page.\n\n7. By copying, installing or otherwise using the software, Licensee\nagrees to be bound by the terms and conditions of this License\nAgreement.\n\n\nCNRI LICENSE AGREEMENT FOR PYTHON 1.6.1\n---------------------------------------\n\n1. This LICENSE AGREEMENT is between the Corporation for National\nResearch Initiatives, having an office at 1895 Preston White Drive,\nReston, VA 20191 (\"CNRI\"), and the Individual or Organization\n(\"Licensee\") accessing and otherwise using Python 1.6.1 software in\nsource or binary form and its associated documentation.\n\n2. Subject to the terms and conditions of this License Agreement, CNRI\nhereby grants Licensee a nonexclusive, royalty-free, world-wide\nlicense to reproduce, analyze, test, perform and/or display publicly,\nprepare derivative works, distribute, and otherwise use Python 1.6.1\nalone or in any derivative version, provided, however, that CNRI's\nLicense Agreement and CNRI's notice of copyright, i.e., \"Copyright (c)\n1995-2001 Corporation for National Research Initiatives; All Rights\nReserved\" are retained in Python 1.6.1 alone or in any derivative\nversion prepared by Licensee. Alternately, in lieu of CNRI's License\nAgreement, Licensee may substitute the following text (omitting the\nquotes): \"Python 1.6.1 is made available subject to the terms and\nconditions in CNRI's License Agreement. This Agreement together with\nPython 1.6.1 may be located on the Internet using the following\nunique, persistent identifier (known as a handle): 1895.22/1013. This\nAgreement may also be obtained from a proxy server on the Internet\nusing the following URL: http://hdl.handle.net/1895.22/1013\".\n\n3. In the event Licensee prepares a derivative work that is based on\nor incorporates Python 1.6.1 or any part thereof, and wants to make\nthe derivative work available to others as provided herein, then\nLicensee hereby agrees to include in any such work a brief summary of\nthe changes made to Python 1.6.1.\n\n4. CNRI is making Python 1.6.1 available to Licensee on an \"AS IS\"\nbasis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR\nIMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND\nDISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS\nFOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT\nINFRINGE ANY THIRD PARTY RIGHTS.\n\n5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON\n1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS\nA RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,\nOR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n\n6. This License Agreement will automatically terminate upon a material\nbreach of its terms and conditions.\n\n7. This License Agreement shall be governed by the federal\nintellectual property law of the United States, including without\nlimitation the federal copyright law, and, to the extent such\nU.S. federal law does not apply, by the law of the Commonwealth of\nVirginia, excluding Virginia's conflict of law provisions.\nNotwithstanding the foregoing, with regard to derivative works based\non Python 1.6.1 that incorporate non-separable material that was\npreviously distributed under the GNU General Public License (GPL), the\nlaw of the Commonwealth of Virginia shall govern this License\nAgreement only as to issues arising under or with respect to\nParagraphs 4, 5, and 7 of this License Agreement. Nothing in this\nLicense Agreement shall be deemed to create any relationship of\nagency, partnership, or joint venture between CNRI and Licensee. This\nLicense Agreement does not grant permission to use CNRI trademarks or\ntrade name in a trademark sense to endorse or promote products or\nservices of Licensee, or any third party.\n\n8. By clicking on the \"ACCEPT\" button where indicated, or by copying,\ninstalling or otherwise using Python 1.6.1, Licensee agrees to be\nbound by the terms and conditions of this License Agreement.\n\n ACCEPT\n\n\nCWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2\n--------------------------------------------------\n\nCopyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,\nThe Netherlands. All rights reserved." + }, + { + "license_expression": "python-cwi", + "license_expression_spdx": "LicenseRef-scancode-python-cwi", + "from_file": "python.LICENSE", + "start_line": 257, + "end_line": 272, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 145, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "python-cwi.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/python-cwi.LICENSE", + "matched_text": "Permission to use, copy, modify, and distribute this software and its\ndocumentation for any purpose and without fee is hereby granted,\nprovided that the above copyright notice appear in all copies and that\nboth that copyright notice and this permission notice appear in\nsupporting documentation, and that the name of Stichting Mathematisch\nCentrum or CWI not be used in advertising or publicity pertaining to\ndistribution of the software without specific, written prior\npermission.\n\nSTICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO\nTHIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE\nFOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT\nOF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.", + "matched_text_diagnostics": "Permission to use, copy, modify, and distribute this software and its\ndocumentation for any purpose and without fee is hereby granted,\nprovided that the above copyright notice appear in all copies and that\nboth that copyright notice and this permission notice appear in\nsupporting documentation, and that the name of Stichting Mathematisch\nCentrum or CWI not be used in advertising or publicity pertaining to\ndistribution of the software without specific, written prior\npermission.\n\nSTICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO\nTHIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE\nFOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT\nOF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE." + } + ] }, { "identifier": "sleepycat-a7cd8833-ecc2-8ade-54d7-392befcce801", "license_expression": "sleepycat", + "license_expression_spdx": "Sleepycat", "detection_count": 1, "detection_log": [ "unknown-intro-followed-by-match" + ], + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "python.LICENSE", + "start_line": 317, + "end_line": 317, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 6, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "license-intro_50.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_50.RULE", + "matched_text": "This copy of Python includes a copy of db, which is licensed under the following terms:", + "matched_text_diagnostics": "is licensed under the following terms:" + }, + { + "license_expression": "sleepycat", + "license_expression_spdx": "Sleepycat", + "from_file": "python.LICENSE", + "start_line": 334, + "end_line": 351, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 174, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "sleepycat_5.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/sleepycat_5.RULE", + "matched_text": " * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. Redistributions in any form must be accompanied by information on\n * how to obtain complete source code for the DB software and any\n * accompanying software that uses the DB software. The source code\n * must either be included in the distribution or be available for no\n * more than the cost of distribution plus a nominal fee, and must be\n * freely redistributable under reasonable conditions. For an\n * executable file, complete source code means the source code for all\n * modules it contains. It does not include source code for modules or\n * files that typically accompany the major components of the operating\n * system on which the executable file runs.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. Redistributions in any form must be accompanied by information on\n * how to obtain complete source code for the DB software and any\n * accompanying software that uses the DB software. The source code\n * must either be included in the distribution or be available for no\n * more than the cost of distribution plus a nominal fee, and must be\n * freely redistributable under reasonable conditions. For an\n * executable file, complete source code means the source code for all\n * modules it contains. It does not include source code for modules or\n * files that typically accompany the major components of the operating\n * system on which the executable file runs." + } ] }, { "identifier": "ssleay_windows-d3dabc12-d861-87db-b339-f73beba8703a", "license_expression": "ssleay-windows", + "license_expression_spdx": "LicenseRef-scancode-ssleay-windows", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "ssleay-windows", + "license_expression_spdx": "LicenseRef-scancode-ssleay-windows", + "from_file": "python.LICENSE", + "start_line": 497, + "end_line": 548, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 453, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "ssleay-windows.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ssleay-windows.LICENSE", + "matched_text": " * This package is an SSL implementation written\n * by Eric Young (eay@cryptsoft.com).\n * The implementation was written so as to conform with Netscapes SSL.\n * \n * This library is free for commercial and non-commercial use as long as\n * the following conditions are aheared to. The following conditions\n * apply to all code found in this distribution, be it the RC4, RSA,\n * lhash, DES, etc., code; not just the SSL code. The SSL documentation\n * included with this distribution is covered by the same copyright terms\n * except that the holder is Tim Hudson (tjh@cryptsoft.com).\n * \n * Copyright remains Eric Young's, and as such any Copyright notices in\n * the code are not to be removed.\n * If this package is used in a product, Eric Young should be given attribution\n * as the author of the parts of the library used.\n * This can be in the form of a textual message at program startup or\n * in documentation (online or textual) provided with the package.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. All advertising materials mentioning features or use of this software\n * must display the following acknowledgement:\n * \"This product includes cryptographic software written by\n * Eric Young (eay@cryptsoft.com)\"\n * The word 'cryptographic' can be left out if the rouines from the library\n * being used are not cryptographic related :-).\n * 4. If you include any Windows specific code (or a derivative thereof) from \n * the apps directory (application code) you must include an acknowledgement:\n * \"This product includes software written by Tim Hudson (tjh@cryptsoft.com)\"\n * \n * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n * \n * The licence and distribution terms for any publically available version or\n * derivative of this code cannot be changed. i.e. this code cannot simply be\n * copied and put under another distribution licence\n * [including the GNU Public Licence.]", + "matched_text_diagnostics": "This package is an SSL implementation written\n * by Eric Young (eay@cryptsoft.com).\n * The implementation was written so as to conform with Netscapes SSL.\n * \n * This library is free for commercial and non-commercial use as long as\n * the following conditions are aheared to. The following conditions\n * apply to all code found in this distribution, be it the RC4, RSA,\n * lhash, DES, etc., code; not just the SSL code. The SSL documentation\n * included with this distribution is covered by the same copyright terms\n * except that the holder is Tim Hudson (tjh@cryptsoft.com).\n * \n * Copyright remains Eric Young's, and as such any Copyright notices in\n * the code are not to be removed.\n * If this package is used in a product, Eric Young should be given attribution\n * as the author of the parts of the library used.\n * This can be in the form of a textual message at program startup or\n * in documentation (online or textual) provided with the package.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. All advertising materials mentioning features or use of this software\n * must display the following acknowledgement:\n * \"This product includes cryptographic software written by\n * Eric Young (eay@cryptsoft.com)\"\n * The word 'cryptographic' can be left out if the rouines from the library\n * being used are not cryptographic related :-).\n * 4. If you include any Windows specific code (or a derivative thereof) from \n * the apps directory (application code) you must include an acknowledgement:\n * \"This product includes software written by Tim Hudson (tjh@cryptsoft.com)\"\n * \n * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n * \n * The licence and distribution terms for any publically available version or\n * derivative of this code cannot be changed. i.e. this code cannot simply be\n * copied and put under another distribution licence\n * [including the GNU Public Licence.]" + } + ] }, { "identifier": "tcl-75d8de8c-9cf0-d604-4b99-e03436ebfcd3", "license_expression": "tcl", + "license_expression_spdx": "TCL", "detection_count": 1, "detection_log": [ "unknown-intro-followed-by-match" + ], + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "python.LICENSE", + "start_line": 595, + "end_line": 595, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 6, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "license-intro_50.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_50.RULE", + "matched_text": "This copy of Python includes a copy of tk, which is licensed under the following terms:", + "matched_text_diagnostics": "is licensed under the following terms:" + }, + { + "license_expression": "tcl", + "license_expression_spdx": "TCL", + "from_file": "python.LICENSE", + "start_line": 597, + "end_line": 635, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 341, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "tcl_14.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/tcl_14.RULE", + "matched_text": "This software is copyrighted by the Regents of the University of\nCalifornia, Sun Microsystems, Inc., and other parties. The following\nterms apply to all files associated with the software unless explicitly\ndisclaimed in individual files.\n\nThe authors hereby grant permission to use, copy, modify, distribute,\nand license this software and its documentation for any purpose, provided\nthat existing copyright notices are retained in all copies and that this\nnotice is included verbatim in any distributions. No written agreement,\nlicense, or royalty fee is required for any of the authorized uses.\nModifications to this software may be copyrighted by their authors\nand need not follow the licensing terms described here, provided that\nthe new terms are clearly indicated on the first page of each file where\nthey apply.\n\nIN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY\nFOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES\nARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY\nDERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n\nTHE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,\nINCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE\nIS PROVIDED ON AN \"AS IS\" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE\nNO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR\nMODIFICATIONS.\n\nGOVERNMENT USE: If you are acquiring this software on behalf of the\nU.S. government, the Government shall have only \"Restricted Rights\"\nin the software and related documentation as defined in the Federal \nAcquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you\nare acquiring the software on behalf of the Department of Defense, the\nsoftware shall be classified as \"Commercial Computer Software\" and the\nGovernment shall have only \"Restricted Rights\" as defined in Clause\n252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the\nauthors grant the U.S. Government and others acting in its behalf\npermission to use and distribute the software in accordance with the\nterms specified in this license.", + "matched_text_diagnostics": "This software is copyrighted by the Regents of the University of\nCalifornia, Sun Microsystems, Inc., and other parties. The following\nterms apply to all files associated with the software unless explicitly\ndisclaimed in individual files.\n\nThe authors hereby grant permission to use, copy, modify, distribute,\nand license this software and its documentation for any purpose, provided\nthat existing copyright notices are retained in all copies and that this\nnotice is included verbatim in any distributions. No written agreement,\nlicense, or royalty fee is required for any of the authorized uses.\nModifications to this software may be copyrighted by their authors\nand need not follow the licensing terms described here, provided that\nthe new terms are clearly indicated on the first page of each file where\nthey apply.\n\nIN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY\nFOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES\nARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY\nDERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n\nTHE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,\nINCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE\nIS PROVIDED ON AN \"AS IS\" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE\nNO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR\nMODIFICATIONS.\n\nGOVERNMENT USE: If you are acquiring this software on behalf of the\nU.S. government, the Government shall have only \"Restricted Rights\"\nin the software and related documentation as defined in the Federal \nAcquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you\nare acquiring the software on behalf of the Department of Defense, the\nsoftware shall be classified as \"Commercial Computer Software\" and the\nGovernment shall have only \"Restricted Rights\" as defined in Clause\n252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the\nauthors grant the U.S. Government and others acting in its behalf\npermission to use and distribute the software in accordance with the\nterms specified in this license." + } ] }, { "identifier": "tcl-d865b2e8-435b-c54f-f19d-66d165a889ac", "license_expression": "tcl", + "license_expression_spdx": "TCL", "detection_count": 1, "detection_log": [ "unknown-intro-followed-by-match" + ], + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "python.LICENSE", + "start_line": 552, + "end_line": 552, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 6, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "license-intro_50.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_50.RULE", + "matched_text": "This copy of Python includes a copy of tcl, which is licensed under the following terms:", + "matched_text_diagnostics": "is licensed under the following terms:" + }, + { + "license_expression": "tcl", + "license_expression_spdx": "TCL", + "from_file": "python.LICENSE", + "start_line": 554, + "end_line": 593, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 345, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "tcl.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/tcl.LICENSE", + "matched_text": "This software is copyrighted by the Regents of the University of\nCalifornia, Sun Microsystems, Inc., Scriptics Corporation, ActiveState\nCorporation and other parties. The following terms apply to all files\nassociated with the software unless explicitly disclaimed in\nindividual files.\n\nThe authors hereby grant permission to use, copy, modify, distribute,\nand license this software and its documentation for any purpose, provided\nthat existing copyright notices are retained in all copies and that this\nnotice is included verbatim in any distributions. No written agreement,\nlicense, or royalty fee is required for any of the authorized uses.\nModifications to this software may be copyrighted by their authors\nand need not follow the licensing terms described here, provided that\nthe new terms are clearly indicated on the first page of each file where\nthey apply.\n\nIN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY\nFOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES\nARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY\nDERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n\nTHE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,\nINCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE\nIS PROVIDED ON AN \"AS IS\" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE\nNO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR\nMODIFICATIONS.\n\nGOVERNMENT USE: If you are acquiring this software on behalf of the\nU.S. government, the Government shall have only \"Restricted Rights\"\nin the software and related documentation as defined in the Federal \nAcquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you\nare acquiring the software on behalf of the Department of Defense, the\nsoftware shall be classified as \"Commercial Computer Software\" and the\nGovernment shall have only \"Restricted Rights\" as defined in Clause\n252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the\nauthors grant the U.S. Government and others acting in its behalf\npermission to use and distribute the software in accordance with the\nterms specified in this license.", + "matched_text_diagnostics": "This software is copyrighted by the Regents of the University of\nCalifornia, Sun Microsystems, Inc., Scriptics Corporation, ActiveState\nCorporation and other parties. The following terms apply to all files\nassociated with the software unless explicitly disclaimed in\nindividual files.\n\nThe authors hereby grant permission to use, copy, modify, distribute,\nand license this software and its documentation for any purpose, provided\nthat existing copyright notices are retained in all copies and that this\nnotice is included verbatim in any distributions. No written agreement,\nlicense, or royalty fee is required for any of the authorized uses.\nModifications to this software may be copyrighted by their authors\nand need not follow the licensing terms described here, provided that\nthe new terms are clearly indicated on the first page of each file where\nthey apply.\n\nIN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY\nFOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES\nARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY\nDERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n\nTHE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,\nINCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE\nIS PROVIDED ON AN \"AS IS\" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE\nNO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR\nMODIFICATIONS.\n\nGOVERNMENT USE: If you are acquiring this software on behalf of the\nU.S. government, the Government shall have only \"Restricted Rights\"\nin the software and related documentation as defined in the Federal \nAcquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you\nare acquiring the software on behalf of the Department of Defense, the\nsoftware shall be classified as \"Commercial Computer Software\" and the\nGovernment shall have only \"Restricted Rights\" as defined in Clause\n252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the\nauthors grant the U.S. Government and others acting in its behalf\npermission to use and distribute the software in accordance with the\nterms specified in this license." + } ] } ], @@ -1190,19 +1642,23 @@ "license_detections": [ { "license_expression": "python", + "license_expression_spdx": "Python-2.0", "matches": [ { - "score": 100.0, + "license_expression": "python", + "spdx_license_expression": "Python-2.0", + "from_file": "python.LICENSE", "start_line": 23, "end_line": 26, + "matcher": "2-aho", + "score": 100.0, "matched_length": 35, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "python", - "rule_identifier": "python_not_not-a-license_269.RULE", "rule_relevance": 100, + "rule_identifier": "python_not_not-a-license_269.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/python_not_not-a-license_269.RULE", - "matched_text": "All Python releases are Open Source (see http://www.opensource.org for\nthe Open Source Definition). Historically, most, but not all, Python\nreleases have also been GPL-compatible; the table below summarizes\nthe various releases." + "matched_text": "All Python releases are Open Source (see http://www.opensource.org for\nthe Open Source Definition). Historically, most, but not all, Python\nreleases have also been GPL-compatible; the table below summarizes\nthe various releases.", + "matched_text_diagnostics": "All Python releases are Open Source (see http://www.opensource.org for\nthe Open Source Definition). Historically, most, but not all, Python\nreleases have also been GPL-compatible; the table below summarizes\nthe various releases." } ], "detection_log": [], @@ -1210,110 +1666,135 @@ }, { "license_expression": "other-copyleft AND gpl-1.0-plus", + "license_expression_spdx": "LicenseRef-scancode-other-copyleft AND GPL-1.0-or-later", "matches": [ { - "score": 80.0, + "license_expression": "other-copyleft", + "spdx_license_expression": "LicenseRef-scancode-other-copyleft", + "from_file": "python.LICENSE", "start_line": 62, "end_line": 62, + "matcher": "2-aho", + "score": 80.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "other-copyleft", - "rule_identifier": "other-copyleft_24.RULE", "rule_relevance": 80, + "rule_identifier": "other-copyleft_24.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-copyleft_24.RULE", - "matched_text": "GPL-compatible" + "matched_text": "(1) GPL-compatible doesn't mean that we're distributing Python under", + "matched_text_diagnostics": "GPL-compatible" }, { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "python.LICENSE", "start_line": 62, "end_line": 63, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_200.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_200.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_200.RULE", - "matched_text": "under\n the GPL." + "matched_text": "(1) GPL-compatible doesn't mean that we're distributing Python under\n the GPL. All Python licenses, unlike the GPL, let you distribute", + "matched_text_diagnostics": "under\n the GPL." }, { - "score": 85.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "python.LICENSE", "start_line": 63, "end_line": 63, + "matcher": "2-aho", + "score": 85.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_351.RULE", "rule_relevance": 85, + "rule_identifier": "gpl-1.0-plus_351.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_351.RULE", - "matched_text": "the GPL," + "matched_text": " the GPL. All Python licenses, unlike the GPL, let you distribute", + "matched_text_diagnostics": "the GPL," }, { - "score": 85.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "python.LICENSE", "start_line": 64, "end_line": 65, + "matcher": "2-aho", + "score": 85.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_351.RULE", "rule_relevance": 85, + "rule_identifier": "gpl-1.0-plus_351.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_351.RULE", - "matched_text": "The\n GPL-" + "matched_text": " a modified version without making your changes open source. The\n GPL-compatible licenses make it possible to combine Python with", + "matched_text_diagnostics": "The\n GPL-" }, { - "score": 80.0, + "license_expression": "other-copyleft", + "spdx_license_expression": "LicenseRef-scancode-other-copyleft", + "from_file": "python.LICENSE", "start_line": 65, "end_line": 65, + "matcher": "2-aho", + "score": 80.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "other-copyleft", - "rule_identifier": "other-copyleft_24.RULE", "rule_relevance": 80, + "rule_identifier": "other-copyleft_24.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-copyleft_24.RULE", - "matched_text": "GPL-compatible" + "matched_text": " GPL-compatible licenses make it possible to combine Python with", + "matched_text_diagnostics": "GPL-compatible" }, { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "python.LICENSE", "start_line": 66, "end_line": 66, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_194.RULE", "rule_relevance": 100, + "rule_identifier": "gpl_194.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_194.RULE", - "matched_text": "released under the GPL;" + "matched_text": " other software that is released under the GPL; the others don't.", + "matched_text_diagnostics": "released under the GPL;" }, { - "score": 80.0, + "license_expression": "other-copyleft", + "spdx_license_expression": "LicenseRef-scancode-other-copyleft", + "from_file": "python.LICENSE", "start_line": 68, "end_line": 68, + "matcher": "2-aho", + "score": 80.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "other-copyleft", - "rule_identifier": "other-copyleft_24.RULE", "rule_relevance": 80, + "rule_identifier": "other-copyleft_24.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-copyleft_24.RULE", - "matched_text": "GPL-compatible," + "matched_text": "(2) According to Richard Stallman, 1.6.1 is not GPL-compatible,", + "matched_text_diagnostics": "GPL-compatible," }, { - "score": 85.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "python.LICENSE", "start_line": 71, "end_line": 71, + "matcher": "2-aho", + "score": 85.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_351.RULE", "rule_relevance": 85, + "rule_identifier": "gpl-1.0-plus_351.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_351.RULE", - "matched_text": "the GPL." + "matched_text": " is \"not incompatible\" with the GPL.", + "matched_text_diagnostics": "the GPL." } ], "detection_log": [], @@ -1321,32 +1802,39 @@ }, { "license_expression": "python AND python-cwi", + "license_expression_spdx": "Python-2.0 AND LicenseRef-scancode-python-cwi", "matches": [ { - "score": 90.52, + "license_expression": "python", + "spdx_license_expression": "Python-2.0", + "from_file": "python.LICENSE", "start_line": 77, "end_line": 255, + "matcher": "3-seq", + "score": 90.52, "matched_length": 1385, "match_coverage": 90.52, - "matcher": "3-seq", - "license_expression": "python", - "rule_identifier": "python_2019.RULE", "rule_relevance": 100, + "rule_identifier": "python_2019.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/python_2019.RULE", - "matched_text": "B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON\n===============================================================\n\nPYTHON SOFTWARE FOUNDATION LICENSE VERSION 2\n--------------------------------------------\n\n1. This LICENSE AGREEMENT is between the Python Software Foundation\n(\"PSF\"), and the Individual or Organization (\"Licensee\") accessing and\notherwise using this software (\"Python\") in source or binary form and\nits associated documentation.\n\n2. Subject to the terms and conditions of this License Agreement, PSF\nhereby grants Licensee a nonexclusive, royalty-free, world-wide\nlicense to reproduce, analyze, test, perform and/or display publicly,\nprepare derivative works, distribute, and otherwise use Python\nalone or in any derivative version, provided, however, that PSF's\nLicense Agreement and PSF's notice of copyright, i.e., \"Copyright (c)\n[2001], [2002], [2003], [2004], [2005], [2006], [2007], [2008] Python Software Foundation; \nAll Rights Reserved\" are retained in Python alone or in any derivative \nversion prepared by Licensee.\n\n3. In the event Licensee prepares a derivative work that is based on\nor incorporates Python or any part thereof, and wants to make\nthe derivative work available to others as provided herein, then\nLicensee hereby agrees to include in any such work a brief summary of\nthe changes made to Python.\n\n4. PSF is making Python available to Licensee on an \"AS IS\"\nbasis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR\nIMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND\nDISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS\nFOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT\nINFRINGE ANY THIRD PARTY RIGHTS.\n\n5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON\nFOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS\nA RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,\nOR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n\n6. This License Agreement will automatically terminate upon a material\nbreach of its terms and conditions.\n\n7. Nothing in this License Agreement shall be deemed to create any\nrelationship of agency, partnership, or joint venture between PSF and\nLicensee. This License Agreement does not grant permission to use PSF\ntrademarks or trade name in a trademark sense to endorse or promote\nproducts or services of Licensee, or any third party.\n\n8. By copying, installing or otherwise using Python, Licensee\nagrees to be bound by the terms and conditions of this License\nAgreement.\n\n\nBEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0\n-------------------------------------------\n\nBEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1\n\n1. This LICENSE AGREEMENT is between BeOpen.com (\"BeOpen\"), having an\noffice at 160 Saratoga Avenue, Santa Clara, CA 95051, and the\nIndividual or Organization (\"Licensee\") accessing and otherwise using\nthis software in source or binary form and its associated\ndocumentation (\"the Software\").\n\n2. Subject to the terms and conditions of this BeOpen Python License\nAgreement, BeOpen hereby grants Licensee a non-exclusive,\nroyalty-free, world-wide license to reproduce, analyze, test, perform\nand/or display publicly, prepare derivative works, distribute, and\notherwise use the Software alone or in any derivative version,\nprovided, however, that the BeOpen Python License is retained in the\nSoftware, alone or in any derivative version prepared by Licensee.\n\n3. BeOpen is making the Software available to Licensee on an \"AS IS\"\nbasis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR\nIMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND\nDISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS\nFOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT\nINFRINGE ANY THIRD PARTY RIGHTS.\n\n4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE\nSOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS\nAS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY\nDERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n\n5. This License Agreement will automatically terminate upon a material\nbreach of its terms and conditions.\n\n6. This License Agreement shall be governed by and interpreted in all\nrespects by the law of the State of California, excluding conflict of\nlaw provisions. Nothing in this License Agreement shall be deemed to\ncreate any relationship of agency, partnership, or joint venture\nbetween BeOpen and Licensee. This License Agreement does not grant\npermission to use BeOpen trademarks or trade names in a trademark\nsense to endorse or promote products or services of Licensee, or any\nthird party. As an exception, the \"BeOpen Python\" logos available at\nhttp://www.pythonlabs.com/logos.html may be used according to the\npermissions granted on that web page.\n\n7. By copying, installing or otherwise using the software, Licensee\nagrees to be bound by the terms and conditions of this License\nAgreement.\n\n\nCNRI LICENSE AGREEMENT FOR PYTHON 1.6.1\n---------------------------------------\n\n1. This LICENSE AGREEMENT is between the Corporation for National\nResearch Initiatives, having an office at 1895 Preston White Drive,\nReston, VA 20191 (\"CNRI\"), and the Individual or Organization\n(\"Licensee\") accessing and otherwise using Python 1.6.1 software in\nsource or binary form and its associated documentation.\n\n2. Subject to the terms and conditions of this License Agreement, CNRI\nhereby grants Licensee a nonexclusive, royalty-free, world-wide\nlicense to reproduce, analyze, test, perform and/or display publicly,\nprepare derivative works, distribute, and otherwise use Python 1.6.1\nalone or in any derivative version, provided, however, that CNRI's\nLicense Agreement and CNRI's notice of copyright, i.e., \"Copyright (c)\n1995-2001 Corporation for National Research Initiatives; All Rights\nReserved\" are retained in Python 1.6.1 alone or in any derivative\nversion prepared by Licensee. Alternately, in lieu of CNRI's License\nAgreement, Licensee may substitute the following text (omitting the\nquotes): \"Python 1.6.1 is made available subject to the terms and\nconditions in CNRI's License Agreement. This Agreement together with\nPython 1.6.1 may be located on the Internet using the following\nunique, persistent identifier (known as a handle): 1895.22/1013. This\nAgreement may also be obtained from a proxy server on the Internet\nusing the following URL: http://hdl.handle.net/1895.22/1013\".\n\n3. In the event Licensee prepares a derivative work that is based on\nor incorporates Python 1.6.1 or any part thereof, and wants to make\nthe derivative work available to others as provided herein, then\nLicensee hereby agrees to include in any such work a brief summary of\nthe changes made to Python 1.6.1.\n\n4. CNRI is making Python 1.6.1 available to Licensee on an \"AS IS\"\nbasis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR\nIMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND\nDISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS\nFOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT\nINFRINGE ANY THIRD PARTY RIGHTS.\n\n5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON\n1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS\nA RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,\nOR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n\n6. This License Agreement will automatically terminate upon a material\nbreach of its terms and conditions.\n\n7. This License Agreement shall be governed by the federal\nintellectual property law of the United States, including without\nlimitation the federal copyright law, and, to the extent such\nU.S. federal law does not apply, by the law of the Commonwealth of\nVirginia, excluding Virginia's conflict of law provisions.\nNotwithstanding the foregoing, with regard to derivative works based\non Python 1.6.1 that incorporate non-separable material that was\npreviously distributed under the GNU General Public License (GPL), the\nlaw of the Commonwealth of Virginia shall govern this License\nAgreement only as to issues arising under or with respect to\nParagraphs 4, 5, and 7 of this License Agreement. Nothing in this\nLicense Agreement shall be deemed to create any relationship of\nagency, partnership, or joint venture between CNRI and Licensee. This\nLicense Agreement does not grant permission to use CNRI trademarks or\ntrade name in a trademark sense to endorse or promote products or\nservices of Licensee, or any third party.\n\n8. By clicking on the \"ACCEPT\" button where indicated, or by copying,\ninstalling or otherwise using Python 1.6.1, Licensee agrees to be\nbound by the terms and conditions of this License Agreement.\n\n ACCEPT\n\n\nCWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2\n--------------------------------------------------\n\nCopyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,\nThe Netherlands. All rights reserved." + "matched_text": "B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON\n===============================================================\n\nPYTHON SOFTWARE FOUNDATION LICENSE VERSION 2\n--------------------------------------------\n\n1. This LICENSE AGREEMENT is between the Python Software Foundation\n(\"PSF\"), and the Individual or Organization (\"Licensee\") accessing and\notherwise using this software (\"Python\") in source or binary form and\nits associated documentation.\n\n2. Subject to the terms and conditions of this License Agreement, PSF\nhereby grants Licensee a nonexclusive, royalty-free, world-wide\nlicense to reproduce, analyze, test, perform and/or display publicly,\nprepare derivative works, distribute, and otherwise use Python\nalone or in any derivative version, provided, however, that PSF's\nLicense Agreement and PSF's notice of copyright, i.e., \"Copyright (c)\n2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Python Software Foundation; \nAll Rights Reserved\" are retained in Python alone or in any derivative \nversion prepared by Licensee.\n\n3. In the event Licensee prepares a derivative work that is based on\nor incorporates Python or any part thereof, and wants to make\nthe derivative work available to others as provided herein, then\nLicensee hereby agrees to include in any such work a brief summary of\nthe changes made to Python.\n\n4. PSF is making Python available to Licensee on an \"AS IS\"\nbasis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR\nIMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND\nDISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS\nFOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT\nINFRINGE ANY THIRD PARTY RIGHTS.\n\n5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON\nFOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS\nA RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,\nOR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n\n6. This License Agreement will automatically terminate upon a material\nbreach of its terms and conditions.\n\n7. Nothing in this License Agreement shall be deemed to create any\nrelationship of agency, partnership, or joint venture between PSF and\nLicensee. This License Agreement does not grant permission to use PSF\ntrademarks or trade name in a trademark sense to endorse or promote\nproducts or services of Licensee, or any third party.\n\n8. By copying, installing or otherwise using Python, Licensee\nagrees to be bound by the terms and conditions of this License\nAgreement.\n\n\nBEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0\n-------------------------------------------\n\nBEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1\n\n1. This LICENSE AGREEMENT is between BeOpen.com (\"BeOpen\"), having an\noffice at 160 Saratoga Avenue, Santa Clara, CA 95051, and the\nIndividual or Organization (\"Licensee\") accessing and otherwise using\nthis software in source or binary form and its associated\ndocumentation (\"the Software\").\n\n2. Subject to the terms and conditions of this BeOpen Python License\nAgreement, BeOpen hereby grants Licensee a non-exclusive,\nroyalty-free, world-wide license to reproduce, analyze, test, perform\nand/or display publicly, prepare derivative works, distribute, and\notherwise use the Software alone or in any derivative version,\nprovided, however, that the BeOpen Python License is retained in the\nSoftware, alone or in any derivative version prepared by Licensee.\n\n3. BeOpen is making the Software available to Licensee on an \"AS IS\"\nbasis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR\nIMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND\nDISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS\nFOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT\nINFRINGE ANY THIRD PARTY RIGHTS.\n\n4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE\nSOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS\nAS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY\nDERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n\n5. This License Agreement will automatically terminate upon a material\nbreach of its terms and conditions.\n\n6. This License Agreement shall be governed by and interpreted in all\nrespects by the law of the State of California, excluding conflict of\nlaw provisions. Nothing in this License Agreement shall be deemed to\ncreate any relationship of agency, partnership, or joint venture\nbetween BeOpen and Licensee. This License Agreement does not grant\npermission to use BeOpen trademarks or trade names in a trademark\nsense to endorse or promote products or services of Licensee, or any\nthird party. As an exception, the \"BeOpen Python\" logos available at\nhttp://www.pythonlabs.com/logos.html may be used according to the\npermissions granted on that web page.\n\n7. By copying, installing or otherwise using the software, Licensee\nagrees to be bound by the terms and conditions of this License\nAgreement.\n\n\nCNRI LICENSE AGREEMENT FOR PYTHON 1.6.1\n---------------------------------------\n\n1. This LICENSE AGREEMENT is between the Corporation for National\nResearch Initiatives, having an office at 1895 Preston White Drive,\nReston, VA 20191 (\"CNRI\"), and the Individual or Organization\n(\"Licensee\") accessing and otherwise using Python 1.6.1 software in\nsource or binary form and its associated documentation.\n\n2. Subject to the terms and conditions of this License Agreement, CNRI\nhereby grants Licensee a nonexclusive, royalty-free, world-wide\nlicense to reproduce, analyze, test, perform and/or display publicly,\nprepare derivative works, distribute, and otherwise use Python 1.6.1\nalone or in any derivative version, provided, however, that CNRI's\nLicense Agreement and CNRI's notice of copyright, i.e., \"Copyright (c)\n1995-2001 Corporation for National Research Initiatives; All Rights\nReserved\" are retained in Python 1.6.1 alone or in any derivative\nversion prepared by Licensee. Alternately, in lieu of CNRI's License\nAgreement, Licensee may substitute the following text (omitting the\nquotes): \"Python 1.6.1 is made available subject to the terms and\nconditions in CNRI's License Agreement. This Agreement together with\nPython 1.6.1 may be located on the Internet using the following\nunique, persistent identifier (known as a handle): 1895.22/1013. This\nAgreement may also be obtained from a proxy server on the Internet\nusing the following URL: http://hdl.handle.net/1895.22/1013\".\n\n3. In the event Licensee prepares a derivative work that is based on\nor incorporates Python 1.6.1 or any part thereof, and wants to make\nthe derivative work available to others as provided herein, then\nLicensee hereby agrees to include in any such work a brief summary of\nthe changes made to Python 1.6.1.\n\n4. CNRI is making Python 1.6.1 available to Licensee on an \"AS IS\"\nbasis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR\nIMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND\nDISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS\nFOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT\nINFRINGE ANY THIRD PARTY RIGHTS.\n\n5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON\n1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS\nA RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,\nOR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n\n6. This License Agreement will automatically terminate upon a material\nbreach of its terms and conditions.\n\n7. This License Agreement shall be governed by the federal\nintellectual property law of the United States, including without\nlimitation the federal copyright law, and, to the extent such\nU.S. federal law does not apply, by the law of the Commonwealth of\nVirginia, excluding Virginia's conflict of law provisions.\nNotwithstanding the foregoing, with regard to derivative works based\non Python 1.6.1 that incorporate non-separable material that was\npreviously distributed under the GNU General Public License (GPL), the\nlaw of the Commonwealth of Virginia shall govern this License\nAgreement only as to issues arising under or with respect to\nParagraphs 4, 5, and 7 of this License Agreement. Nothing in this\nLicense Agreement shall be deemed to create any relationship of\nagency, partnership, or joint venture between CNRI and Licensee. This\nLicense Agreement does not grant permission to use CNRI trademarks or\ntrade name in a trademark sense to endorse or promote products or\nservices of Licensee, or any third party.\n\n8. By clicking on the \"ACCEPT\" button where indicated, or by copying,\ninstalling or otherwise using Python 1.6.1, Licensee agrees to be\nbound by the terms and conditions of this License Agreement.\n\n ACCEPT\n\n\nCWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2\n--------------------------------------------------\n\nCopyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,\nThe Netherlands. All rights reserved.", + "matched_text_diagnostics": "B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON\n===============================================================\n\nPYTHON SOFTWARE FOUNDATION LICENSE VERSION 2\n--------------------------------------------\n\n1. This LICENSE AGREEMENT is between the Python Software Foundation\n(\"PSF\"), and the Individual or Organization (\"Licensee\") accessing and\notherwise using this software (\"Python\") in source or binary form and\nits associated documentation.\n\n2. Subject to the terms and conditions of this License Agreement, PSF\nhereby grants Licensee a nonexclusive, royalty-free, world-wide\nlicense to reproduce, analyze, test, perform and/or display publicly,\nprepare derivative works, distribute, and otherwise use Python\nalone or in any derivative version, provided, however, that PSF's\nLicense Agreement and PSF's notice of copyright, i.e., \"Copyright (c)\n[2001], [2002], [2003], [2004], [2005], [2006], [2007], [2008] Python Software Foundation; \nAll Rights Reserved\" are retained in Python alone or in any derivative \nversion prepared by Licensee.\n\n3. In the event Licensee prepares a derivative work that is based on\nor incorporates Python or any part thereof, and wants to make\nthe derivative work available to others as provided herein, then\nLicensee hereby agrees to include in any such work a brief summary of\nthe changes made to Python.\n\n4. PSF is making Python available to Licensee on an \"AS IS\"\nbasis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR\nIMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND\nDISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS\nFOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT\nINFRINGE ANY THIRD PARTY RIGHTS.\n\n5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON\nFOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS\nA RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,\nOR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n\n6. This License Agreement will automatically terminate upon a material\nbreach of its terms and conditions.\n\n7. Nothing in this License Agreement shall be deemed to create any\nrelationship of agency, partnership, or joint venture between PSF and\nLicensee. This License Agreement does not grant permission to use PSF\ntrademarks or trade name in a trademark sense to endorse or promote\nproducts or services of Licensee, or any third party.\n\n8. By copying, installing or otherwise using Python, Licensee\nagrees to be bound by the terms and conditions of this License\nAgreement.\n\n\nBEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0\n-------------------------------------------\n\nBEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1\n\n1. This LICENSE AGREEMENT is between BeOpen.com (\"BeOpen\"), having an\noffice at 160 Saratoga Avenue, Santa Clara, CA 95051, and the\nIndividual or Organization (\"Licensee\") accessing and otherwise using\nthis software in source or binary form and its associated\ndocumentation (\"the Software\").\n\n2. Subject to the terms and conditions of this BeOpen Python License\nAgreement, BeOpen hereby grants Licensee a non-exclusive,\nroyalty-free, world-wide license to reproduce, analyze, test, perform\nand/or display publicly, prepare derivative works, distribute, and\notherwise use the Software alone or in any derivative version,\nprovided, however, that the BeOpen Python License is retained in the\nSoftware, alone or in any derivative version prepared by Licensee.\n\n3. BeOpen is making the Software available to Licensee on an \"AS IS\"\nbasis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR\nIMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND\nDISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS\nFOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT\nINFRINGE ANY THIRD PARTY RIGHTS.\n\n4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE\nSOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS\nAS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY\nDERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n\n5. This License Agreement will automatically terminate upon a material\nbreach of its terms and conditions.\n\n6. This License Agreement shall be governed by and interpreted in all\nrespects by the law of the State of California, excluding conflict of\nlaw provisions. Nothing in this License Agreement shall be deemed to\ncreate any relationship of agency, partnership, or joint venture\nbetween BeOpen and Licensee. This License Agreement does not grant\npermission to use BeOpen trademarks or trade names in a trademark\nsense to endorse or promote products or services of Licensee, or any\nthird party. As an exception, the \"BeOpen Python\" logos available at\nhttp://www.pythonlabs.com/logos.html may be used according to the\npermissions granted on that web page.\n\n7. By copying, installing or otherwise using the software, Licensee\nagrees to be bound by the terms and conditions of this License\nAgreement.\n\n\nCNRI LICENSE AGREEMENT FOR PYTHON 1.6.1\n---------------------------------------\n\n1. This LICENSE AGREEMENT is between the Corporation for National\nResearch Initiatives, having an office at 1895 Preston White Drive,\nReston, VA 20191 (\"CNRI\"), and the Individual or Organization\n(\"Licensee\") accessing and otherwise using Python 1.6.1 software in\nsource or binary form and its associated documentation.\n\n2. Subject to the terms and conditions of this License Agreement, CNRI\nhereby grants Licensee a nonexclusive, royalty-free, world-wide\nlicense to reproduce, analyze, test, perform and/or display publicly,\nprepare derivative works, distribute, and otherwise use Python 1.6.1\nalone or in any derivative version, provided, however, that CNRI's\nLicense Agreement and CNRI's notice of copyright, i.e., \"Copyright (c)\n1995-2001 Corporation for National Research Initiatives; All Rights\nReserved\" are retained in Python 1.6.1 alone or in any derivative\nversion prepared by Licensee. Alternately, in lieu of CNRI's License\nAgreement, Licensee may substitute the following text (omitting the\nquotes): \"Python 1.6.1 is made available subject to the terms and\nconditions in CNRI's License Agreement. This Agreement together with\nPython 1.6.1 may be located on the Internet using the following\nunique, persistent identifier (known as a handle): 1895.22/1013. This\nAgreement may also be obtained from a proxy server on the Internet\nusing the following URL: http://hdl.handle.net/1895.22/1013\".\n\n3. In the event Licensee prepares a derivative work that is based on\nor incorporates Python 1.6.1 or any part thereof, and wants to make\nthe derivative work available to others as provided herein, then\nLicensee hereby agrees to include in any such work a brief summary of\nthe changes made to Python 1.6.1.\n\n4. CNRI is making Python 1.6.1 available to Licensee on an \"AS IS\"\nbasis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR\nIMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND\nDISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS\nFOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT\nINFRINGE ANY THIRD PARTY RIGHTS.\n\n5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON\n1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS\nA RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,\nOR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n\n6. This License Agreement will automatically terminate upon a material\nbreach of its terms and conditions.\n\n7. This License Agreement shall be governed by the federal\nintellectual property law of the United States, including without\nlimitation the federal copyright law, and, to the extent such\nU.S. federal law does not apply, by the law of the Commonwealth of\nVirginia, excluding Virginia's conflict of law provisions.\nNotwithstanding the foregoing, with regard to derivative works based\non Python 1.6.1 that incorporate non-separable material that was\npreviously distributed under the GNU General Public License (GPL), the\nlaw of the Commonwealth of Virginia shall govern this License\nAgreement only as to issues arising under or with respect to\nParagraphs 4, 5, and 7 of this License Agreement. Nothing in this\nLicense Agreement shall be deemed to create any relationship of\nagency, partnership, or joint venture between CNRI and Licensee. This\nLicense Agreement does not grant permission to use CNRI trademarks or\ntrade name in a trademark sense to endorse or promote products or\nservices of Licensee, or any third party.\n\n8. By clicking on the \"ACCEPT\" button where indicated, or by copying,\ninstalling or otherwise using Python 1.6.1, Licensee agrees to be\nbound by the terms and conditions of this License Agreement.\n\n ACCEPT\n\n\nCWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2\n--------------------------------------------------\n\nCopyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,\nThe Netherlands. All rights reserved." }, { - "score": 100.0, + "license_expression": "python-cwi", + "spdx_license_expression": "LicenseRef-scancode-python-cwi", + "from_file": "python.LICENSE", "start_line": 257, "end_line": 272, + "matcher": "2-aho", + "score": 100.0, "matched_length": 145, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "python-cwi", - "rule_identifier": "python-cwi.LICENSE", "rule_relevance": 100, + "rule_identifier": "python-cwi.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/python-cwi.LICENSE", - "matched_text": "Permission to use, copy, modify, and distribute this software and its\ndocumentation for any purpose and without fee is hereby granted,\nprovided that the above copyright notice appear in all copies and that\nboth that copyright notice and this permission notice appear in\nsupporting documentation, and that the name of Stichting Mathematisch\nCentrum or CWI not be used in advertising or publicity pertaining to\ndistribution of the software without specific, written prior\npermission.\n\nSTICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO\nTHIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE\nFOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT\nOF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE." + "matched_text": "Permission to use, copy, modify, and distribute this software and its\ndocumentation for any purpose and without fee is hereby granted,\nprovided that the above copyright notice appear in all copies and that\nboth that copyright notice and this permission notice appear in\nsupporting documentation, and that the name of Stichting Mathematisch\nCentrum or CWI not be used in advertising or publicity pertaining to\ndistribution of the software without specific, written prior\npermission.\n\nSTICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO\nTHIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE\nFOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT\nOF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.", + "matched_text_diagnostics": "Permission to use, copy, modify, and distribute this software and its\ndocumentation for any purpose and without fee is hereby granted,\nprovided that the above copyright notice appear in all copies and that\nboth that copyright notice and this permission notice appear in\nsupporting documentation, and that the name of Stichting Mathematisch\nCentrum or CWI not be used in advertising or publicity pertaining to\ndistribution of the software without specific, written prior\npermission.\n\nSTICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO\nTHIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE\nFOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT\nOF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE." } ], "detection_log": [], @@ -1354,32 +1842,39 @@ }, { "license_expression": "bzip2-libbzip-2010", + "license_expression_spdx": "bzip2-1.0.6", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "python.LICENSE", "start_line": 274, "end_line": 274, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "license-intro_50.RULE", "rule_relevance": 100, + "rule_identifier": "license-intro_50.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_50.RULE", - "matched_text": "is licensed under the following terms:" + "matched_text": "This copy of Python includes a copy of bzip2, which is licensed under the following terms:", + "matched_text_diagnostics": "is licensed under the following terms:" }, { - "score": 100.0, + "license_expression": "bzip2-libbzip-2010", + "spdx_license_expression": "bzip2-1.0.6", + "from_file": "python.LICENSE", "start_line": 281, "end_line": 310, + "matcher": "2-aho", + "score": 100.0, "matched_length": 233, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bzip2-libbzip-2010", - "rule_identifier": "bzip2-libbzip-2010.LICENSE", "rule_relevance": 100, + "rule_identifier": "bzip2-libbzip-2010.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bzip2-libbzip-2010.LICENSE", - "matched_text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n\n1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n2. The origin of this software must not be misrepresented; you must \n not claim that you wrote the original software. If you use this \n software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n3. Altered source versions must be plainly marked as such, and must\n not be misrepresented as being the original software.\n\n4. The name of the author may not be used to endorse or promote \n products derived from this software without specific prior written \n permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\nOR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\nGOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\nWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + "matched_text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n\n1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n2. The origin of this software must not be misrepresented; you must \n not claim that you wrote the original software. If you use this \n software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n3. Altered source versions must be plainly marked as such, and must\n not be misrepresented as being the original software.\n\n4. The name of the author may not be used to endorse or promote \n products derived from this software without specific prior written \n permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\nOR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\nGOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\nWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n\n1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n2. The origin of this software must not be misrepresented; you must \n not claim that you wrote the original software. If you use this \n software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n3. Altered source versions must be plainly marked as such, and must\n not be misrepresented as being the original software.\n\n4. The name of the author may not be used to endorse or promote \n products derived from this software without specific prior written \n permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\nOR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\nGOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\nWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." } ], "detection_log": [ @@ -1389,32 +1884,39 @@ }, { "license_expression": "sleepycat", + "license_expression_spdx": "Sleepycat", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "python.LICENSE", "start_line": 317, "end_line": 317, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "license-intro_50.RULE", "rule_relevance": 100, + "rule_identifier": "license-intro_50.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_50.RULE", - "matched_text": "is licensed under the following terms:" + "matched_text": "This copy of Python includes a copy of db, which is licensed under the following terms:", + "matched_text_diagnostics": "is licensed under the following terms:" }, { - "score": 100.0, + "license_expression": "sleepycat", + "spdx_license_expression": "Sleepycat", + "from_file": "python.LICENSE", "start_line": 334, "end_line": 351, + "matcher": "2-aho", + "score": 100.0, "matched_length": 174, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "sleepycat", - "rule_identifier": "sleepycat_5.RULE", "rule_relevance": 100, + "rule_identifier": "sleepycat_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/sleepycat_5.RULE", - "matched_text": "Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. Redistributions in any form must be accompanied by information on\n * how to obtain complete source code for the DB software and any\n * accompanying software that uses the DB software. The source code\n * must either be included in the distribution or be available for no\n * more than the cost of distribution plus a nominal fee, and must be\n * freely redistributable under reasonable conditions. For an\n * executable file, complete source code means the source code for all\n * modules it contains. It does not include source code for modules or\n * files that typically accompany the major components of the operating\n * system on which the executable file runs." + "matched_text": " * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. Redistributions in any form must be accompanied by information on\n * how to obtain complete source code for the DB software and any\n * accompanying software that uses the DB software. The source code\n * must either be included in the distribution or be available for no\n * more than the cost of distribution plus a nominal fee, and must be\n * freely redistributable under reasonable conditions. For an\n * executable file, complete source code means the source code for all\n * modules it contains. It does not include source code for modules or\n * files that typically accompany the major components of the operating\n * system on which the executable file runs.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. Redistributions in any form must be accompanied by information on\n * how to obtain complete source code for the DB software and any\n * accompanying software that uses the DB software. The source code\n * must either be included in the distribution or be available for no\n * more than the cost of distribution plus a nominal fee, and must be\n * freely redistributable under reasonable conditions. For an\n * executable file, complete source code means the source code for all\n * modules it contains. It does not include source code for modules or\n * files that typically accompany the major components of the operating\n * system on which the executable file runs." } ], "detection_log": [ @@ -1424,19 +1926,23 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "python.LICENSE", "start_line": 369, "end_line": 391, + "matcher": "2-aho", + "score": 100.0, "matched_length": 213, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_19.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_19.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE", - "matched_text": "Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. 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 *\n * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE." + "matched_text": " * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. 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 *\n * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. 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 *\n * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE." } ], "detection_log": [], @@ -1444,19 +1950,23 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "python.LICENSE", "start_line": 397, "end_line": 419, + "matcher": "2-aho", + "score": 100.0, "matched_length": 213, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_943.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_943.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_943.RULE", - "matched_text": "Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. 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 *\n * THIS SOFTWARE IS PROVIDED BY HARVARD AND ITS CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL HARVARD OR ITS CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE." + "matched_text": " * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. 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 *\n * THIS SOFTWARE IS PROVIDED BY HARVARD AND ITS CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL HARVARD OR ITS CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. 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 *\n * THIS SOFTWARE IS PROVIDED BY HARVARD AND ITS CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL HARVARD OR ITS CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE." } ], "detection_log": [], @@ -1464,45 +1974,55 @@ }, { "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "python.LICENSE", "start_line": 422, "end_line": 422, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "license-intro_50.RULE", "rule_relevance": 100, + "rule_identifier": "license-intro_50.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_50.RULE", - "matched_text": "is licensed under the following terms:" + "matched_text": "This copy of Python includes a copy of openssl, which is licensed under the following terms:", + "matched_text_diagnostics": "is licensed under the following terms:" }, { - "score": 100.0, + "license_expression": "openssl-ssleay", + "spdx_license_expression": "OpenSSL", + "from_file": "python.LICENSE", "start_line": 428, "end_line": 432, + "matcher": "2-aho", + "score": 100.0, "matched_length": 56, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "openssl-ssleay", - "rule_identifier": "openssl-ssleay_43.RULE", "rule_relevance": 100, + "rule_identifier": "openssl-ssleay_43.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/openssl-ssleay_43.RULE", - "matched_text": "The OpenSSL toolkit stays under a dual license, i.e. both the conditions of\n the OpenSSL License and the original SSLeay license apply to the toolkit.\n See below for the actual license texts. Actually both licenses are BSD-style\n Open Source licenses. In case of any license issues related to OpenSSL\n please contact openssl-core@openssl.org." + "matched_text": " The OpenSSL toolkit stays under a dual license, i.e. both the conditions of\n the OpenSSL License and the original SSLeay license apply to the toolkit.\n See below for the actual license texts. Actually both licenses are BSD-style\n Open Source licenses. In case of any license issues related to OpenSSL\n please contact openssl-core@openssl.org.", + "matched_text_diagnostics": "The OpenSSL toolkit stays under a dual license, i.e. both the conditions of\n the OpenSSL License and the original SSLeay license apply to the toolkit.\n See below for the actual license texts. Actually both licenses are BSD-style\n Open Source licenses. In case of any license issues related to OpenSSL\n please contact openssl-core@openssl.org." }, { - "score": 100.0, + "license_expression": "openssl-ssleay", + "spdx_license_expression": "OpenSSL", + "from_file": "python.LICENSE", "start_line": 434, "end_line": 434, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "openssl-ssleay", - "rule_identifier": "openssl-ssleay_2.RULE", "rule_relevance": 100, + "rule_identifier": "openssl-ssleay_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/openssl-ssleay_2.RULE", - "matched_text": "OpenSSL License" + "matched_text": " OpenSSL License", + "matched_text_diagnostics": "OpenSSL License" } ], "detection_log": [ @@ -1512,19 +2032,23 @@ }, { "license_expression": "openssl", + "license_expression_spdx": "LicenseRef-scancode-openssl", "matches": [ { - "score": 100.0, + "license_expression": "openssl", + "spdx_license_expression": "LicenseRef-scancode-openssl", + "from_file": "python.LICENSE", "start_line": 440, "end_line": 487, + "matcher": "2-aho", + "score": 100.0, "matched_length": 332, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "openssl", - "rule_identifier": "openssl_1.RULE", "rule_relevance": 100, + "rule_identifier": "openssl_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/openssl_1.RULE", - "matched_text": "Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n *\n * 1. Redistributions of source code must retain the above copyright\n * notice, 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\n * the documentation and/or other materials provided with the\n * distribution.\n *\n * 3. All advertising materials mentioning features or use of this\n * software must display the following acknowledgment:\n * \"This product includes software developed by the OpenSSL Project\n * for use in the OpenSSL Toolkit. (http://www.openssl.org/)\"\n *\n * 4. The names \"OpenSSL Toolkit\" and \"OpenSSL Project\" must not be used to\n * endorse or promote products derived from this software without\n * prior written permission. For written permission, please contact\n * openssl-core@openssl.org.\n *\n * 5. Products derived from this software may not be called \"OpenSSL\"\n * nor may \"OpenSSL\" appear in their names without prior written\n * permission of the OpenSSL Project.\n *\n * 6. Redistributions of any form whatsoever must retain the following\n * acknowledgment:\n * \"This product includes software developed by the OpenSSL Project\n * for use in the OpenSSL Toolkit (http://www.openssl.org/)\"\n *\n * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY\n * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR\n * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\n * OF THE POSSIBILITY OF SUCH DAMAGE.\n * ====================================================================\n *\n * This product includes cryptographic software written by Eric Young\n * (eay@cryptsoft.com). This product includes software written by Tim\n * Hudson (tjh@cryptsoft.com)." + "matched_text": " * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n *\n * 1. Redistributions of source code must retain the above copyright\n * notice, 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\n * the documentation and/or other materials provided with the\n * distribution.\n *\n * 3. All advertising materials mentioning features or use of this\n * software must display the following acknowledgment:\n * \"This product includes software developed by the OpenSSL Project\n * for use in the OpenSSL Toolkit. (http://www.openssl.org/)\"\n *\n * 4. The names \"OpenSSL Toolkit\" and \"OpenSSL Project\" must not be used to\n * endorse or promote products derived from this software without\n * prior written permission. For written permission, please contact\n * openssl-core@openssl.org.\n *\n * 5. Products derived from this software may not be called \"OpenSSL\"\n * nor may \"OpenSSL\" appear in their names without prior written\n * permission of the OpenSSL Project.\n *\n * 6. Redistributions of any form whatsoever must retain the following\n * acknowledgment:\n * \"This product includes software developed by the OpenSSL Project\n * for use in the OpenSSL Toolkit (http://www.openssl.org/)\"\n *\n * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY\n * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR\n * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\n * OF THE POSSIBILITY OF SUCH DAMAGE.\n * ====================================================================\n *\n * This product includes cryptographic software written by Eric Young\n * (eay@cryptsoft.com). This product includes software written by Tim\n * Hudson (tjh@cryptsoft.com).", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n *\n * 1. Redistributions of source code must retain the above copyright\n * notice, 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\n * the documentation and/or other materials provided with the\n * distribution.\n *\n * 3. All advertising materials mentioning features or use of this\n * software must display the following acknowledgment:\n * \"This product includes software developed by the OpenSSL Project\n * for use in the OpenSSL Toolkit. (http://www.openssl.org/)\"\n *\n * 4. The names \"OpenSSL Toolkit\" and \"OpenSSL Project\" must not be used to\n * endorse or promote products derived from this software without\n * prior written permission. For written permission, please contact\n * openssl-core@openssl.org.\n *\n * 5. Products derived from this software may not be called \"OpenSSL\"\n * nor may \"OpenSSL\" appear in their names without prior written\n * permission of the OpenSSL Project.\n *\n * 6. Redistributions of any form whatsoever must retain the following\n * acknowledgment:\n * \"This product includes software developed by the OpenSSL Project\n * for use in the OpenSSL Toolkit (http://www.openssl.org/)\"\n *\n * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY\n * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR\n * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\n * OF THE POSSIBILITY OF SUCH DAMAGE.\n * ====================================================================\n *\n * This product includes cryptographic software written by Eric Young\n * (eay@cryptsoft.com). This product includes software written by Tim\n * Hudson (tjh@cryptsoft.com)." } ], "detection_log": [], @@ -1532,19 +2056,23 @@ }, { "license_expression": "ssleay-windows", + "license_expression_spdx": "LicenseRef-scancode-ssleay-windows", "matches": [ { - "score": 100.0, + "license_expression": "ssleay-windows", + "spdx_license_expression": "LicenseRef-scancode-ssleay-windows", + "from_file": "python.LICENSE", "start_line": 497, "end_line": 548, + "matcher": "2-aho", + "score": 100.0, "matched_length": 453, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "ssleay-windows", - "rule_identifier": "ssleay-windows.LICENSE", "rule_relevance": 100, + "rule_identifier": "ssleay-windows.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ssleay-windows.LICENSE", - "matched_text": "This package is an SSL implementation written\n * by Eric Young (eay@cryptsoft.com).\n * The implementation was written so as to conform with Netscapes SSL.\n * \n * This library is free for commercial and non-commercial use as long as\n * the following conditions are aheared to. The following conditions\n * apply to all code found in this distribution, be it the RC4, RSA,\n * lhash, DES, etc., code; not just the SSL code. The SSL documentation\n * included with this distribution is covered by the same copyright terms\n * except that the holder is Tim Hudson (tjh@cryptsoft.com).\n * \n * Copyright remains Eric Young's, and as such any Copyright notices in\n * the code are not to be removed.\n * If this package is used in a product, Eric Young should be given attribution\n * as the author of the parts of the library used.\n * This can be in the form of a textual message at program startup or\n * in documentation (online or textual) provided with the package.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. All advertising materials mentioning features or use of this software\n * must display the following acknowledgement:\n * \"This product includes cryptographic software written by\n * Eric Young (eay@cryptsoft.com)\"\n * The word 'cryptographic' can be left out if the rouines from the library\n * being used are not cryptographic related :-).\n * 4. If you include any Windows specific code (or a derivative thereof) from \n * the apps directory (application code) you must include an acknowledgement:\n * \"This product includes software written by Tim Hudson (tjh@cryptsoft.com)\"\n * \n * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n * \n * The licence and distribution terms for any publically available version or\n * derivative of this code cannot be changed. i.e. this code cannot simply be\n * copied and put under another distribution licence\n * [including the GNU Public Licence.]" + "matched_text": " * This package is an SSL implementation written\n * by Eric Young (eay@cryptsoft.com).\n * The implementation was written so as to conform with Netscapes SSL.\n * \n * This library is free for commercial and non-commercial use as long as\n * the following conditions are aheared to. The following conditions\n * apply to all code found in this distribution, be it the RC4, RSA,\n * lhash, DES, etc., code; not just the SSL code. The SSL documentation\n * included with this distribution is covered by the same copyright terms\n * except that the holder is Tim Hudson (tjh@cryptsoft.com).\n * \n * Copyright remains Eric Young's, and as such any Copyright notices in\n * the code are not to be removed.\n * If this package is used in a product, Eric Young should be given attribution\n * as the author of the parts of the library used.\n * This can be in the form of a textual message at program startup or\n * in documentation (online or textual) provided with the package.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. All advertising materials mentioning features or use of this software\n * must display the following acknowledgement:\n * \"This product includes cryptographic software written by\n * Eric Young (eay@cryptsoft.com)\"\n * The word 'cryptographic' can be left out if the rouines from the library\n * being used are not cryptographic related :-).\n * 4. If you include any Windows specific code (or a derivative thereof) from \n * the apps directory (application code) you must include an acknowledgement:\n * \"This product includes software written by Tim Hudson (tjh@cryptsoft.com)\"\n * \n * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n * \n * The licence and distribution terms for any publically available version or\n * derivative of this code cannot be changed. i.e. this code cannot simply be\n * copied and put under another distribution licence\n * [including the GNU Public Licence.]", + "matched_text_diagnostics": "This package is an SSL implementation written\n * by Eric Young (eay@cryptsoft.com).\n * The implementation was written so as to conform with Netscapes SSL.\n * \n * This library is free for commercial and non-commercial use as long as\n * the following conditions are aheared to. The following conditions\n * apply to all code found in this distribution, be it the RC4, RSA,\n * lhash, DES, etc., code; not just the SSL code. The SSL documentation\n * included with this distribution is covered by the same copyright terms\n * except that the holder is Tim Hudson (tjh@cryptsoft.com).\n * \n * Copyright remains Eric Young's, and as such any Copyright notices in\n * the code are not to be removed.\n * If this package is used in a product, Eric Young should be given attribution\n * as the author of the parts of the library used.\n * This can be in the form of a textual message at program startup or\n * in documentation (online or textual) provided with the package.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the copyright\n * notice, this list of conditions and the following disclaimer.\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 * 3. All advertising materials mentioning features or use of this software\n * must display the following acknowledgement:\n * \"This product includes cryptographic software written by\n * Eric Young (eay@cryptsoft.com)\"\n * The word 'cryptographic' can be left out if the rouines from the library\n * being used are not cryptographic related :-).\n * 4. If you include any Windows specific code (or a derivative thereof) from \n * the apps directory (application code) you must include an acknowledgement:\n * \"This product includes software written by Tim Hudson (tjh@cryptsoft.com)\"\n * \n * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n * \n * The licence and distribution terms for any publically available version or\n * derivative of this code cannot be changed. i.e. this code cannot simply be\n * copied and put under another distribution licence\n * [including the GNU Public Licence.]" } ], "detection_log": [], @@ -1552,32 +2080,39 @@ }, { "license_expression": "tcl", + "license_expression_spdx": "TCL", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "python.LICENSE", "start_line": 552, "end_line": 552, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "license-intro_50.RULE", "rule_relevance": 100, + "rule_identifier": "license-intro_50.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_50.RULE", - "matched_text": "is licensed under the following terms:" + "matched_text": "This copy of Python includes a copy of tcl, which is licensed under the following terms:", + "matched_text_diagnostics": "is licensed under the following terms:" }, { - "score": 100.0, + "license_expression": "tcl", + "spdx_license_expression": "TCL", + "from_file": "python.LICENSE", "start_line": 554, "end_line": 593, + "matcher": "2-aho", + "score": 100.0, "matched_length": 345, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "tcl", - "rule_identifier": "tcl.LICENSE", "rule_relevance": 100, + "rule_identifier": "tcl.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/tcl.LICENSE", - "matched_text": "This software is copyrighted by the Regents of the University of\nCalifornia, Sun Microsystems, Inc., Scriptics Corporation, ActiveState\nCorporation and other parties. The following terms apply to all files\nassociated with the software unless explicitly disclaimed in\nindividual files.\n\nThe authors hereby grant permission to use, copy, modify, distribute,\nand license this software and its documentation for any purpose, provided\nthat existing copyright notices are retained in all copies and that this\nnotice is included verbatim in any distributions. No written agreement,\nlicense, or royalty fee is required for any of the authorized uses.\nModifications to this software may be copyrighted by their authors\nand need not follow the licensing terms described here, provided that\nthe new terms are clearly indicated on the first page of each file where\nthey apply.\n\nIN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY\nFOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES\nARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY\nDERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n\nTHE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,\nINCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE\nIS PROVIDED ON AN \"AS IS\" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE\nNO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR\nMODIFICATIONS.\n\nGOVERNMENT USE: If you are acquiring this software on behalf of the\nU.S. government, the Government shall have only \"Restricted Rights\"\nin the software and related documentation as defined in the Federal \nAcquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you\nare acquiring the software on behalf of the Department of Defense, the\nsoftware shall be classified as \"Commercial Computer Software\" and the\nGovernment shall have only \"Restricted Rights\" as defined in Clause\n252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the\nauthors grant the U.S. Government and others acting in its behalf\npermission to use and distribute the software in accordance with the\nterms specified in this license." + "matched_text": "This software is copyrighted by the Regents of the University of\nCalifornia, Sun Microsystems, Inc., Scriptics Corporation, ActiveState\nCorporation and other parties. The following terms apply to all files\nassociated with the software unless explicitly disclaimed in\nindividual files.\n\nThe authors hereby grant permission to use, copy, modify, distribute,\nand license this software and its documentation for any purpose, provided\nthat existing copyright notices are retained in all copies and that this\nnotice is included verbatim in any distributions. No written agreement,\nlicense, or royalty fee is required for any of the authorized uses.\nModifications to this software may be copyrighted by their authors\nand need not follow the licensing terms described here, provided that\nthe new terms are clearly indicated on the first page of each file where\nthey apply.\n\nIN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY\nFOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES\nARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY\nDERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n\nTHE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,\nINCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE\nIS PROVIDED ON AN \"AS IS\" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE\nNO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR\nMODIFICATIONS.\n\nGOVERNMENT USE: If you are acquiring this software on behalf of the\nU.S. government, the Government shall have only \"Restricted Rights\"\nin the software and related documentation as defined in the Federal \nAcquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you\nare acquiring the software on behalf of the Department of Defense, the\nsoftware shall be classified as \"Commercial Computer Software\" and the\nGovernment shall have only \"Restricted Rights\" as defined in Clause\n252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the\nauthors grant the U.S. Government and others acting in its behalf\npermission to use and distribute the software in accordance with the\nterms specified in this license.", + "matched_text_diagnostics": "This software is copyrighted by the Regents of the University of\nCalifornia, Sun Microsystems, Inc., Scriptics Corporation, ActiveState\nCorporation and other parties. The following terms apply to all files\nassociated with the software unless explicitly disclaimed in\nindividual files.\n\nThe authors hereby grant permission to use, copy, modify, distribute,\nand license this software and its documentation for any purpose, provided\nthat existing copyright notices are retained in all copies and that this\nnotice is included verbatim in any distributions. No written agreement,\nlicense, or royalty fee is required for any of the authorized uses.\nModifications to this software may be copyrighted by their authors\nand need not follow the licensing terms described here, provided that\nthe new terms are clearly indicated on the first page of each file where\nthey apply.\n\nIN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY\nFOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES\nARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY\nDERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n\nTHE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,\nINCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE\nIS PROVIDED ON AN \"AS IS\" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE\nNO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR\nMODIFICATIONS.\n\nGOVERNMENT USE: If you are acquiring this software on behalf of the\nU.S. government, the Government shall have only \"Restricted Rights\"\nin the software and related documentation as defined in the Federal \nAcquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you\nare acquiring the software on behalf of the Department of Defense, the\nsoftware shall be classified as \"Commercial Computer Software\" and the\nGovernment shall have only \"Restricted Rights\" as defined in Clause\n252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the\nauthors grant the U.S. Government and others acting in its behalf\npermission to use and distribute the software in accordance with the\nterms specified in this license." } ], "detection_log": [ @@ -1587,32 +2122,39 @@ }, { "license_expression": "tcl", + "license_expression_spdx": "TCL", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "python.LICENSE", "start_line": 595, "end_line": 595, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "license-intro_50.RULE", "rule_relevance": 100, + "rule_identifier": "license-intro_50.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_50.RULE", - "matched_text": "is licensed under the following terms:" + "matched_text": "This copy of Python includes a copy of tk, which is licensed under the following terms:", + "matched_text_diagnostics": "is licensed under the following terms:" }, { - "score": 100.0, + "license_expression": "tcl", + "spdx_license_expression": "TCL", + "from_file": "python.LICENSE", "start_line": 597, "end_line": 635, + "matcher": "2-aho", + "score": 100.0, "matched_length": 341, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "tcl", - "rule_identifier": "tcl_14.RULE", "rule_relevance": 100, + "rule_identifier": "tcl_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/tcl_14.RULE", - "matched_text": "This software is copyrighted by the Regents of the University of\nCalifornia, Sun Microsystems, Inc., and other parties. The following\nterms apply to all files associated with the software unless explicitly\ndisclaimed in individual files.\n\nThe authors hereby grant permission to use, copy, modify, distribute,\nand license this software and its documentation for any purpose, provided\nthat existing copyright notices are retained in all copies and that this\nnotice is included verbatim in any distributions. No written agreement,\nlicense, or royalty fee is required for any of the authorized uses.\nModifications to this software may be copyrighted by their authors\nand need not follow the licensing terms described here, provided that\nthe new terms are clearly indicated on the first page of each file where\nthey apply.\n\nIN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY\nFOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES\nARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY\nDERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n\nTHE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,\nINCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE\nIS PROVIDED ON AN \"AS IS\" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE\nNO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR\nMODIFICATIONS.\n\nGOVERNMENT USE: If you are acquiring this software on behalf of the\nU.S. government, the Government shall have only \"Restricted Rights\"\nin the software and related documentation as defined in the Federal \nAcquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you\nare acquiring the software on behalf of the Department of Defense, the\nsoftware shall be classified as \"Commercial Computer Software\" and the\nGovernment shall have only \"Restricted Rights\" as defined in Clause\n252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the\nauthors grant the U.S. Government and others acting in its behalf\npermission to use and distribute the software in accordance with the\nterms specified in this license." + "matched_text": "This software is copyrighted by the Regents of the University of\nCalifornia, Sun Microsystems, Inc., and other parties. The following\nterms apply to all files associated with the software unless explicitly\ndisclaimed in individual files.\n\nThe authors hereby grant permission to use, copy, modify, distribute,\nand license this software and its documentation for any purpose, provided\nthat existing copyright notices are retained in all copies and that this\nnotice is included verbatim in any distributions. No written agreement,\nlicense, or royalty fee is required for any of the authorized uses.\nModifications to this software may be copyrighted by their authors\nand need not follow the licensing terms described here, provided that\nthe new terms are clearly indicated on the first page of each file where\nthey apply.\n\nIN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY\nFOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES\nARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY\nDERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n\nTHE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,\nINCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE\nIS PROVIDED ON AN \"AS IS\" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE\nNO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR\nMODIFICATIONS.\n\nGOVERNMENT USE: If you are acquiring this software on behalf of the\nU.S. government, the Government shall have only \"Restricted Rights\"\nin the software and related documentation as defined in the Federal \nAcquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you\nare acquiring the software on behalf of the Department of Defense, the\nsoftware shall be classified as \"Commercial Computer Software\" and the\nGovernment shall have only \"Restricted Rights\" as defined in Clause\n252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the\nauthors grant the U.S. Government and others acting in its behalf\npermission to use and distribute the software in accordance with the\nterms specified in this license.", + "matched_text_diagnostics": "This software is copyrighted by the Regents of the University of\nCalifornia, Sun Microsystems, Inc., and other parties. The following\nterms apply to all files associated with the software unless explicitly\ndisclaimed in individual files.\n\nThe authors hereby grant permission to use, copy, modify, distribute,\nand license this software and its documentation for any purpose, provided\nthat existing copyright notices are retained in all copies and that this\nnotice is included verbatim in any distributions. No written agreement,\nlicense, or royalty fee is required for any of the authorized uses.\nModifications to this software may be copyrighted by their authors\nand need not follow the licensing terms described here, provided that\nthe new terms are clearly indicated on the first page of each file where\nthey apply.\n\nIN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY\nFOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES\nARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY\nDERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n\nTHE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,\nINCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE\nIS PROVIDED ON AN \"AS IS\" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE\nNO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR\nMODIFICATIONS.\n\nGOVERNMENT USE: If you are acquiring this software on behalf of the\nU.S. government, the Government shall have only \"Restricted Rights\"\nin the software and related documentation as defined in the Federal \nAcquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you\nare acquiring the software on behalf of the Department of Defense, the\nsoftware shall be classified as \"Commercial Computer Software\" and the\nGovernment shall have only \"Restricted Rights\" as defined in Clause\n252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the\nauthors grant the U.S. Government and others acting in its behalf\npermission to use and distribute the software in accordance with the\nterms specified in this license." } ], "detection_log": [ @@ -1623,17 +2165,20 @@ ], "license_clues": [ { - "score": 33.71, + "license_expression": "bsd-simplified", + "spdx_license_expression": "BSD-2-Clause", + "from_file": "python.LICENSE", "start_line": 358, "end_line": 363, + "matcher": "3-seq", + "score": 33.71, "matched_length": 59, "match_coverage": 33.71, - "matcher": "3-seq", - "license_expression": "bsd-simplified", - "rule_identifier": "bsd-simplified_242.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-simplified_242.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_242.RULE", - "matched_text": "INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n * THE POSSIBILITY OF SUCH DAMAGE." + "matched_text": " * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n * THE POSSIBILITY OF SUCH DAMAGE.", + "matched_text_diagnostics": "INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n * THE POSSIBILITY OF SUCH DAMAGE." } ], "percentage_of_license_text": 83.64, diff --git a/tests/licensedcode/data/licenses_reference_reporting/scan-matched-text-with-reference.expected.json b/tests/licensedcode/data/licenses_reference_reporting/scan-matched-text-with-reference.expected.json index 0961d22e75..4393aba280 100644 --- a/tests/licensedcode/data/licenses_reference_reporting/scan-matched-text-with-reference.expected.json +++ b/tests/licensedcode/data/licenses_reference_reporting/scan-matched-text-with-reference.expected.json @@ -42,22 +42,25 @@ "license_detections": [ { "license_expression": "artistic-2.0 OR mit", + "license_expression_spdx": "Artistic-2.0 OR MIT", "matches": [ { - "score": 100.0, + "license_expression": "artistic-2.0 OR mit", + "spdx_license_expression": "Artistic-2.0 OR MIT", + "from_file": "scan/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "artistic-2.0 OR mit", - "rule_identifier": "spdx-license-identifier-artistic-2.0 OR mit-512604ee8f4c8e5ccdd4631c2b447196299cd404", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-artistic_2_0_or_mit-512604ee8f4c8e5ccdd4631c2b447196299cd404", "rule_url": null, "matched_text": "Artistic-2.0 OR MIT" } ], - "identifier": "artistic_2_0_or_mit-529b866b-c702-0328-8f33-363ba46b3370" + "identifier": "artistic_2_0_or_mit-0549e3ec-193d-d46c-a851-893a86e6b231" } ], "other_license_expression": null, @@ -83,22 +86,94 @@ "dependencies": [], "license_detections": [ { - "identifier": "apache_2_0_and__mit_or_bsd_simplified-a6ac74a7-7a5d-f78e-e6da-54ac6d836a93", + "identifier": "apache_2_0_and__mit_or_bsd_simplified-8f8d79c6-d33c-addb-ff36-9f46bc8eb8a2", "license_expression": "apache-2.0 AND (mit OR bsd-simplified)", + "license_expression_spdx": "Apache-2.0 AND (MIT OR BSD-2-Clause)", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "scan/copyr.java", + "start_line": 3, + "end_line": 16, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 119, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE", + "matched_text": " * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to You under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.", + "matched_text_diagnostics": "Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to You under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License." + }, + { + "license_expression": "mit OR bsd-simplified", + "license_expression_spdx": "MIT OR BSD-2-Clause", + "from_file": "scan/copyr.java", + "start_line": 19, + "end_line": 19, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 8, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit_or_bsd_simplified-521d0523ce32cc52dd709e9fc653552931947808", + "rule_url": null, + "matched_text": "SPDX-License-Identifier: MIT or BSD-2-Clause", + "matched_text_diagnostics": "SPDX-License-Identifier: MIT or BSD-2-Clause" + } + ] }, { "identifier": "artistic_2_0-c1ede1c6-eb3d-61cc-53ad-abba5e17c732", "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", + "from_file": "scan/package.json", + "start_line": 28, + "end_line": 28, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "artistic-2.0_46.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_46.RULE", + "matched_text": " \"license\": \"Artistic-2.0 OR MIT\",", + "matched_text_diagnostics": "license\": \"Artistic-2.0" + } + ] }, { - "identifier": "artistic_2_0_or_mit-529b866b-c702-0328-8f33-363ba46b3370", + "identifier": "artistic_2_0_or_mit-0549e3ec-193d-d46c-a851-893a86e6b231", "license_expression": "artistic-2.0 OR mit", + "license_expression_spdx": "Artistic-2.0 OR MIT", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "artistic-2.0 OR mit", + "license_expression_spdx": "Artistic-2.0 OR MIT", + "from_file": "scan/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-artistic_2_0_or_mit-512604ee8f4c8e5ccdd4631c2b447196299cd404", + "rule_url": null, + "matched_text": "Artistic-2.0 OR MIT" + } + ] } ], "license_references": [ @@ -342,7 +417,7 @@ }, { "license_expression": "artistic-2.0 OR mit", - "identifier": "spdx-license-identifier-artistic-2.0 OR mit-512604ee8f4c8e5ccdd4631c2b447196299cd404", + "identifier": "spdx-license-identifier-artistic_2_0_or_mit-512604ee8f4c8e5ccdd4631c2b447196299cd404", "language": "en", "rule_url": null, "is_license_text": false, @@ -369,7 +444,7 @@ }, { "license_expression": "mit OR bsd-simplified", - "identifier": "spdx-license-identifier-mit OR bsd-simplified-521d0523ce32cc52dd709e9fc653552931947808", + "identifier": "spdx-license-identifier-mit_or_bsd_simplified-521d0523ce32cc52dd709e9fc653552931947808", "language": "en", "rule_url": null, "is_license_text": false, @@ -420,36 +495,43 @@ "license_detections": [ { "license_expression": "apache-2.0 AND (mit OR bsd-simplified)", + "license_expression_spdx": "Apache-2.0 AND (MIT OR BSD-2-Clause)", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "scan/copyr.java", "start_line": 3, "end_line": 16, + "matcher": "2-aho", + "score": 100.0, "matched_length": 119, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_2.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE", - "matched_text": "Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to You under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License." + "matched_text": " * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to You under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.", + "matched_text_diagnostics": "Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to You under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License." }, { - "score": 100.0, + "license_expression": "mit OR bsd-simplified", + "spdx_license_expression": "MIT OR BSD-2-Clause", + "from_file": "scan/copyr.java", "start_line": 19, "end_line": 19, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit OR bsd-simplified", - "rule_identifier": "spdx-license-identifier-mit OR bsd-simplified-f59ff8931aa67ccbfb194b8c7db7d4e5eafb709c", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit_or_bsd_simplified-521d0523ce32cc52dd709e9fc653552931947808", "rule_url": null, - "matched_text": "SPDX-License-Identifier: MIT or BSD-2-Clause" + "matched_text": "SPDX-License-Identifier: MIT or BSD-2-Clause", + "matched_text_diagnostics": "SPDX-License-Identifier: MIT or BSD-2-Clause" } ], "detection_log": [], - "identifier": "apache_2_0_and__mit_or_bsd_simplified-a6ac74a7-7a5d-f78e-e6da-54ac6d836a93" + "identifier": "apache_2_0_and__mit_or_bsd_simplified-8f8d79c6-d33c-addb-ff36-9f46bc8eb8a2" } ], "license_clues": [], @@ -502,22 +584,25 @@ "license_detections": [ { "license_expression": "artistic-2.0 OR mit", + "license_expression_spdx": "Artistic-2.0 OR MIT", "matches": [ { - "score": 100.0, + "license_expression": "artistic-2.0 OR mit", + "spdx_license_expression": "Artistic-2.0 OR MIT", + "from_file": "scan/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "artistic-2.0 OR mit", - "rule_identifier": "spdx-license-identifier-artistic-2.0 OR mit-512604ee8f4c8e5ccdd4631c2b447196299cd404", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-artistic_2_0_or_mit-512604ee8f4c8e5ccdd4631c2b447196299cd404", "rule_url": null, "matched_text": "Artistic-2.0 OR MIT" } ], - "identifier": "artistic_2_0_or_mit-529b866b-c702-0328-8f33-363ba46b3370" + "identifier": "artistic_2_0_or_mit-0549e3ec-193d-d46c-a851-893a86e6b231" } ], "other_license_expression": null, @@ -544,19 +629,23 @@ "license_detections": [ { "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", "matches": [ { - "score": 100.0, + "license_expression": "artistic-2.0", + "spdx_license_expression": "Artistic-2.0", + "from_file": "scan/package.json", "start_line": 28, "end_line": 28, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "artistic-2.0", - "rule_identifier": "artistic-2.0_46.RULE", "rule_relevance": 100, + "rule_identifier": "artistic-2.0_46.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_46.RULE", - "matched_text": "license\": \"Artistic-2.0" + "matched_text": " \"license\": \"Artistic-2.0 OR MIT\",", + "matched_text_diagnostics": "license\": \"Artistic-2.0" } ], "detection_log": [], diff --git a/tests/licensedcode/data/licenses_reference_reporting/scan-with-reference.expected.json b/tests/licensedcode/data/licenses_reference_reporting/scan-with-reference.expected.json index bc6d92045e..07705dbc4a 100644 --- a/tests/licensedcode/data/licenses_reference_reporting/scan-with-reference.expected.json +++ b/tests/licensedcode/data/licenses_reference_reporting/scan-with-reference.expected.json @@ -42,22 +42,25 @@ "license_detections": [ { "license_expression": "artistic-2.0 OR mit", + "license_expression_spdx": "Artistic-2.0 OR MIT", "matches": [ { - "score": 100.0, + "license_expression": "artistic-2.0 OR mit", + "spdx_license_expression": "Artistic-2.0 OR MIT", + "from_file": "scan/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "artistic-2.0 OR mit", - "rule_identifier": "spdx-license-identifier-artistic-2.0 OR mit-512604ee8f4c8e5ccdd4631c2b447196299cd404", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-artistic_2_0_or_mit-512604ee8f4c8e5ccdd4631c2b447196299cd404", "rule_url": null, "matched_text": "Artistic-2.0 OR MIT" } ], - "identifier": "artistic_2_0_or_mit-529b866b-c702-0328-8f33-363ba46b3370" + "identifier": "artistic_2_0_or_mit-0549e3ec-193d-d46c-a851-893a86e6b231" } ], "other_license_expression": null, @@ -83,19 +86,84 @@ "dependencies": [], "license_detections": [ { - "identifier": "apache_2_0_and__mit_or_bsd_simplified-a6ac74a7-7a5d-f78e-e6da-54ac6d836a93", + "identifier": "apache_2_0_and__mit_or_bsd_simplified-8f8d79c6-d33c-addb-ff36-9f46bc8eb8a2", "license_expression": "apache-2.0 AND (mit OR bsd-simplified)", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0 AND (MIT OR BSD-2-Clause)", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "scan/copyr.java", + "start_line": 3, + "end_line": 16, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 119, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE" + }, + { + "license_expression": "mit OR bsd-simplified", + "license_expression_spdx": "MIT OR BSD-2-Clause", + "from_file": "scan/copyr.java", + "start_line": 19, + "end_line": 19, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 8, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit_or_bsd_simplified-c8fa3f8aa8e5819b052e913ac9dec497534a442b", + "rule_url": null + } + ] }, { "identifier": "artistic_2_0-c1ede1c6-eb3d-61cc-53ad-abba5e17c732", "license_expression": "artistic-2.0", - "detection_count": 1 + "license_expression_spdx": "Artistic-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", + "from_file": "scan/package.json", + "start_line": 28, + "end_line": 28, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "artistic-2.0_46.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_46.RULE" + } + ] }, { - "identifier": "artistic_2_0_or_mit-529b866b-c702-0328-8f33-363ba46b3370", + "identifier": "artistic_2_0_or_mit-0549e3ec-193d-d46c-a851-893a86e6b231", "license_expression": "artistic-2.0 OR mit", - "detection_count": 1 + "license_expression_spdx": "Artistic-2.0 OR MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "artistic-2.0 OR mit", + "license_expression_spdx": "Artistic-2.0 OR MIT", + "from_file": "scan/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-artistic_2_0_or_mit-512604ee8f4c8e5ccdd4631c2b447196299cd404", + "rule_url": null + } + ] } ], "license_references": [ @@ -339,7 +407,7 @@ }, { "license_expression": "artistic-2.0 OR mit", - "identifier": "spdx-license-identifier-artistic-2.0 OR mit-512604ee8f4c8e5ccdd4631c2b447196299cd404", + "identifier": "spdx-license-identifier-artistic_2_0_or_mit-512604ee8f4c8e5ccdd4631c2b447196299cd404", "language": "en", "rule_url": null, "is_license_text": false, @@ -366,7 +434,7 @@ }, { "license_expression": "mit OR bsd-simplified", - "identifier": "spdx-license-identifier-mit OR bsd-simplified-c8fa3f8aa8e5819b052e913ac9dec497534a442b", + "identifier": "spdx-license-identifier-mit_or_bsd_simplified-c8fa3f8aa8e5819b052e913ac9dec497534a442b", "language": "en", "rule_url": null, "is_license_text": false, @@ -417,33 +485,38 @@ "license_detections": [ { "license_expression": "apache-2.0 AND (mit OR bsd-simplified)", + "license_expression_spdx": "Apache-2.0 AND (MIT OR BSD-2-Clause)", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "scan/copyr.java", "start_line": 3, "end_line": 16, + "matcher": "2-aho", + "score": 100.0, "matched_length": 119, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_2.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE" }, { - "score": 100.0, + "license_expression": "mit OR bsd-simplified", + "spdx_license_expression": "MIT OR BSD-2-Clause", + "from_file": "scan/copyr.java", "start_line": 19, "end_line": 19, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit OR bsd-simplified", - "rule_identifier": "spdx-license-identifier-mit OR bsd-simplified-f59ff8931aa67ccbfb194b8c7db7d4e5eafb709c", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit_or_bsd_simplified-521d0523ce32cc52dd709e9fc653552931947808", "rule_url": null } ], - "identifier": "apache_2_0_and__mit_or_bsd_simplified-a6ac74a7-7a5d-f78e-e6da-54ac6d836a93" + "identifier": "apache_2_0_and__mit_or_bsd_simplified-8f8d79c6-d33c-addb-ff36-9f46bc8eb8a2" } ], "license_clues": [], @@ -496,22 +569,25 @@ "license_detections": [ { "license_expression": "artistic-2.0 OR mit", + "license_expression_spdx": "Artistic-2.0 OR MIT", "matches": [ { - "score": 100.0, + "license_expression": "artistic-2.0 OR mit", + "spdx_license_expression": "Artistic-2.0 OR MIT", + "from_file": "scan/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "artistic-2.0 OR mit", - "rule_identifier": "spdx-license-identifier-artistic-2.0 OR mit-512604ee8f4c8e5ccdd4631c2b447196299cd404", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-artistic_2_0_or_mit-512604ee8f4c8e5ccdd4631c2b447196299cd404", "rule_url": null, "matched_text": "Artistic-2.0 OR MIT" } ], - "identifier": "artistic_2_0_or_mit-529b866b-c702-0328-8f33-363ba46b3370" + "identifier": "artistic_2_0_or_mit-0549e3ec-193d-d46c-a851-893a86e6b231" } ], "other_license_expression": null, @@ -538,17 +614,20 @@ "license_detections": [ { "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", "matches": [ { - "score": 100.0, + "license_expression": "artistic-2.0", + "spdx_license_expression": "Artistic-2.0", + "from_file": "scan/package.json", "start_line": 28, "end_line": 28, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "artistic-2.0", - "rule_identifier": "artistic-2.0_46.RULE", "rule_relevance": 100, + "rule_identifier": "artistic-2.0_46.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_46.RULE" } ], diff --git a/tests/licensedcode/data/match_spdx/scan-expected.json b/tests/licensedcode/data/match_spdx/scan-expected.json index 24c5bfd08f..eee03de60e 100644 --- a/tests/licensedcode/data/match_spdx/scan-expected.json +++ b/tests/licensedcode/data/match_spdx/scan-expected.json @@ -1,10 +1,29 @@ { "license_detections": [ { - "identifier": "mit-86af397f-7fb9-6751-2e09-217685ce5b2a", + "identifier": "mit-59928f02-ade3-817b-5db4-dfe1c6738ef4", "license_expression": "mit", + "license_expression_spdx": "MIT", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "license", + "start_line": 240, + "end_line": 240, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-88973101e25a62d0d9efdb31d23c1ace5fa0e07c", + "rule_url": null, + "matched_text": "MIT ", + "matched_text_diagnostics": "licenses.nuget.org/MIT\">MITMITMIT ", + "matched_text_diagnostics": "licenses.nuget.org/MIT\">MIT.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\r\nmodification, are permitted provided that the following conditions\r\nare met:\r\n\r\n 1. Redistributions of source code must retain the above copyright\r\n notice, this list of conditions and the following disclaimer. \r\n \r\n 2. Redistributions in binary form must reproduce the above copyright\r\n notice, this list of conditions and the following disclaimer in\r\n the documentation and/or other materials provided with the\r\n distribution.\r\n \r\n 3. All advertising materials mentioning features or use of this\r\n software must display the following acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n 4. The names \"Apache Server\" and \"Apache Group\" must not be used to\r\n endorse or promote products derived from this software without\r\n prior written permission. For written permission, please contact\r\n apache@apache.org.\r\n \r\n 5. Products derived from this software may not be called \"Apache\"\r\n nor may \"Apache\" appear in their names without prior written\r\n permission of the Apache Group.\r\n \r\n 6. Redistributions of any form whatsoever must retain the following\r\n acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY\r\n EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR\r\n ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\r\n NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r\n HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\r\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r\n ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\r\n OF THE POSSIBILITY OF SUCH DAMAGE.\r\n====================================================================\r\n\r\n This software consists of voluntary contributions made by many\r\n individuals on behalf of the Apache Group and was originally based\r\n on public domain software written at the National Center for\r\n Supercomputing Applications, University of Illinois, Urbana-Champaign.\r\n For more information on the Apache Group and the Apache HTTP server\r\n project, please see ." + } + ] }, { - "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-c196bf1c-1c1f-18b4-554f-690be18bbad0", + "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-e59dcea3-b71b-02e5-24d9-3795864d0303", "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", - "detection_count": 1 + "license_expression_spdx": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", + "detection_count": 1, + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "license_expression_spdx": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", + "from_file": "scan/gpl-2.0_with_linux-syscall-note_or_linux-openib_SPDX.RULE", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 13, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-40ad9110ec6551e97f55cd72b297773235a415e7", + "rule_url": null, + "matched_text": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */", + "matched_text_diagnostics": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */" + } + ] + } + ], + "license_references": [ + { + "key": "apache-1.0", + "language": "en", + "short_name": "Apache 1.0", + "name": "Apache License 1.0", + "category": "Permissive", + "owner": "Apache Software Foundation", + "homepage_url": "http://www.apache.org/licenses/", + "notes": null, + "is_builtin": true, + "is_exception": false, + "is_unknown": false, + "is_generic": false, + "spdx_license_key": "Apache-1.0", + "other_spdx_license_keys": [], + "osi_license_key": null, + "text_urls": [ + "http://www.apache.org/licenses/LICENSE-1.0" + ], + "osi_url": null, + "faq_url": "http://www.apache.org/foundation/licence-FAQ.html", + "other_urls": [], + "key_aliases": [], + "minimum_coverage": 80, + "standard_notice": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [ + "the Apache Group" + ], + "ignorable_urls": [ + "http://www.apache.org/" + ], + "ignorable_emails": [ + "apache@apache.org" + ], + "text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n\n1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer. \n\n2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in\n the documentation and/or other materials provided with the\n distribution.\n\n3. All advertising materials mentioning features or use of this\n software must display the following acknowledgment:\n \"This product includes software developed by the Apache Group\n for use in the Apache HTTP server project (http://www.apache.org/).\"\n\n4. The names \"Apache Server\" and \"Apache Group\" must not be used to\n endorse or promote products derived from this software without\n prior written permission. For written permission, please contact\n apache@apache.org.\n\n5. Products derived from this software may not be called \"Apache\"\n nor may \"Apache\" appear in their names without prior written\n permission of the Apache Group.\n\n6. Redistributions of any form whatsoever must retain the following\n acknowledgment:\n \"This product includes software developed by the Apache Group\n for use in the Apache HTTP server project (http://www.apache.org/).\"\n\nTHIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY\nEXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR\nITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\nNOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\nHOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\nSTRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\nOF THE POSSIBILITY OF SUCH DAMAGE.\n====================================================================\n\nThis software consists of voluntary contributions made by many\nindividuals on behalf of the Apache Group and was originally based\non public domain software written at the National Center for\nSupercomputing Applications, University of Illinois, Urbana-Champaign.\nFor more information on the Apache Group and the Apache HTTP server\nproject, please see .", + "scancode_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-1.0.LICENSE", + "licensedb_url": "https://scancode-licensedb.aboutcode.org/apache-1.0", + "spdx_url": "https://spdx.org/licenses/Apache-1.0" + }, + { + "key": "gpl-2.0", + "language": "en", + "short_name": "GPL 2.0", + "name": "GNU General Public License 2.0", + "category": "Copyleft", + "owner": "Free Software Foundation (FSF)", + "homepage_url": "http://www.gnu.org/licenses/gpl-2.0.html", + "notes": "This is the last version of the GPL text as published by the FSF. This variation was published around about the time of the FSF released the GPL 3 in July 2007. See http://web.archive.org/web/20070716031727/http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt It is found live here https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt and here https://www.gnu.org/licenses/old-licenses/gpl-2.0.html It refers to the Franklin Street address and to the GNU Lesser General Public License everywhere both in the text and HTML formats. There are many other variations of the GPL 2.0 text that were published over the years by the FSF and the gnu.org website. You can find the detailed history of this text at https://github.com/pombredanne/gpl-history and each variant is available as a license detection rule. Per SPDX.org, this license was released June 1991 This license is OSI certified.", + "is_builtin": true, + "is_exception": false, + "is_unknown": false, + "is_generic": false, + "spdx_license_key": "GPL-2.0-only", + "other_spdx_license_keys": [ + "GPL-2.0", + "GPL 2.0", + "LicenseRef-GPL-2.0" + ], + "osi_license_key": "GPL-2.0", + "text_urls": [ + "http://www.gnu.org/licenses/gpl-2.0.txt", + "http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt" + ], + "osi_url": "http://opensource.org/licenses/gpl-license.php", + "faq_url": "http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html", + "other_urls": [ + "http://creativecommons.org/choose/cc-gpl", + "http://creativecommons.org/images/public/cc-GPL-a.png", + "http://creativecommons.org/licenses/GPL/2.0/", + "http://creativecommons.org/licenses/GPL/2.0/legalcode.pt", + "http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html", + "http://www.opensource.org/licenses/GPL-2.0", + "https://opensource.org/licenses/GPL-2.0", + "https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html" + ], + "key_aliases": [], + "minimum_coverage": 0, + "standard_notice": null, + "ignorable_copyrights": [ + "Copyright (c) 1989, 1991 Free Software Foundation, Inc.", + "copyrighted by the Free Software Foundation" + ], + "ignorable_holders": [ + "Free Software Foundation, Inc.", + "the Free Software Foundation" + ], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": " GNU GENERAL PUBLIC LICENSE\n Version 2, June 1991\n \n Copyright (C) 1989, 1991 Free Software Foundation, Inc.,\n 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n \n Preamble\n \n The licenses for most software are designed to take away your\nfreedom to share and change it. By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users. This\nGeneral Public License applies to most of the Free Software\nFoundation's software and to any other program whose authors commit to\nusing it. (Some other Free Software Foundation software is covered by\nthe GNU Lesser General Public License instead.) You can apply it to\nyour programs, too.\n \n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n \n To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n \n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have. You must make sure that they, too, receive or can get the\nsource code. And you must show them these terms so they know their\nrights.\n \n We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n \n Also, for each author's protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware. If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors' reputations.\n \n Finally, any free program is threatened constantly by software\npatents. We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary. To prevent this, we have made it clear that any\npatent must be licensed for everyone's free use or not licensed at all.\n \n The precise terms and conditions for copying, distribution and\nmodification follow.\n \n GNU GENERAL PUBLIC LICENSE\n TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n \n 0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License. The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage. (Hereinafter, translation is included without limitation in\nthe term \"modification\".) Each licensee is addressed as \"you\".\n \nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope. The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n \n 1. You may copy and distribute verbatim copies of the Program's\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n \nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n \n 2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n \n a) You must cause the modified files to carry prominent notices\n stating that you changed the files and the date of any change.\n \n b) You must cause any work that you distribute or publish, that in\n whole or in part contains or is derived from the Program or any\n part thereof, to be licensed as a whole at no charge to all third\n parties under the terms of this License.\n \n c) If the modified program normally reads commands interactively\n when run, you must cause it, when started running for such\n interactive use in the most ordinary way, to print or display an\n announcement including an appropriate copyright notice and a\n notice that there is no warranty (or else, saying that you provide\n a warranty) and that users may redistribute the program under\n these conditions, and telling the user how to view a copy of this\n License. (Exception: if the Program itself is interactive but\n does not normally print such an announcement, your work based on\n the Program is not required to print an announcement.)\n \nThese requirements apply to the modified work as a whole. If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works. But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n \nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n \nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n \n 3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n \n a) Accompany it with the complete corresponding machine-readable\n source code, which must be distributed under the terms of Sections\n 1 and 2 above on a medium customarily used for software interchange; or,\n \n b) Accompany it with a written offer, valid for at least three\n years, to give any third party, for a charge no more than your\n cost of physically performing source distribution, a complete\n machine-readable copy of the corresponding source code, to be\n distributed under the terms of Sections 1 and 2 above on a medium\n customarily used for software interchange; or,\n \n c) Accompany it with the information you received as to the offer\n to distribute corresponding source code. (This alternative is\n allowed only for noncommercial distribution and only if you\n received the program in object code or executable form with such\n an offer, in accord with Subsection b above.)\n \nThe source code for a work means the preferred form of the work for\nmaking modifications to it. For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable. However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n \nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n \n 4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License. Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n \n 5. You are not required to accept this License, since you have not\nsigned it. However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works. These actions are\nprohibited by law if you do not accept this License. Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n \n 6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions. You may not impose any further\nrestrictions on the recipients' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n \n 7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all. For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n \nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n \nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices. Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n \nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n \n 8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded. In such case, this License incorporates\nthe limitation as if written in the body of this License.\n \n 9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n \nEach version is given a distinguishing version number. If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation. If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n \n 10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission. For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this. Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n \n NO WARRANTY\n \n 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n \n 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n \n END OF TERMS AND CONDITIONS\n \n How to Apply These Terms to Your New Programs\n \n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n \n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nconvey the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n \n \n Copyright (C) \n \n This program is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 2 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\n GNU General Public License for more details.\n \n You should have received a copy of the GNU General Public License along\n with this program; if not, write to the Free Software Foundation, Inc.,\n 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n \nAlso add information on how to contact you by electronic and paper mail.\n \nIf the program is interactive, make it output a short notice like this\nwhen it starts in an interactive mode:\n \n Gnomovision version 69, Copyright (C) year name of author\n Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n \nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, the commands you use may\nbe called something other than `show w' and `show c'; they could even be\nmouse-clicks or menu items--whatever suits your program.\n \nYou should also get your employer (if you work as a programmer) or your\nschool, if any, to sign a \"copyright disclaimer\" for the program, if\nnecessary. Here is a sample; alter the names:\n \n Yoyodyne, Inc., hereby disclaims all copyright interest in the program\n `Gnomovision' (which makes passes at compilers) written by James Hacker.\n \n , 1 April 1989\n Ty Coon, President of Vice\n \nThis General Public License does not permit incorporating your program into\nproprietary programs. If your program is a subroutine library, you may\nconsider it more useful to permit linking proprietary applications with the\nlibrary. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License.", + "scancode_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/gpl-2.0.LICENSE", + "licensedb_url": "https://scancode-licensedb.aboutcode.org/gpl-2.0", + "spdx_url": "https://spdx.org/licenses/GPL-2.0-only" + }, + { + "key": "linux-openib", + "language": "en", + "short_name": "Linux-OpenIB", + "name": "Linux-OpenIB", + "category": "Permissive", + "owner": "Linux Foundation", + "homepage_url": "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/infiniband/core/sa.h", + "notes": "This license is a hybrid of two common licenses the BSD-2-Clause (bsd-\nsimplified) and the MIT License (mit).\n", + "is_builtin": true, + "is_exception": false, + "is_unknown": false, + "is_generic": false, + "spdx_license_key": "Linux-OpenIB", + "other_spdx_license_keys": [], + "osi_license_key": null, + "text_urls": [ + "https://github.com/ofiwg/libfabric/blob/master/contrib/buildrpm/README" + ], + "osi_url": null, + "faq_url": null, + "other_urls": [ + "https://github.com/spdx/license-list-XML/issues/620", + "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/infiniband/core/sa.h?id=3215b9d57a2c75c4305a3956ca303d7004485200" + ], + "key_aliases": [], + "minimum_coverage": 0, + "standard_notice": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "Redistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n- Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n- Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.", + "scancode_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/linux-openib.LICENSE", + "licensedb_url": "https://scancode-licensedb.aboutcode.org/linux-openib", + "spdx_url": "https://spdx.org/licenses/Linux-OpenIB" + }, + { + "key": "linux-syscall-exception-gpl", + "language": "en", + "short_name": "Linux Syscall Exception to GPL", + "name": "Linux Syscall Exception to GPL", + "category": "Copyleft Limited", + "owner": "Linux Foundation", + "homepage_url": null, + "notes": null, + "is_builtin": true, + "is_exception": true, + "is_unknown": false, + "is_generic": false, + "spdx_license_key": "Linux-syscall-note", + "other_spdx_license_keys": [], + "osi_license_key": null, + "text_urls": [], + "osi_url": null, + "faq_url": null, + "other_urls": [ + "http://www.gnu.org/licenses/gpl-2.0.txt", + "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/COPYING" + ], + "key_aliases": [], + "minimum_coverage": 0, + "standard_notice": "NOTE! This copyright does *not* cover user programs that use kernel\nservices by normal system calls - this is merely considered normal use\nof the kernel, and does *not* fall under the heading of \"derived work\".\nAlso note that the GPL below is copyrighted by the Free Software\nFoundation, but the instance of code that it refers to (the Linux\nkernel) is copyrighted by me and others who actually wrote it.\nAlso note that the only valid version of the GPL as far as the kernel\nis concerned is _this_ particular version of the license (ie v2, not\nv2.2 or v3.x or whatever), unless explicitly otherwise stated.\nLinus Torvalds\nThis library is free software; you can redistribute it and/or modify it\nunder the terms of the GNU General Public License version 2 as published by\nthe Free Software Foundation.\nThis library is distributed in the hope that it will be useful, but WITHOUT\nANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\nFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for\nmore details.\nYou should have received a copy of the GNU General Public License along\nwith this library; see the file COPYING. If not, write to the Free Software\nFoundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n", + "ignorable_copyrights": [ + "copyrighted by the Free Software Foundation" + ], + "ignorable_holders": [ + "the Free Software Foundation" + ], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "NOTE! This copyright does *not* cover user programs that use kernel\nservices by normal system calls - this is merely considered normal use\nof the kernel, and does *not* fall under the heading of \"derived work\".\nAlso note that the GPL below is copyrighted by the Free Software\nFoundation, but the instance of code that it refers to (the Linux\nkernel) is copyrighted by me and others who actually wrote it.\n\nAlso note that the only valid version of the GPL as far as the kernel\nis concerned is _this_ particular version of the license (ie v2, not\nv2.2 or v3.x or whatever), unless explicitly otherwise stated.\n\nLinus Torvalds", + "scancode_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/linux-syscall-exception-gpl.LICENSE", + "licensedb_url": "https://scancode-licensedb.aboutcode.org/linux-syscall-exception-gpl", + "spdx_url": "https://spdx.org/licenses/Linux-syscall-note" + } + ], + "license_rule_references": [ + { + "license_expression": "apache-1.0", + "identifier": "apache-1.0.LICENSE", + "language": "en", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-1.0.LICENSE", + "is_license_text": true, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": false, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": true, + "is_synthetic": false, + "length": 368, + "relevance": 100, + "minimum_coverage": 80, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [ + "the Apache Group" + ], + "ignorable_urls": [ + "http://www.apache.org/" + ], + "ignorable_emails": [ + "apache@apache.org" + ], + "text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n\n1. Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright\nnotice, this list of conditions and the following disclaimer in\nthe documentation and/or other materials provided with the\ndistribution.\n\n3. All advertising materials mentioning features or use of this\nsoftware must display the following acknowledgment:\n\"This product includes software developed by the Apache Group\nfor use in the Apache HTTP server project (http://www.apache.org/).\"\n\n4. The names \"Apache Server\" and \"Apache Group\" must not be used to\nendorse or promote products derived from this software without\nprior written permission. For written permission, please contact\napache@apache.org.\n\n5. Products derived from this software may not be called \"Apache\"\nnor may \"Apache\" appear in their names without prior written\npermission of the Apache Group.\n\n6. Redistributions of any form whatsoever must retain the following\nacknowledgment:\n\"This product includes software developed by the Apache Group\nfor use in the Apache HTTP server project (http://www.apache.org/).\"\n\nTHIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY\nEXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR\nITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\nNOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\nHOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\nSTRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\nOF THE POSSIBILITY OF SUCH DAMAGE.\n====================================================================\n\nThis software consists of voluntary contributions made by many\nindividuals on behalf of the Apache Group and was originally based\non public domain software written at the National Center for\nSupercomputing Applications, University of Illinois, Urbana-Champaign.\nFor more information on the Apache Group and the Apache HTTP server\nproject, please see ." + }, + { + "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "identifier": "spdx-license-identifier-gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-40ad9110ec6551e97f55cd72b297773235a415e7", + "language": "en", + "rule_url": null, + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": true, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": true, + "length": 13, + "relevance": 100, + "minimum_coverage": 0, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */" } ], "files": [ @@ -20,20 +298,26 @@ "license_detections": [ { "license_expression": "apache-1.0", + "license_expression_spdx": "Apache-1.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-1.0", + "spdx_license_expression": "Apache-1.0", + "from_file": "scan/apache-1.0.txt", "start_line": 4, "end_line": 54, + "matcher": "2-aho", + "score": 100.0, "matched_length": 368, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-1.0", - "rule_identifier": "apache-1.0.LICENSE", "rule_relevance": 100, - "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-1.0.LICENSE" + "rule_identifier": "apache-1.0.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-1.0.LICENSE", + "matched_text": "Redistribution and use in source and binary forms, with or without\r\nmodification, are permitted provided that the following conditions\r\nare met:\r\n\r\n 1. Redistributions of source code must retain the above copyright\r\n notice, this list of conditions and the following disclaimer. \r\n \r\n 2. Redistributions in binary form must reproduce the above copyright\r\n notice, this list of conditions and the following disclaimer in\r\n the documentation and/or other materials provided with the\r\n distribution.\r\n \r\n 3. All advertising materials mentioning features or use of this\r\n software must display the following acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n 4. The names \"Apache Server\" and \"Apache Group\" must not be used to\r\n endorse or promote products derived from this software without\r\n prior written permission. For written permission, please contact\r\n apache@apache.org.\r\n \r\n 5. Products derived from this software may not be called \"Apache\"\r\n nor may \"Apache\" appear in their names without prior written\r\n permission of the Apache Group.\r\n \r\n 6. Redistributions of any form whatsoever must retain the following\r\n acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY\r\n EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR\r\n ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\r\n NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r\n HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\r\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r\n ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\r\n OF THE POSSIBILITY OF SUCH DAMAGE.\r\n====================================================================\r\n\r\n This software consists of voluntary contributions made by many\r\n individuals on behalf of the Apache Group and was originally based\r\n on public domain software written at the National Center for\r\n Supercomputing Applications, University of Illinois, Urbana-Champaign.\r\n For more information on the Apache Group and the Apache HTTP server\r\n project, please see .", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\r\nmodification, are permitted provided that the following conditions\r\nare met:\r\n\r\n 1. Redistributions of source code must retain the above copyright\r\n notice, this list of conditions and the following disclaimer. \r\n \r\n 2. Redistributions in binary form must reproduce the above copyright\r\n notice, this list of conditions and the following disclaimer in\r\n the documentation and/or other materials provided with the\r\n distribution.\r\n \r\n 3. All advertising materials mentioning features or use of this\r\n software must display the following acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n 4. The names \"Apache Server\" and \"Apache Group\" must not be used to\r\n endorse or promote products derived from this software without\r\n prior written permission. For written permission, please contact\r\n apache@apache.org.\r\n \r\n 5. Products derived from this software may not be called \"Apache\"\r\n nor may \"Apache\" appear in their names without prior written\r\n permission of the Apache Group.\r\n \r\n 6. Redistributions of any form whatsoever must retain the following\r\n acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY\r\n EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR\r\n ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\r\n NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r\n HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\r\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r\n ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\r\n OF THE POSSIBILITY OF SUCH DAMAGE.\r\n====================================================================\r\n\r\n This software consists of voluntary contributions made by many\r\n individuals on behalf of the Apache Group and was originally based\r\n on public domain software written at the National Center for\r\n Supercomputing Applications, University of Illinois, Urbana-Champaign.\r\n For more information on the Apache Group and the Apache HTTP server\r\n project, please see ." } ], + "detection_log": [], "identifier": "apache_1_0-01e67edb-9930-c1d2-2a95-f923a0ecacfb" } ], @@ -49,21 +333,27 @@ "license_detections": [ { "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "license_expression_spdx": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "spdx_license_expression": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", + "from_file": "scan/gpl-2.0_with_linux-syscall-note_or_linux-openib_SPDX.RULE", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 13, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", - "rule_identifier": "spdx-license-identifier-gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib-4099cddf665e1c4068ae21bd191fabfb71b7c536", "rule_relevance": 100, - "rule_url": null + "rule_identifier": "spdx-license-identifier-gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-40ad9110ec6551e97f55cd72b297773235a415e7", + "rule_url": null, + "matched_text": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */", + "matched_text_diagnostics": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */" } ], - "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-c196bf1c-1c1f-18b4-554f-690be18bbad0" + "detection_log": [], + "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-e59dcea3-b71b-02e5-24d9-3795864d0303" } ], "license_clues": [], diff --git a/tests/licensedcode/data/plugin_license/license-expression/spdx-expressions.expected.json b/tests/licensedcode/data/plugin_license/license-expression/spdx-expressions.expected.json index d64ac4ec89..e501546e7f 100644 --- a/tests/licensedcode/data/plugin_license/license-expression/spdx-expressions.expected.json +++ b/tests/licensedcode/data/plugin_license/license-expression/spdx-expressions.expected.json @@ -1,10 +1,187 @@ { "license_detections": [ { - "identifier": "zlib_and_apache_2_0-98210dcd-8eb2-6675-dd67-08f007face08", + "identifier": "zlib_and_apache_2_0-d2dd5765-db15-d485-52b5-2b87410a725a", "license_expression": "zlib AND apache-2.0", + "license_expression_spdx": "Zlib AND Apache-2.0", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "spdx-expressions.txt", + "start_line": 2, + "end_line": 2, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-zlib-4a028b82b49264191c29aec7d2e5b4d780173fab", + "rule_url": null, + "matched_text": "https://licenses.nuget.org/Zlib", + "matched_text_diagnostics": "licenses.nuget.org/Zlib" + }, + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "spdx-expressions.txt", + "start_line": 4, + "end_line": 4, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 6, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-apache_2_0-5dcda840588b4f07f49f2c0100924ebca7bc0649", + "rule_url": null, + "matched_text": "SPDX-License-Identifier: Apache-2.0", + "matched_text_diagnostics": "SPDX-License-Identifier: Apache-2.0" + } + ] + } + ], + "license_references": [ + { + "key": "apache-2.0", + "language": "en", + "short_name": "Apache 2.0", + "name": "Apache License 2.0", + "category": "Permissive", + "owner": "Apache Software Foundation", + "homepage_url": "http://www.apache.org/licenses/", + "notes": "Per SPDX.org, this version was released January 2004 This license is OSI\ncertified\n", + "is_builtin": true, + "is_exception": false, + "is_unknown": false, + "is_generic": false, + "spdx_license_key": "Apache-2.0", + "other_spdx_license_keys": [ + "LicenseRef-Apache", + "LicenseRef-Apache-2.0" + ], + "osi_license_key": "Apache-2.0", + "text_urls": [ + "http://www.apache.org/licenses/LICENSE-2.0" + ], + "osi_url": "http://opensource.org/licenses/apache2.0.php", + "faq_url": "http://www.apache.org/foundation/licence-FAQ.html", + "other_urls": [ + "http://www.opensource.org/licenses/Apache-2.0", + "https://opensource.org/licenses/Apache-2.0", + "https://www.apache.org/licenses/LICENSE-2.0" + ], + "key_aliases": [], + "minimum_coverage": 0, + "standard_notice": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [ + "http://www.apache.org/licenses/", + "http://www.apache.org/licenses/LICENSE-2.0" + ], + "ignorable_emails": [], + "text": " Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n \n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n \n 1. Definitions.\n \n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n \n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n \n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n \n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n \n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n \n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n \n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n \n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n \n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n \n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n \n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n \n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n \n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n \n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n \n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n \n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n \n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n \n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n \n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n \n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n \n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n \n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n \n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n \n END OF TERMS AND CONDITIONS\n \n APPENDIX: How to apply the Apache License to your work.\n \n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n \n Copyright [yyyy] [name of copyright owner]\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.", + "scancode_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE", + "licensedb_url": "https://scancode-licensedb.aboutcode.org/apache-2.0", + "spdx_url": "https://spdx.org/licenses/Apache-2.0" + }, + { + "key": "zlib", + "language": "en", + "short_name": "ZLIB License", + "name": "ZLIB License", + "category": "Permissive", + "owner": "zlib", + "homepage_url": "http://www.zlib.net/", + "notes": "Per SPDX.org, this is OSI certified", + "is_builtin": true, + "is_exception": false, + "is_unknown": false, + "is_generic": false, + "spdx_license_key": "Zlib", + "other_spdx_license_keys": [], + "osi_license_key": null, + "text_urls": [ + "http://www.gzip.org/zlib/zlib_license.html" + ], + "osi_url": "http://www.opensource.org/licenses/zlib-license.php", + "faq_url": "http://www.gzip.org/zlib/zlib-faq.html", + "other_urls": [ + "http://www.opensource.org/licenses/Zlib", + "http://www.zlib.net/zlib_license.html", + "https://opensource.org/licenses/Zlib" + ], + "key_aliases": [], + "minimum_coverage": 50, + "standard_notice": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "This software is provided 'as-is', without any express or implied warranty. In no\nevent will the authors be held liable for any damages arising from the use of this\nsoftware.\n\nPermission is granted to anyone to use this software for any purpose, including\ncommercial applications, and to alter it and redistribute it freely, subject to\nthe following restrictions:\n\n1. The origin of this software must not be misrepresented; you must not claim that\n you wrote the original software. If you use this software in a product, an\n acknowledgment in the product documentation would be appreciated but is not\n required.\n\n2. Altered source versions must be plainly marked as such, and must not be\n misrepresented as being the original software.\n\n3. This notice may not be removed or altered from any source distribution.", + "scancode_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "licensedb_url": "https://scancode-licensedb.aboutcode.org/zlib", + "spdx_url": "https://spdx.org/licenses/Zlib" + } + ], + "license_rule_references": [ + { + "license_expression": "apache-2.0", + "identifier": "spdx-license-identifier-apache_2_0-5dcda840588b4f07f49f2c0100924ebca7bc0649", + "language": "en", + "rule_url": null, + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": true, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": true, + "length": 6, + "relevance": 100, + "minimum_coverage": 0, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "SPDX-License-Identifier: Apache-2.0" + }, + { + "license_expression": "zlib", + "identifier": "spdx-license-identifier-zlib-4a028b82b49264191c29aec7d2e5b4d780173fab", + "language": "en", + "rule_url": null, + "is_license_text": false, + "is_license_notice": false, + "is_license_reference": false, + "is_license_tag": true, + "is_license_intro": false, + "is_license_clue": false, + "is_continuous": false, + "is_builtin": true, + "is_from_license": false, + "is_synthetic": true, + "length": 4, + "relevance": 100, + "minimum_coverage": 0, + "referenced_filenames": [], + "notes": null, + "ignorable_copyrights": [], + "ignorable_holders": [], + "ignorable_authors": [], + "ignorable_urls": [], + "ignorable_emails": [], + "text": "https://licenses.nuget.org/Zlib" } ], "files": [ @@ -16,36 +193,43 @@ "license_detections": [ { "license_expression": "zlib AND apache-2.0", + "license_expression_spdx": "Zlib AND Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "spdx-expressions.txt", "start_line": 2, "end_line": 2, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "zlib", - "rule_identifier": "spdx-license-identifier-zlib-defbb051fec96d25d21a92bf9e28889f674a89dc", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-zlib-478bffd97a87207ab3ba955132d7a51b329faca0", "rule_url": null, - "matched_text": "licenses.nuget.org/Zlib" + "matched_text": "https://licenses.nuget.org/Zlib", + "matched_text_diagnostics": "licenses.nuget.org/Zlib" }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "spdx-expressions.txt", "start_line": 4, "end_line": 4, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "apache-2.0", - "rule_identifier": "spdx-license-identifier-apache-2.0-8b7d7ba520c6ab392deaea36b8b1f018b637027e", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-apache_2_0-5dcda840588b4f07f49f2c0100924ebca7bc0649", "rule_url": null, - "matched_text": "SPDX-License-Identifier: Apache-2.0" + "matched_text": "SPDX-License-Identifier: Apache-2.0", + "matched_text_diagnostics": "SPDX-License-Identifier: Apache-2.0" } ], "detection_log": [], - "identifier": "zlib_and_apache_2_0-98210dcd-8eb2-6675-dd67-08f007face08" + "identifier": "zlib_and_apache_2_0-d2dd5765-db15-d485-52b5-2b87410a725a" } ], "license_clues": [], diff --git a/tests/licensedcode/data/plugin_license/license_reference/license-ref-see-copying.expected.json b/tests/licensedcode/data/plugin_license/license_reference/license-ref-see-copying.expected.json index 394c06b5d6..9a7ba129e7 100644 --- a/tests/licensedcode/data/plugin_license/license_reference/license-ref-see-copying.expected.json +++ b/tests/licensedcode/data/plugin_license/license_reference/license-ref-see-copying.expected.json @@ -3,16 +3,70 @@ { "identifier": "apache_2_0-1c807a43-2040-70af-75aa-c343d5f2b90c", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 1, "detection_log": [ "unknown-reference-to-local-file" + ], + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "license-ref-see-copying/ref", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 8, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_91.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_91.RULE", + "matched_text": "This is free software. See COPYING for details.", + "matched_text_diagnostics": "This is free software. See COPYING for details." + }, + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "license-ref-see-copying/COPYING", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE", + "matched_text": "license: apache 2.0", + "matched_text_diagnostics": "license: apache 2.0" + } ] }, { "identifier": "apache_2_0-ec759ae0-ea5a-f138-793e-388520e080c0", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "license-ref-see-copying/COPYING", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE", + "matched_text": "license: apache 2.0", + "matched_text_diagnostics": "license: apache 2.0" + } + ] } ], "files": [ @@ -24,19 +78,23 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "license-ref-see-copying/COPYING", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_65.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE", - "matched_text": "license: apache 2.0" + "matched_text": "license: apache 2.0", + "matched_text_diagnostics": "license: apache 2.0" } ], "detection_log": [], @@ -55,32 +113,39 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "license-ref-see-copying/ref", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_91.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_91.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_91.RULE", - "matched_text": "This is free software. See COPYING for details." + "matched_text": "This is free software. See COPYING for details.", + "matched_text_diagnostics": "This is free software. See COPYING for details." }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "license-ref-see-copying/COPYING", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_65.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE", - "matched_text": "license: apache 2.0" + "matched_text": "license: apache 2.0", + "matched_text_diagnostics": "license: apache 2.0" } ], "detection_log": [ diff --git a/tests/licensedcode/data/plugin_license/license_reference/scan-ref.expected.json b/tests/licensedcode/data/plugin_license/license_reference/scan-ref.expected.json index b4cca34b1a..66c3bb8d63 100644 --- a/tests/licensedcode/data/plugin_license/license_reference/scan-ref.expected.json +++ b/tests/licensedcode/data/plugin_license/license_reference/scan-ref.expected.json @@ -3,16 +3,70 @@ { "identifier": "mit-20c01557-97bd-0022-052e-56c5ed8465ea", "license_expression": "mit", + "license_expression_spdx": "MIT", "detection_count": 1, "detection_log": [ "unknown-reference-to-local-file" + ], + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "scan-ref/license-notice.txt", + "start_line": 34, + "end_line": 34, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_25.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_25.RULE", + "matched_text": " \"license\": \"SEE LICENSE IN LICENSE.txt\",", + "matched_text_diagnostics": "license\": \"SEE LICENSE IN LICENSE." + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "scan-ref/LICENSE", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 10, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_66.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_66.RULE", + "matched_text": "that is licensed under [MIT](http://opensource.org/licenses/MIT).", + "matched_text_diagnostics": "that is licensed under [MIT](http://opensource.org/licenses/MIT)." + } ] }, { "identifier": "mit-6fc93e6a-0319-6943-7be7-2e20513a43e0", "license_expression": "mit", + "license_expression_spdx": "MIT", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "scan-ref/LICENSE", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 10, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_66.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_66.RULE", + "matched_text": "that is licensed under [MIT](http://opensource.org/licenses/MIT).", + "matched_text_diagnostics": "that is licensed under [MIT](http://opensource.org/licenses/MIT)." + } + ] } ], "files": [ @@ -24,19 +78,23 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "scan-ref/LICENSE", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 10, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "mit_66.RULE", "rule_relevance": 100, + "rule_identifier": "mit_66.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_66.RULE", - "matched_text": "that is licensed under [MIT](http://opensource.org/licenses/MIT)." + "matched_text": "that is licensed under [MIT](http://opensource.org/licenses/MIT).", + "matched_text_diagnostics": "that is licensed under [MIT](http://opensource.org/licenses/MIT)." } ], "detection_log": [], @@ -55,32 +113,39 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "scan-ref/license-notice.txt", "start_line": 34, "end_line": 34, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_25.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_25.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_25.RULE", - "matched_text": "license\": \"SEE LICENSE IN LICENSE." + "matched_text": " \"license\": \"SEE LICENSE IN LICENSE.txt\",", + "matched_text_diagnostics": "license\": \"SEE LICENSE IN LICENSE." }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "scan-ref/LICENSE", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 10, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "mit_66.RULE", "rule_relevance": 100, + "rule_identifier": "mit_66.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_66.RULE", - "matched_text": "that is licensed under [MIT](http://opensource.org/licenses/MIT)." + "matched_text": "that is licensed under [MIT](http://opensource.org/licenses/MIT).", + "matched_text_diagnostics": "that is licensed under [MIT](http://opensource.org/licenses/MIT)." } ], "detection_log": [ diff --git a/tests/licensedcode/data/plugin_license/license_reference/scan-unknown-reference-copyright.expected.json b/tests/licensedcode/data/plugin_license/license_reference/scan-unknown-reference-copyright.expected.json index 171ce10009..79c2c8b360 100644 --- a/tests/licensedcode/data/plugin_license/license_reference/scan-unknown-reference-copyright.expected.json +++ b/tests/licensedcode/data/plugin_license/license_reference/scan-unknown-reference-copyright.expected.json @@ -3,24 +3,113 @@ { "identifier": "x11_xconsortium_veillard-61f804f6-d484-92ca-09b5-26be51ac974e", "license_expression": "x11-xconsortium-veillard", + "license_expression_spdx": "LicenseRef-scancode-x11-xconsortium-veillard", "detection_count": 2, "detection_log": [ "unknown-reference-to-local-file" + ], + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "scan-unknown-reference-copyright/build_glob.py", + "start_line": 9, + "end_line": 9, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 8, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_30.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_30.RULE", + "matched_text": "# See Copyright for the status of this software.", + "matched_text_diagnostics": "See Copyright for the status of this software." + }, + { + "license_expression": "x11-xconsortium-veillard", + "license_expression_spdx": "LicenseRef-scancode-x11-xconsortium-veillard", + "from_file": "scan-unknown-reference-copyright/Copyright", + "start_line": 7, + "end_line": 26, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 199, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "x11-xconsortium-veillard.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-xconsortium-veillard.LICENSE", + "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 fur-\nnished 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, FIT-\nNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nDANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\nNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of Daniel Veillard 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 him.", + "matched_text_diagnostics": "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 fur-\nnished 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, FIT-\nNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nDANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\nNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of Daniel Veillard 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 him." + } ] }, { "identifier": "x11_xconsortium_veillard-50c015bd-e4e1-c6fe-eb82-9551473dd8e1", "license_expression": "x11-xconsortium-veillard", + "license_expression_spdx": "LicenseRef-scancode-x11-xconsortium-veillard", "detection_count": 1, "detection_log": [ "unknown-reference-to-local-file" + ], + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "scan-unknown-reference-copyright/include/libxml/c14n.h", + "start_line": 13, + "end_line": 13, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 9, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_108.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_108.RULE", + "matched_text": " * Copy: See Copyright for the status of this software.", + "matched_text_diagnostics": "Copy: See Copyright for the status of this software." + }, + { + "license_expression": "x11-xconsortium-veillard", + "license_expression_spdx": "LicenseRef-scancode-x11-xconsortium-veillard", + "from_file": "scan-unknown-reference-copyright/Copyright", + "start_line": 7, + "end_line": 26, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 199, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "x11-xconsortium-veillard.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-xconsortium-veillard.LICENSE", + "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 fur-\nnished 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, FIT-\nNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nDANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\nNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of Daniel Veillard 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 him.", + "matched_text_diagnostics": "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 fur-\nnished 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, FIT-\nNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nDANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\nNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of Daniel Veillard 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 him." + } ] }, { "identifier": "x11_xconsortium_veillard-b2601908-f03c-335c-5bbd-e72dc065c901", "license_expression": "x11-xconsortium-veillard", + "license_expression_spdx": "LicenseRef-scancode-x11-xconsortium-veillard", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "x11-xconsortium-veillard", + "license_expression_spdx": "LicenseRef-scancode-x11-xconsortium-veillard", + "from_file": "scan-unknown-reference-copyright/Copyright", + "start_line": 7, + "end_line": 26, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 199, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "x11-xconsortium-veillard.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-xconsortium-veillard.LICENSE", + "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 fur-\nnished 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, FIT-\nNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nDANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\nNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of Daniel Veillard 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 him.", + "matched_text_diagnostics": "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 fur-\nnished 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, FIT-\nNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nDANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\nNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of Daniel Veillard 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 him." + } + ] } ], "files": [ @@ -32,19 +121,23 @@ "license_detections": [ { "license_expression": "x11-xconsortium-veillard", + "license_expression_spdx": "LicenseRef-scancode-x11-xconsortium-veillard", "matches": [ { - "score": 100.0, + "license_expression": "x11-xconsortium-veillard", + "spdx_license_expression": "LicenseRef-scancode-x11-xconsortium-veillard", + "from_file": "scan-unknown-reference-copyright/Copyright", "start_line": 7, "end_line": 26, + "matcher": "2-aho", + "score": 100.0, "matched_length": 199, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium-veillard", - "rule_identifier": "x11-xconsortium-veillard.LICENSE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium-veillard.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-xconsortium-veillard.LICENSE", - "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 fur-\nnished 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, FIT-\nNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nDANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\nNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of Daniel Veillard 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 him." + "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 fur-\nnished 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, FIT-\nNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nDANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\nNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of Daniel Veillard 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 him.", + "matched_text_diagnostics": "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 fur-\nnished 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, FIT-\nNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nDANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\nNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of Daniel Veillard 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 him." } ], "detection_log": [], @@ -63,32 +156,39 @@ "license_detections": [ { "license_expression": "x11-xconsortium-veillard", + "license_expression_spdx": "LicenseRef-scancode-x11-xconsortium-veillard", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "scan-unknown-reference-copyright/build_glob.py", "start_line": 9, "end_line": 9, + "matcher": "2-aho", + "score": 100.0, "matched_length": 8, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_30.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_30.RULE", - "matched_text": "See Copyright for the status of this software." + "matched_text": "# See Copyright for the status of this software.", + "matched_text_diagnostics": "See Copyright for the status of this software." }, { - "score": 100.0, + "license_expression": "x11-xconsortium-veillard", + "spdx_license_expression": "LicenseRef-scancode-x11-xconsortium-veillard", + "from_file": "scan-unknown-reference-copyright/Copyright", "start_line": 7, "end_line": 26, + "matcher": "2-aho", + "score": 100.0, "matched_length": 199, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium-veillard", - "rule_identifier": "x11-xconsortium-veillard.LICENSE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium-veillard.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-xconsortium-veillard.LICENSE", - "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 fur-\nnished 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, FIT-\nNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nDANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\nNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of Daniel Veillard 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 him." + "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 fur-\nnished 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, FIT-\nNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nDANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\nNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of Daniel Veillard 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 him.", + "matched_text_diagnostics": "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 fur-\nnished 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, FIT-\nNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nDANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\nNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of Daniel Veillard 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 him." } ], "detection_log": [ @@ -109,32 +209,39 @@ "license_detections": [ { "license_expression": "x11-xconsortium-veillard", + "license_expression_spdx": "LicenseRef-scancode-x11-xconsortium-veillard", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "scan-unknown-reference-copyright/c14n.c", "start_line": 8, "end_line": 8, + "matcher": "2-aho", + "score": 100.0, "matched_length": 8, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_30.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_30.RULE", - "matched_text": "See Copyright for the status of this software." + "matched_text": " * See Copyright for the status of this software.", + "matched_text_diagnostics": "See Copyright for the status of this software." }, { - "score": 100.0, + "license_expression": "x11-xconsortium-veillard", + "spdx_license_expression": "LicenseRef-scancode-x11-xconsortium-veillard", + "from_file": "scan-unknown-reference-copyright/Copyright", "start_line": 7, "end_line": 26, + "matcher": "2-aho", + "score": 100.0, "matched_length": 199, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium-veillard", - "rule_identifier": "x11-xconsortium-veillard.LICENSE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium-veillard.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-xconsortium-veillard.LICENSE", - "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 fur-\nnished 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, FIT-\nNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nDANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\nNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of Daniel Veillard 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 him." + "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 fur-\nnished 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, FIT-\nNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nDANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\nNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of Daniel Veillard 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 him.", + "matched_text_diagnostics": "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 fur-\nnished 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, FIT-\nNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nDANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\nNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of Daniel Veillard 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 him." } ], "detection_log": [ @@ -175,32 +282,39 @@ "license_detections": [ { "license_expression": "x11-xconsortium-veillard", + "license_expression_spdx": "LicenseRef-scancode-x11-xconsortium-veillard", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "scan-unknown-reference-copyright/include/libxml/c14n.h", "start_line": 13, "end_line": 13, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_108.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_108.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_108.RULE", - "matched_text": "Copy: See Copyright for the status of this software." + "matched_text": " * Copy: See Copyright for the status of this software.", + "matched_text_diagnostics": "Copy: See Copyright for the status of this software." }, { - "score": 100.0, + "license_expression": "x11-xconsortium-veillard", + "spdx_license_expression": "LicenseRef-scancode-x11-xconsortium-veillard", + "from_file": "scan-unknown-reference-copyright/Copyright", "start_line": 7, "end_line": 26, + "matcher": "2-aho", + "score": 100.0, "matched_length": 199, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium-veillard", - "rule_identifier": "x11-xconsortium-veillard.LICENSE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium-veillard.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-xconsortium-veillard.LICENSE", - "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 fur-\nnished 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, FIT-\nNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nDANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\nNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of Daniel Veillard 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 him." + "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 fur-\nnished 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, FIT-\nNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nDANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\nNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of Daniel Veillard 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 him.", + "matched_text_diagnostics": "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 fur-\nnished 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, FIT-\nNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nDANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-\nNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nExcept as contained in this notice, the name of Daniel Veillard 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 him." } ], "detection_log": [ diff --git a/tests/licensedcode/data/plugin_license/license_reference/scan-wref.expected.json b/tests/licensedcode/data/plugin_license/license_reference/scan-wref.expected.json index 30c5b469cd..7a1c99517f 100644 --- a/tests/licensedcode/data/plugin_license/license_reference/scan-wref.expected.json +++ b/tests/licensedcode/data/plugin_license/license_reference/scan-wref.expected.json @@ -3,8 +3,27 @@ { "identifier": "unknown_license_reference-8dac7670-e286-f6de-27a1-f2b5c87524ff", "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "scan-without-ref/license-notice.txt", + "start_line": 34, + "end_line": 34, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_25.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_25.RULE", + "matched_text": " \"license\": \"SEE LICENSE IN LICENSE.txt\",", + "matched_text_diagnostics": "license\": \"SEE LICENSE IN LICENSE." + } + ] } ], "files": [ @@ -16,19 +35,23 @@ "license_detections": [ { "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "scan-without-ref/license-notice.txt", "start_line": 34, "end_line": 34, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_25.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_25.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_25.RULE", - "matched_text": "license\": \"SEE LICENSE IN LICENSE." + "matched_text": " \"license\": \"SEE LICENSE IN LICENSE.txt\",", + "matched_text_diagnostics": "license\": \"SEE LICENSE IN LICENSE." } ], "detection_log": [], diff --git a/tests/licensedcode/data/plugin_license/license_reference/unknown-ref-to-key-file-root.expected.json b/tests/licensedcode/data/plugin_license/license_reference/unknown-ref-to-key-file-root.expected.json index a69e5f83ad..707530d5e4 100644 --- a/tests/licensedcode/data/plugin_license/license_reference/unknown-ref-to-key-file-root.expected.json +++ b/tests/licensedcode/data/plugin_license/license_reference/unknown-ref-to-key-file-root.expected.json @@ -3,42 +3,236 @@ { "identifier": "mit-e46a912c-b32a-30d5-dc27-c13824253230", "license_expression": "mit", + "license_expression_spdx": "MIT", "detection_count": 4, "detection_log": [ "unknown-reference-to-local-file" + ], + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "unknown-ref-to-key-file-root/esprima-compare.js", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see-license_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see-license_1.RULE", + "matched_text": "// (See LICENSE.)", + "matched_text_diagnostics": "See LICENSE.)" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "unknown-ref-to-key-file-root/LICENSE", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_26.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_26.RULE", + "matched_text": "The MIT License (MIT)", + "matched_text_diagnostics": "The MIT License (MIT)" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "unknown-ref-to-key-file-root/LICENSE", + "start_line": 5, + "end_line": 21, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "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\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\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\nTHE SOFTWARE.", + "matched_text_diagnostics": "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\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\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\nTHE SOFTWARE." + } ] }, { "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", "license_expression": "mit", + "license_expression_spdx": "MIT", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "unknown-ref-to-key-file-root/package.json", + "start_line": 5, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", + "matched_text": " \"license\": \"MIT\",", + "matched_text_diagnostics": "license\": \"MIT\"," + } + ] }, { "identifier": "mit-86fcf017-3572-9813-b7e8-0a10ec4a120f", "license_expression": "mit", + "license_expression_spdx": "MIT", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "unknown-ref-to-key-file-root/LICENSE", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_26.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_26.RULE", + "matched_text": "The MIT License (MIT)", + "matched_text_diagnostics": "The MIT License (MIT)" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "unknown-ref-to-key-file-root/LICENSE", + "start_line": 5, + "end_line": 21, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "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\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\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\nTHE SOFTWARE.", + "matched_text_diagnostics": "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\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\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\nTHE SOFTWARE." + } + ] }, { "identifier": "mit-ad99a349-2a14-9fe5-c6a6-366fd3b9067b", "license_expression": "mit", + "license_expression_spdx": "MIT", "detection_count": 1, "detection_log": [ "unknown-reference-to-local-file" + ], + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "unknown-ref-to-key-file-root/regex.coffee", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_1187.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1187.RULE", + "matched_text": "# License: MIT. (See LICENSE.)", + "matched_text_diagnostics": "License: MIT. (See LICENSE.)" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "unknown-ref-to-key-file-root/LICENSE", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_26.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_26.RULE", + "matched_text": "The MIT License (MIT)", + "matched_text_diagnostics": "The MIT License (MIT)" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "unknown-ref-to-key-file-root/LICENSE", + "start_line": 5, + "end_line": 21, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "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\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\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\nTHE SOFTWARE.", + "matched_text_diagnostics": "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\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\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\nTHE SOFTWARE." + } ] }, { "identifier": "mit-bdcba66f-6e80-f7bd-7994-748183fe5693", "license_expression": "mit", + "license_expression_spdx": "MIT", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "unknown-ref-to-key-file-root/README.md", + "start_line": 219, + "end_line": 222, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_31.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_31.RULE", + "matched_text": "License\n=======\n\n[MIT](LICENSE).", + "matched_text_diagnostics": "License\n=======\n\n[MIT](LICENSE)." + } + ] }, { "identifier": "mit-d0a34f23-8c35-8874-a99f-6ed1e3b31f40", "license_expression": "mit", + "license_expression_spdx": "MIT", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "unknown-ref-to-key-file-root/js-tokens-3.0.2.ABOUT", + "start_line": 4, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_1114.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1114.RULE", + "matched_text": "license_expression: mit\ncopyright: Copyright (c) 2014, 2015, 2016, 2017 Simon Lydell", + "matched_text_diagnostics": "mit\ncopyright:" + } + ] } ], "files": [ @@ -50,32 +244,39 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "unknown-ref-to-key-file-root/LICENSE", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_26.RULE", "rule_relevance": 100, + "rule_identifier": "mit_26.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_26.RULE", - "matched_text": "The MIT License (MIT)" + "matched_text": "The MIT License (MIT)", + "matched_text_diagnostics": "The MIT License (MIT)" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "unknown-ref-to-key-file-root/LICENSE", "start_line": 5, "end_line": 21, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", - "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\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\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\nTHE SOFTWARE." + "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\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\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\nTHE SOFTWARE.", + "matched_text_diagnostics": "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\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\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\nTHE SOFTWARE." } ], "detection_log": [], @@ -94,19 +295,23 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "unknown-ref-to-key-file-root/README.md", "start_line": 219, "end_line": 222, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_31.RULE", "rule_relevance": 100, + "rule_identifier": "mit_31.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_31.RULE", - "matched_text": "License\n=======\n\n[MIT](LICENSE)." + "matched_text": "License\n=======\n\n[MIT](LICENSE).", + "matched_text_diagnostics": "License\n=======\n\n[MIT](LICENSE)." } ], "detection_log": [], @@ -125,45 +330,55 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "unknown-ref-to-key-file-root/esprima-compare.js", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_see-license_1.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see-license_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see-license_1.RULE", - "matched_text": "See LICENSE.)" + "matched_text": "// (See LICENSE.)", + "matched_text_diagnostics": "See LICENSE.)" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "unknown-ref-to-key-file-root/LICENSE", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_26.RULE", "rule_relevance": 100, + "rule_identifier": "mit_26.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_26.RULE", - "matched_text": "The MIT License (MIT)" + "matched_text": "The MIT License (MIT)", + "matched_text_diagnostics": "The MIT License (MIT)" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "unknown-ref-to-key-file-root/LICENSE", "start_line": 5, "end_line": 21, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", - "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\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\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\nTHE SOFTWARE." + "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\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\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\nTHE SOFTWARE.", + "matched_text_diagnostics": "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\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\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\nTHE SOFTWARE." } ], "detection_log": [ @@ -184,45 +399,55 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "unknown-ref-to-key-file-root/generate-index.js", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_see-license_1.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see-license_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see-license_1.RULE", - "matched_text": "See LICENSE.)" + "matched_text": "// (See LICENSE.)", + "matched_text_diagnostics": "See LICENSE.)" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "unknown-ref-to-key-file-root/LICENSE", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_26.RULE", "rule_relevance": 100, + "rule_identifier": "mit_26.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_26.RULE", - "matched_text": "The MIT License (MIT)" + "matched_text": "The MIT License (MIT)", + "matched_text_diagnostics": "The MIT License (MIT)" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "unknown-ref-to-key-file-root/LICENSE", "start_line": 5, "end_line": 21, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", - "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\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\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\nTHE SOFTWARE." + "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\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\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\nTHE SOFTWARE.", + "matched_text_diagnostics": "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\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\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\nTHE SOFTWARE." } ], "detection_log": [ @@ -243,45 +468,55 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "unknown-ref-to-key-file-root/index.js", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_see-license_1.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see-license_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see-license_1.RULE", - "matched_text": "See LICENSE.)" + "matched_text": "See LICENSE.)", + "matched_text_diagnostics": "See LICENSE.)" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "unknown-ref-to-key-file-root/LICENSE", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_26.RULE", "rule_relevance": 100, + "rule_identifier": "mit_26.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_26.RULE", - "matched_text": "The MIT License (MIT)" + "matched_text": "The MIT License (MIT)", + "matched_text_diagnostics": "The MIT License (MIT)" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "unknown-ref-to-key-file-root/LICENSE", "start_line": 5, "end_line": 21, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", - "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\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\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\nTHE SOFTWARE." + "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\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\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\nTHE SOFTWARE.", + "matched_text_diagnostics": "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\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\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\nTHE SOFTWARE." } ], "detection_log": [ @@ -302,19 +537,23 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "unknown-ref-to-key-file-root/js-tokens-3.0.2.ABOUT", "start_line": 4, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_1114.RULE", "rule_relevance": 100, + "rule_identifier": "mit_1114.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1114.RULE", - "matched_text": "mit\ncopyright:" + "matched_text": "license_expression: mit\ncopyright: Copyright (c) 2014, 2015, 2016, 2017 Simon Lydell", + "matched_text_diagnostics": "mit\ncopyright:" } ], "detection_log": [], @@ -333,19 +572,23 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "unknown-ref-to-key-file-root/package.json", "start_line": 5, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_30.RULE", "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", - "matched_text": "license\": \"MIT\"," + "matched_text": " \"license\": \"MIT\",", + "matched_text_diagnostics": "license\": \"MIT\"," } ], "detection_log": [], @@ -364,45 +607,55 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "unknown-ref-to-key-file-root/regex.coffee", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_1187.RULE", "rule_relevance": 100, + "rule_identifier": "mit_1187.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1187.RULE", - "matched_text": "License: MIT. (See LICENSE.)" + "matched_text": "# License: MIT. (See LICENSE.)", + "matched_text_diagnostics": "License: MIT. (See LICENSE.)" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "unknown-ref-to-key-file-root/LICENSE", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_26.RULE", "rule_relevance": 100, + "rule_identifier": "mit_26.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_26.RULE", - "matched_text": "The MIT License (MIT)" + "matched_text": "The MIT License (MIT)", + "matched_text_diagnostics": "The MIT License (MIT)" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "unknown-ref-to-key-file-root/LICENSE", "start_line": 5, "end_line": 21, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", - "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\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\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\nTHE SOFTWARE." + "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\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\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\nTHE SOFTWARE.", + "matched_text_diagnostics": "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\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\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\nTHE SOFTWARE." } ], "detection_log": [ @@ -433,45 +686,55 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "unknown-ref-to-key-file-root/test/index.js", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_see-license_1.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see-license_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see-license_1.RULE", - "matched_text": "See LICENSE.)" + "matched_text": "// (See LICENSE.)", + "matched_text_diagnostics": "See LICENSE.)" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "unknown-ref-to-key-file-root/LICENSE", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_26.RULE", "rule_relevance": 100, + "rule_identifier": "mit_26.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_26.RULE", - "matched_text": "The MIT License (MIT)" + "matched_text": "The MIT License (MIT)", + "matched_text_diagnostics": "The MIT License (MIT)" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "unknown-ref-to-key-file-root/LICENSE", "start_line": 5, "end_line": 21, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", - "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\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\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\nTHE SOFTWARE." + "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\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\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\nTHE SOFTWARE.", + "matched_text_diagnostics": "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\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\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\nTHE SOFTWARE." } ], "detection_log": [ diff --git a/tests/licensedcode/data/plugin_license/license_url/license_url.expected.json b/tests/licensedcode/data/plugin_license/license_url/license_url.expected.json index 646cfc7deb..1fdbc5ddfb 100644 --- a/tests/licensedcode/data/plugin_license/license_url/license_url.expected.json +++ b/tests/licensedcode/data/plugin_license/license_url/license_url.expected.json @@ -3,7 +3,24 @@ { "identifier": "apache_1_0-01e67edb-9930-c1d2-2a95-f923a0ecacfb", "license_expression": "apache-1.0", - "detection_count": 1 + "license_expression_spdx": "Apache-1.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-1.0", + "license_expression_spdx": "Apache-1.0", + "from_file": "scan/apache-1.0.txt", + "start_line": 4, + "end_line": 54, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 368, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-1.0.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-1.0.LICENSE" + } + ] } ], "files": [ @@ -25,17 +42,20 @@ "license_detections": [ { "license_expression": "apache-1.0", + "license_expression_spdx": "Apache-1.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-1.0", + "spdx_license_expression": "Apache-1.0", + "from_file": "scan/apache-1.0.txt", "start_line": 4, "end_line": 54, + "matcher": "2-aho", + "score": 100.0, "matched_length": 368, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-1.0", - "rule_identifier": "apache-1.0.LICENSE", "rule_relevance": 100, + "rule_identifier": "apache-1.0.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-1.0.LICENSE" } ], diff --git a/tests/licensedcode/data/plugin_license/mock_index/scan-unknown-intro-eclipse-foundation.expected.json b/tests/licensedcode/data/plugin_license/mock_index/scan-unknown-intro-eclipse-foundation.expected.json index fa434fa53d..8b48d43f71 100644 --- a/tests/licensedcode/data/plugin_license/mock_index/scan-unknown-intro-eclipse-foundation.expected.json +++ b/tests/licensedcode/data/plugin_license/mock_index/scan-unknown-intro-eclipse-foundation.expected.json @@ -1,60 +1,69 @@ [ { "license_expression": "epl-2.0", + "license_expression_spdx": "EPL-2.0", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": null, "start_line": 4, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 14, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "license-intro_29.RULE", "rule_relevance": 100, + "rule_identifier": "license-intro_29.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_29.RULE", "matched_text": " * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0" }, { - "score": 100.0, + "license_expression": "epl-2.0", + "spdx_license_expression": "EPL-2.0", + "from_file": null, "start_line": 5, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "epl-2.0", - "rule_identifier": "epl-2.0_30.RULE", "rule_relevance": 100, + "rule_identifier": "epl-2.0_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-2.0_30.RULE", "matched_text": " * available under the terms of the Eclipse Public License 2.0" }, { - "score": 100.0, + "license_expression": "epl-2.0", + "spdx_license_expression": "EPL-2.0", + "from_file": null, "start_line": 6, "end_line": 6, + "matcher": "2-aho", + "score": 100.0, "matched_length": 8, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "epl-2.0", - "rule_identifier": "epl-2.0_2.RULE", "rule_relevance": 100, + "rule_identifier": "epl-2.0_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-2.0_2.RULE", "matched_text": " * which is available at https://www.eclipse.org/legal/epl-2.0/" }, { - "score": 100.0, + "license_expression": "epl-2.0", + "spdx_license_expression": "EPL-2.0", + "from_file": null, "start_line": 8, "end_line": 8, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "epl-2.0", - "rule_identifier": "spdx-license-identifier-epl-2.0-c05120fcba71854ec1ea0d2897a5dcb1290a6dea", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-epl_2_0-fc3580adf1834d6862422242a06d59e74eb62582", "rule_url": null, "matched_text": " * SPDX-License-Identifier: EPL-2.0" } ], - "identifier": "epl_2_0-84903be0-4504-63f8-98ab-d918ff2fb53c" + "identifier": "epl_2_0-16e050c0-576a-1003-b3c3-e5b5354b0fc2" } ] \ No newline at end of file diff --git a/tests/licensedcode/data/plugin_license/package/package.expected.json b/tests/licensedcode/data/plugin_license/package/package.expected.json index 3aeaae8b87..64e9b60606 100644 --- a/tests/licensedcode/data/plugin_license/package/package.expected.json +++ b/tests/licensedcode/data/plugin_license/package/package.expected.json @@ -42,17 +42,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -114,12 +117,46 @@ { "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "package.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_url": null + } + ] }, { "identifier": "mit-bdbee2a2-57b2-e502-e367-d613d7f6dda8", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "package.json", + "start_line": 15, + "end_line": 15, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_272.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_272.RULE" + } + ] } ], "files": [ @@ -169,17 +206,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -232,17 +272,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package.json", "start_line": 15, "end_line": 15, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_272.RULE", "rule_relevance": 100, + "rule_identifier": "mit_272.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_272.RULE" } ], diff --git a/tests/licensedcode/data/plugin_license/scan/e2fsprogs-expected.json b/tests/licensedcode/data/plugin_license/scan/e2fsprogs-expected.json index d6bf6c314c..f8393eeead 100644 --- a/tests/licensedcode/data/plugin_license/scan/e2fsprogs-expected.json +++ b/tests/licensedcode/data/plugin_license/scan/e2fsprogs-expected.json @@ -3,7 +3,24 @@ { "identifier": "gpl_2_0_and_patent_disclaimer-3bb2602f-86f5-b9da-9bf5-b52e6920c8d1", "license_expression": "gpl-2.0 AND patent-disclaimer", - "detection_count": 1 + "license_expression_spdx": "GPL-2.0-only AND LicenseRef-scancode-patent-disclaimer", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "gpl-2.0 AND patent-disclaimer", + "license_expression_spdx": "GPL-2.0-only AND LicenseRef-scancode-patent-disclaimer", + "from_file": "e2fsprogs/e2fsprogs-fsstress", + "start_line": 4, + "end_line": 30, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 185, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0_and_patent-disclaimer_3.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_and_patent-disclaimer_3.RULE" + } + ] } ], "files": [ @@ -15,15 +32,17 @@ "license_detections": [], "license_clues": [ { - "score": 14.39, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "e2fsprogs/e2fsprogs-copyright", "start_line": 19, "end_line": 20, + "matcher": "3-seq", + "score": 14.39, "matched_length": 20, "match_coverage": 14.39, - "matcher": "3-seq", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_65.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_65.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_65.RULE" } ], @@ -38,17 +57,20 @@ "license_detections": [ { "license_expression": "gpl-2.0 AND patent-disclaimer", + "license_expression_spdx": "GPL-2.0-only AND LicenseRef-scancode-patent-disclaimer", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0 AND patent-disclaimer", + "spdx_license_expression": "GPL-2.0-only AND LicenseRef-scancode-patent-disclaimer", + "from_file": "e2fsprogs/e2fsprogs-fsstress", "start_line": 4, "end_line": 30, + "matcher": "2-aho", + "score": 100.0, "matched_length": 185, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0 AND patent-disclaimer", - "rule_identifier": "gpl-2.0_and_patent-disclaimer_3.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_and_patent-disclaimer_3.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_and_patent-disclaimer_3.RULE" } ], diff --git a/tests/licensedcode/data/plugin_license/scan/ffmpeg-license.expected.json b/tests/licensedcode/data/plugin_license/scan/ffmpeg-license.expected.json index fc4770a5db..07807553ad 100644 --- a/tests/licensedcode/data/plugin_license/scan/ffmpeg-license.expected.json +++ b/tests/licensedcode/data/plugin_license/scan/ffmpeg-license.expected.json @@ -3,34 +3,225 @@ { "identifier": "gpl_1_0_plus-0211bbc4-784e-97fe-2ac1-f150ccba866e", "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "ffmpeg-LICENSE.md", + "start_line": 79, + "end_line": 79, + "matcher": "2-aho", + "score": 90.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 90, + "rule_identifier": "gpl_70.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_70.RULE", + "matched_text": "The following libraries are under GPL:", + "matched_text_diagnostics": "under GPL:" + } + ] }, { "identifier": "gpl_2_0_and_apache_2_0_and_lgpl_3_0_plus-c2393e5a-e531-304f-58a9-a6431d46d214", "license_expression": "gpl-2.0 AND apache-2.0 AND lgpl-3.0-plus", + "license_expression_spdx": "GPL-2.0-only AND Apache-2.0 AND LGPL-3.0-or-later", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", + "from_file": "ffmpeg-LICENSE.md", + "start_line": 88, + "end_line": 89, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 20, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0_870.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_870.RULE", + "matched_text": "When combining them with FFmpeg, FFmpeg needs to be licensed as GPL as well by\npassing --enable-gpl to configure.", + "matched_text_diagnostics": "When combining them with FFmpeg, FFmpeg needs to be licensed as GPL as well by\npassing --enable-gpl to configure." + }, + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "ffmpeg-LICENSE.md", + "start_line": 91, + "end_line": 91, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 8, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_411.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_411.RULE", + "matched_text": "The OpenCORE and VisualOn libraries are under the Apache License 2.0. That", + "matched_text_diagnostics": "libraries are under the Apache License 2.0." + }, + { + "license_expression": "lgpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later", + "from_file": "ffmpeg-LICENSE.md", + "start_line": 94, + "end_line": 94, + "matcher": "2-aho", + "score": 99.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 99, + "rule_identifier": "lgpl-3.0-plus_130.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_130.RULE", + "matched_text": "license version needs to be upgraded by passing --enable-version3 to configure.", + "matched_text_diagnostics": "enable-version3" + } + ] }, { "identifier": "ijg_and_mit-e50613dc-8a09-65cc-c498-5d9527795382", "license_expression": "ijg AND mit", + "license_expression_spdx": "IJG AND MIT", "detection_count": 1, "detection_log": [ "unknown-intro-followed-by-match" + ], + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "ffmpeg-LICENSE.md", + "start_line": 59, + "end_line": 59, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_235.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_235.RULE", + "matched_text": "There are a handful of files under other licensing terms, namely:", + "matched_text_diagnostics": "under other licensing terms," + }, + { + "license_expression": "ijg", + "license_expression_spdx": "IJG", + "from_file": "ffmpeg-LICENSE.md", + "start_line": 62, + "end_line": 63, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "ijg_28.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/ijg_28.RULE", + "matched_text": " libavcodec/jrevdct.c are taken from libjpeg, see the top of the files for\n licensing details. Specifically note that you must credit the IJG in the", + "matched_text_diagnostics": "taken from libjpeg, see the top of the files for\n licensing details." + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "ffmpeg-LICENSE.md", + "start_line": 67, + "end_line": 67, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_576.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_576.RULE", + "matched_text": " tests/reference.pnm is under the expat license", + "matched_text_diagnostics": "is under the expat license" + } ] }, { "identifier": "lgpl_2_1_plus_and_other_permissive_and_gpl_2_0_plus-666058ef-8c38-3b17-d8e7-448b304de833", "license_expression": "lgpl-2.1-plus AND other-permissive AND gpl-2.0-plus", + "license_expression_spdx": "LGPL-2.1-or-later AND LicenseRef-scancode-other-permissive AND GPL-2.0-or-later", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "lgpl-2.1-plus AND other-permissive AND gpl-2.0-plus", + "license_expression_spdx": "LGPL-2.1-or-later AND LicenseRef-scancode-other-permissive AND GPL-2.0-or-later", + "from_file": "ffmpeg-LICENSE.md", + "start_line": 3, + "end_line": 13, + "matcher": "3-seq", + "score": 99.09, + "matched_length": 109, + "match_coverage": 99.09, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_and__other-permissive_and_gpl-2.0-plus_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_and__other-permissive_and_gpl-2.0-plus_1.RULE", + "matched_text": "Most files in FFmpeg are under the GNU Lesser General Public License version 2.1\nor later (LGPL v2.1+). Read the file COPYING.LGPLv2.1 for details. Some other\nfiles have MIT/X11/BSD-style licenses. In combination the LGPL v2.1+ applies to\nFFmpeg.\n\nSome optional parts of FFmpeg are licensed under the GNU General Public License\nversion 2 or later (GPL v2+). See the file COPYING.GPLv2 for details. None of\nthese parts are used by default, you have to explicitly pass --enable-gpl to\nconfigure to activate them. In this case, FFmpeg's license changes to GPL v2+.\n\nSpecifically, the GPL parts of FFmpeg are:", + "matched_text_diagnostics": "Most files in FFmpeg are under the GNU Lesser General Public License version 2.1\nor later (LGPL v2.1+). Read the file COPYING.LGPLv2.1 for details. Some other\nfiles have MIT/X11/BSD-style licenses. In combination the LGPL v2.1+ applies to\nFFmpeg.\n\nSome optional parts of FFmpeg are licensed under the GNU General Public License\nversion 2 or later (GPL v2+). See the file COPYING.GPLv2 for details. None of\nthese parts are used by default, you have to explicitly pass --enable-gpl to\nconfigure to activate them. In this case, FFmpeg's license changes to GPL v2+.\n\nSpecifically, the GPL parts of FFmpeg are:" + } + ] }, { "identifier": "lgpl_3_0_and_lgpl_3_0_plus_and__lgpl_3_0_and_gpl_3_0-eb2232a5-2c4f-3fc9-a2ee-cdf40b20ae23", "license_expression": "lgpl-3.0 AND lgpl-3.0-plus AND (lgpl-3.0 AND gpl-3.0)", + "license_expression_spdx": "LGPL-3.0-only AND LGPL-3.0-or-later AND (LGPL-3.0-only AND GPL-3.0-only)", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", + "from_file": "ffmpeg-LICENSE.md", + "start_line": 54, + "end_line": 54, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 6, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_134.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_134.RULE", + "matched_text": "Should you, for whatever reason, prefer to use version 3 of the (L)GPL, then", + "matched_text_diagnostics": "version 3 of the (L)GPL," + }, + { + "license_expression": "lgpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later", + "from_file": "ffmpeg-LICENSE.md", + "start_line": 55, + "end_line": 55, + "matcher": "2-aho", + "score": 99.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 99, + "rule_identifier": "lgpl-3.0-plus_130.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_130.RULE", + "matched_text": "the configure parameter --enable-version3 will activate this licensing option", + "matched_text_diagnostics": "enable-version3" + }, + { + "license_expression": "lgpl-3.0 AND gpl-3.0", + "license_expression_spdx": "LGPL-3.0-only AND GPL-3.0-only", + "from_file": "ffmpeg-LICENSE.md", + "start_line": 56, + "end_line": 57, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 25, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_and_gpl-3.0_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_and_gpl-3.0_2.RULE", + "matched_text": "for you. Read the file COPYING.LGPLv3 or, if you have enabled GPL parts,\nCOPYING.GPLv3 to learn the exact legal terms that apply in this case.", + "matched_text_diagnostics": "Read the file COPYING.LGPLv3 or, if you have enabled GPL parts,\nCOPYING.GPLv3 to learn the exact legal terms that apply in this case." + } + ] } ], "files": [ @@ -42,19 +233,23 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus AND other-permissive AND gpl-2.0-plus", + "license_expression_spdx": "LGPL-2.1-or-later AND LicenseRef-scancode-other-permissive AND GPL-2.0-or-later", "matches": [ { - "score": 99.09, + "license_expression": "lgpl-2.1-plus AND other-permissive AND gpl-2.0-plus", + "spdx_license_expression": "LGPL-2.1-or-later AND LicenseRef-scancode-other-permissive AND GPL-2.0-or-later", + "from_file": "ffmpeg-LICENSE.md", "start_line": 3, "end_line": 13, + "matcher": "3-seq", + "score": 99.09, "matched_length": 109, "match_coverage": 99.09, - "matcher": "3-seq", - "license_expression": "lgpl-2.1-plus AND other-permissive AND gpl-2.0-plus", - "rule_identifier": "lgpl-2.1-plus_and__other-permissive_and_gpl-2.0-plus_1.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_and__other-permissive_and_gpl-2.0-plus_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_and__other-permissive_and_gpl-2.0-plus_1.RULE", - "matched_text": "Most files in FFmpeg are under the GNU Lesser General Public License version 2.1\nor later (LGPL v2.1+). Read the file COPYING.LGPLv2.1 for details. Some other\nfiles have MIT/X11/BSD-style licenses. In combination the LGPL v2.1+ applies to\nFFmpeg.\n\nSome optional parts of FFmpeg are licensed under the GNU General Public License\nversion 2 or later (GPL v2+). See the file COPYING.GPLv2 for details. None of\nthese parts are used by default, you have to explicitly pass --enable-gpl to\nconfigure to activate them. In this case, FFmpeg's license changes to GPL v2+.\n\nSpecifically, the GPL parts of FFmpeg are:" + "matched_text": "Most files in FFmpeg are under the GNU Lesser General Public License version 2.1\nor later (LGPL v2.1+). Read the file COPYING.LGPLv2.1 for details. Some other\nfiles have MIT/X11/BSD-style licenses. In combination the LGPL v2.1+ applies to\nFFmpeg.\n\nSome optional parts of FFmpeg are licensed under the GNU General Public License\nversion 2 or later (GPL v2+). See the file COPYING.GPLv2 for details. None of\nthese parts are used by default, you have to explicitly pass --enable-gpl to\nconfigure to activate them. In this case, FFmpeg's license changes to GPL v2+.\n\nSpecifically, the GPL parts of FFmpeg are:", + "matched_text_diagnostics": "Most files in FFmpeg are under the GNU Lesser General Public License version 2.1\nor later (LGPL v2.1+). Read the file COPYING.LGPLv2.1 for details. Some other\nfiles have MIT/X11/BSD-style licenses. In combination the LGPL v2.1+ applies to\nFFmpeg.\n\nSome optional parts of FFmpeg are licensed under the GNU General Public License\nversion 2 or later (GPL v2+). See the file COPYING.GPLv2 for details. None of\nthese parts are used by default, you have to explicitly pass --enable-gpl to\nconfigure to activate them. In this case, FFmpeg's license changes to GPL v2+.\n\nSpecifically, the GPL parts of FFmpeg are:" } ], "detection_log": [], @@ -62,45 +257,55 @@ }, { "license_expression": "lgpl-3.0 AND lgpl-3.0-plus AND (lgpl-3.0 AND gpl-3.0)", + "license_expression_spdx": "LGPL-3.0-only AND LGPL-3.0-or-later AND (LGPL-3.0-only AND GPL-3.0-only)", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", + "from_file": "ffmpeg-LICENSE.md", "start_line": 54, "end_line": 54, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0", - "rule_identifier": "lgpl-3.0_134.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_134.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_134.RULE", - "matched_text": "version 3 of the (L)GPL," + "matched_text": "Should you, for whatever reason, prefer to use version 3 of the (L)GPL, then", + "matched_text_diagnostics": "version 3 of the (L)GPL," }, { - "score": 99.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "ffmpeg-LICENSE.md", "start_line": 55, "end_line": 55, + "matcher": "2-aho", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_130.RULE", "rule_relevance": 99, + "rule_identifier": "lgpl-3.0-plus_130.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_130.RULE", - "matched_text": "enable-version3" + "matched_text": "the configure parameter --enable-version3 will activate this licensing option", + "matched_text_diagnostics": "enable-version3" }, { - "score": 100.0, + "license_expression": "lgpl-3.0 AND gpl-3.0", + "spdx_license_expression": "LGPL-3.0-only AND GPL-3.0-only", + "from_file": "ffmpeg-LICENSE.md", "start_line": 56, "end_line": 57, + "matcher": "2-aho", + "score": 100.0, "matched_length": 25, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0 AND gpl-3.0", - "rule_identifier": "lgpl-3.0_and_gpl-3.0_2.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_and_gpl-3.0_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_and_gpl-3.0_2.RULE", - "matched_text": "Read the file COPYING.LGPLv3 or, if you have enabled GPL parts,\nCOPYING.GPLv3 to learn the exact legal terms that apply in this case." + "matched_text": "for you. Read the file COPYING.LGPLv3 or, if you have enabled GPL parts,\nCOPYING.GPLv3 to learn the exact legal terms that apply in this case.", + "matched_text_diagnostics": "Read the file COPYING.LGPLv3 or, if you have enabled GPL parts,\nCOPYING.GPLv3 to learn the exact legal terms that apply in this case." } ], "detection_log": [], @@ -108,45 +313,55 @@ }, { "license_expression": "ijg AND mit", + "license_expression_spdx": "IJG AND MIT", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "ffmpeg-LICENSE.md", "start_line": 59, "end_line": 59, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_235.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_235.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_235.RULE", - "matched_text": "under other licensing terms," + "matched_text": "There are a handful of files under other licensing terms, namely:", + "matched_text_diagnostics": "under other licensing terms," }, { - "score": 100.0, + "license_expression": "ijg", + "spdx_license_expression": "IJG", + "from_file": "ffmpeg-LICENSE.md", "start_line": 62, "end_line": 63, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "ijg", - "rule_identifier": "ijg_28.RULE", "rule_relevance": 100, + "rule_identifier": "ijg_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/ijg_28.RULE", - "matched_text": "taken from libjpeg, see the top of the files for\n licensing details." + "matched_text": " libavcodec/jrevdct.c are taken from libjpeg, see the top of the files for\n licensing details. Specifically note that you must credit the IJG in the", + "matched_text_diagnostics": "taken from libjpeg, see the top of the files for\n licensing details." }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "ffmpeg-LICENSE.md", "start_line": 67, "end_line": 67, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_576.RULE", "rule_relevance": 100, + "rule_identifier": "mit_576.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_576.RULE", - "matched_text": "is under the expat license" + "matched_text": " tests/reference.pnm is under the expat license", + "matched_text_diagnostics": "is under the expat license" } ], "detection_log": [ @@ -156,19 +371,23 @@ }, { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { - "score": 90.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "ffmpeg-LICENSE.md", "start_line": 79, "end_line": 79, + "matcher": "2-aho", + "score": 90.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_70.RULE", "rule_relevance": 90, + "rule_identifier": "gpl_70.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_70.RULE", - "matched_text": "under GPL:" + "matched_text": "The following libraries are under GPL:", + "matched_text_diagnostics": "under GPL:" } ], "detection_log": [], @@ -176,45 +395,55 @@ }, { "license_expression": "gpl-2.0 AND apache-2.0 AND lgpl-3.0-plus", + "license_expression_spdx": "GPL-2.0-only AND Apache-2.0 AND LGPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "ffmpeg-LICENSE.md", "start_line": 88, "end_line": 89, + "matcher": "2-aho", + "score": 100.0, "matched_length": 20, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_870.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_870.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_870.RULE", - "matched_text": "When combining them with FFmpeg, FFmpeg needs to be licensed as GPL as well by\npassing --enable-gpl to configure." + "matched_text": "When combining them with FFmpeg, FFmpeg needs to be licensed as GPL as well by\npassing --enable-gpl to configure.", + "matched_text_diagnostics": "When combining them with FFmpeg, FFmpeg needs to be licensed as GPL as well by\npassing --enable-gpl to configure." }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "ffmpeg-LICENSE.md", "start_line": 91, "end_line": 91, + "matcher": "2-aho", + "score": 100.0, "matched_length": 8, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_411.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_411.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_411.RULE", - "matched_text": "libraries are under the Apache License 2.0." + "matched_text": "The OpenCORE and VisualOn libraries are under the Apache License 2.0. That", + "matched_text_diagnostics": "libraries are under the Apache License 2.0." }, { - "score": 99.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "ffmpeg-LICENSE.md", "start_line": 94, "end_line": 94, + "matcher": "2-aho", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_130.RULE", "rule_relevance": 99, + "rule_identifier": "lgpl-3.0-plus_130.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_130.RULE", - "matched_text": "enable-version3" + "matched_text": "license version needs to be upgraded by passing --enable-version3 to configure.", + "matched_text_diagnostics": "enable-version3" } ], "detection_log": [], @@ -223,56 +452,68 @@ ], "license_clues": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "ffmpeg-LICENSE.md", "start_line": 100, "end_line": 100, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_bare_single_word.RULE", - "matched_text": "GPLv2" + "matched_text": "are incompatible with the GPLv2 and v3. We do not know for certain if their", + "matched_text_diagnostics": "GPLv2" }, { - "score": 75.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "ffmpeg-LICENSE.md", "start_line": 101, "end_line": 101, + "matcher": "2-aho", + "score": 75.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl_bare_single_word.RULE", "rule_relevance": 75, + "rule_identifier": "lgpl_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_bare_single_word.RULE", - "matched_text": "LGPL." + "matched_text": "licenses are compatible with the LGPL.", + "matched_text_diagnostics": "LGPL." }, { - "score": 100.0, + "license_expression": "proprietary-license", + "spdx_license_expression": "LicenseRef-scancode-proprietary-license", + "from_file": "ffmpeg-LICENSE.md", "start_line": 102, "end_line": 102, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "proprietary-license", - "rule_identifier": "proprietary-license_490.RULE", "rule_relevance": 100, + "rule_identifier": "proprietary-license_490.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_490.RULE", - "matched_text": "enable-nonfree" + "matched_text": "If you wish to enable these libraries, pass --enable-nonfree to configure.", + "matched_text_diagnostics": "enable-nonfree" }, { - "score": 75.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "ffmpeg-LICENSE.md", "start_line": 104, "end_line": 104, + "matcher": "2-aho", + "score": 75.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl_bare_single_word.RULE", "rule_relevance": 75, + "rule_identifier": "lgpl_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_bare_single_word.RULE", - "matched_text": "LGPL" + "matched_text": "be under a complex license mix that is more restrictive than the LGPL and that", + "matched_text_diagnostics": "LGPL" } ], "percentage_of_license_text": 34.78, diff --git a/tests/licensedcode/data/plugin_license/sqlite/sqlite.expected.json b/tests/licensedcode/data/plugin_license/sqlite/sqlite.expected.json index 253043c19f..0cacc4cae5 100644 --- a/tests/licensedcode/data/plugin_license/sqlite/sqlite.expected.json +++ b/tests/licensedcode/data/plugin_license/sqlite/sqlite.expected.json @@ -3,7 +3,26 @@ { "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d", "license_expression": "blessing", - "detection_count": 136 + "license_expression_spdx": "blessing", + "detection_count": 136, + "reference_matches": [ + { + "license_expression": "blessing", + "license_expression_spdx": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", + "start_line": 30, + "end_line": 35, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 42, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + } + ] } ], "files": [ @@ -25,2584 +44,3128 @@ "license_detections": [ { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 30, "end_line": 35, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 54, "end_line": 59, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 77, "end_line": 82, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 100, "end_line": 105, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 123, "end_line": 128, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 146, "end_line": 151, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 169, "end_line": 174, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 192, "end_line": 197, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 215, "end_line": 220, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 238, "end_line": 243, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 261, "end_line": 266, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 284, "end_line": 289, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 307, "end_line": 312, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 330, "end_line": 335, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 353, "end_line": 358, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 376, "end_line": 381, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 399, "end_line": 404, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 422, "end_line": 427, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 445, "end_line": 450, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 468, "end_line": 473, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 491, "end_line": 496, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 514, "end_line": 519, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 537, "end_line": 542, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 560, "end_line": 565, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 583, "end_line": 588, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 606, "end_line": 611, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 629, "end_line": 634, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 652, "end_line": 657, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 675, "end_line": 680, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 698, "end_line": 703, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 721, "end_line": 726, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 744, "end_line": 749, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 767, "end_line": 772, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 790, "end_line": 795, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 813, "end_line": 818, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 836, "end_line": 841, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 859, "end_line": 864, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 882, "end_line": 887, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 905, "end_line": 910, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 928, "end_line": 933, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 951, "end_line": 956, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 974, "end_line": 979, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 997, "end_line": 1002, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1020, "end_line": 1025, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1043, "end_line": 1048, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1066, "end_line": 1071, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1089, "end_line": 1094, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1112, "end_line": 1117, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1135, "end_line": 1140, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1158, "end_line": 1163, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1181, "end_line": 1186, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1204, "end_line": 1209, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1227, "end_line": 1232, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1250, "end_line": 1255, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1273, "end_line": 1278, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1296, "end_line": 1301, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1319, "end_line": 1324, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1342, "end_line": 1347, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1365, "end_line": 1370, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1388, "end_line": 1393, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1411, "end_line": 1416, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1434, "end_line": 1439, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1457, "end_line": 1462, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1480, "end_line": 1485, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1503, "end_line": 1508, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1526, "end_line": 1531, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1549, "end_line": 1554, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1572, "end_line": 1577, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1595, "end_line": 1600, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1618, "end_line": 1623, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1641, "end_line": 1646, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1664, "end_line": 1669, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1687, "end_line": 1692, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1710, "end_line": 1715, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1733, "end_line": 1738, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1756, "end_line": 1761, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1779, "end_line": 1784, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1802, "end_line": 1807, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1825, "end_line": 1830, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1848, "end_line": 1853, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1871, "end_line": 1876, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1894, "end_line": 1899, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1917, "end_line": 1922, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1940, "end_line": 1945, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1963, "end_line": 1968, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 1986, "end_line": 1991, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2009, "end_line": 2014, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2032, "end_line": 2037, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2055, "end_line": 2060, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2078, "end_line": 2083, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2101, "end_line": 2106, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2124, "end_line": 2129, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2147, "end_line": 2152, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2170, "end_line": 2175, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2193, "end_line": 2198, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2216, "end_line": 2221, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2239, "end_line": 2244, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2262, "end_line": 2267, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2285, "end_line": 2290, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2308, "end_line": 2313, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2331, "end_line": 2336, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2354, "end_line": 2359, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2377, "end_line": 2382, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2400, "end_line": 2405, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2423, "end_line": 2428, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2446, "end_line": 2451, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2469, "end_line": 2474, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2492, "end_line": 2497, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2515, "end_line": 2520, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2538, "end_line": 2543, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2561, "end_line": 2566, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2584, "end_line": 2589, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2607, "end_line": 2612, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2630, "end_line": 2635, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2653, "end_line": 2658, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2676, "end_line": 2681, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2699, "end_line": 2704, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2722, "end_line": 2727, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2745, "end_line": 2750, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2768, "end_line": 2773, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2791, "end_line": 2796, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2814, "end_line": 2819, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2837, "end_line": 2842, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2860, "end_line": 2865, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2883, "end_line": 2888, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2906, "end_line": 2911, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2929, "end_line": 2934, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2952, "end_line": 2957, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2975, "end_line": 2980, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 2998, "end_line": 3003, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 3021, "end_line": 3026, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 3044, "end_line": 3049, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 3067, "end_line": 3072, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 3090, "end_line": 3095, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 3113, "end_line": 3118, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" }, { "license_expression": "blessing", + "license_expression_spdx": "blessing", "matches": [ { - "score": 100.0, + "license_expression": "blessing", + "spdx_license_expression": "blessing", + "from_file": "sqlite.tgz/sqlite3-binding2.c", "start_line": 3136, "end_line": 3141, + "matcher": "2-aho", + "score": 100.0, "matched_length": 42, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "blessing", - "rule_identifier": "blessing.LICENSE", "rule_relevance": 100, + "rule_identifier": "blessing.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/blessing.LICENSE", - "matched_text": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." + "matched_text": "** The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give.", + "matched_text_diagnostics": "The author disclaims copyright to this source code. In place of\n** a legal notice, here is a blessing:\n**\n** May you do good and not evil.\n** May you find forgiveness for yourself and forgive others.\n** May you share freely, never taking more than you give." } ], "identifier": "blessing-728ecfdc-abda-aff7-2b96-4e2cbd706f0d" diff --git a/tests/licensedcode/data/plugin_license/text/scan-diag.expected.json b/tests/licensedcode/data/plugin_license/text/scan-diag.expected.json index b3ee2e2e84..121abb2509 100644 --- a/tests/licensedcode/data/plugin_license/text/scan-diag.expected.json +++ b/tests/licensedcode/data/plugin_license/text/scan-diag.expected.json @@ -3,14 +3,52 @@ { "identifier": "fsf_ap-49ad9aab-c91b-eeb7-e90f-dc3f959b1c36", "license_expression": "fsf-ap", + "license_expression_spdx": "FSFAP", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "fsf-ap", + "license_expression_spdx": "FSFAP", + "from_file": "scan/short-license", + "start_line": 1, + "end_line": 3, + "matcher": "3-seq", + "score": 91.43, + "matched_length": 32, + "match_coverage": 91.43, + "rule_relevance": 100, + "rule_identifier": "fsf-ap.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-ap.LICENSE", + "matched_text": "Reproduction and distribution of this file, with or without modification, are\npermitted in any medium without royalties provided the copyright notice\nand this notice are preserved. This file is offered as-is, without any warranties.", + "matched_text_diagnostics": "and distribution of this file, with or without modification, are\npermitted in any medium without [royalties] provided the copyright notice\nand this notice are preserved. This file is offered as-is, without any" + } + ] }, { - "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-c196bf1c-1c1f-18b4-554f-690be18bbad0", + "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-e59dcea3-b71b-02e5-24d9-3795864d0303", "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "license_expression_spdx": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "license_expression_spdx": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", + "from_file": "scan/gpl-2.0_with_linux-syscall-note_or_linux-openib_SPDX.RULE", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 13, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-40ad9110ec6551e97f55cd72b297773235a415e7", + "rule_url": null, + "matched_text": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */", + "matched_text_diagnostics": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */" + } + ] } ], "files": [ @@ -22,23 +60,27 @@ "license_detections": [ { "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "license_expression_spdx": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "spdx_license_expression": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", + "from_file": "scan/gpl-2.0_with_linux-syscall-note_or_linux-openib_SPDX.RULE", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 13, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", - "rule_identifier": "spdx-license-identifier-gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib-4099cddf665e1c4068ae21bd191fabfb71b7c536", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-40ad9110ec6551e97f55cd72b297773235a415e7", "rule_url": null, - "matched_text": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */" + "matched_text": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */", + "matched_text_diagnostics": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */" } ], "detection_log": [], - "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-c196bf1c-1c1f-18b4-554f-690be18bbad0" + "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-e59dcea3-b71b-02e5-24d9-3795864d0303" } ], "license_clues": [], @@ -53,19 +95,23 @@ "license_detections": [ { "license_expression": "fsf-ap", + "license_expression_spdx": "FSFAP", "matches": [ { - "score": 91.43, + "license_expression": "fsf-ap", + "spdx_license_expression": "FSFAP", + "from_file": "scan/short-license", "start_line": 1, "end_line": 3, + "matcher": "3-seq", + "score": 91.43, "matched_length": 32, "match_coverage": 91.43, - "matcher": "3-seq", - "license_expression": "fsf-ap", - "rule_identifier": "fsf-ap.LICENSE", "rule_relevance": 100, + "rule_identifier": "fsf-ap.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-ap.LICENSE", - "matched_text": "and distribution of this file, with or without modification, are\npermitted in any medium without [royalties] provided the copyright notice\nand this notice are preserved. This file is offered as-is, without any" + "matched_text": "Reproduction and distribution of this file, with or without modification, are\npermitted in any medium without royalties provided the copyright notice\nand this notice are preserved. This file is offered as-is, without any warranties.", + "matched_text_diagnostics": "and distribution of this file, with or without modification, are\npermitted in any medium without [royalties] provided the copyright notice\nand this notice are preserved. This file is offered as-is, without any" } ], "detection_log": [], diff --git a/tests/licensedcode/data/plugin_license/text/scan.expected.json b/tests/licensedcode/data/plugin_license/text/scan.expected.json index b3ee2e2e84..3eec66406e 100644 --- a/tests/licensedcode/data/plugin_license/text/scan.expected.json +++ b/tests/licensedcode/data/plugin_license/text/scan.expected.json @@ -3,14 +3,50 @@ { "identifier": "fsf_ap-49ad9aab-c91b-eeb7-e90f-dc3f959b1c36", "license_expression": "fsf-ap", + "license_expression_spdx": "FSFAP", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "fsf-ap", + "license_expression_spdx": "FSFAP", + "from_file": "scan/short-license", + "start_line": 1, + "end_line": 3, + "matcher": "3-seq", + "score": 91.43, + "matched_length": 32, + "match_coverage": 91.43, + "rule_relevance": 100, + "rule_identifier": "fsf-ap.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-ap.LICENSE", + "matched_text": "Reproduction and distribution of this file, with or without modification, are\npermitted in any medium without royalties provided the copyright notice\nand this notice are preserved. This file is offered as-is, without any warranties." + } + ] }, { - "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-c196bf1c-1c1f-18b4-554f-690be18bbad0", + "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-e59dcea3-b71b-02e5-24d9-3795864d0303", "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "license_expression_spdx": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "license_expression_spdx": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", + "from_file": "scan/gpl-2.0_with_linux-syscall-note_or_linux-openib_SPDX.RULE", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 13, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-40ad9110ec6551e97f55cd72b297773235a415e7", + "rule_url": null, + "matched_text": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */" + } + ] } ], "files": [ @@ -22,23 +58,26 @@ "license_detections": [ { "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "license_expression_spdx": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "spdx_license_expression": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", + "from_file": "scan/gpl-2.0_with_linux-syscall-note_or_linux-openib_SPDX.RULE", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 13, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", - "rule_identifier": "spdx-license-identifier-gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib-4099cddf665e1c4068ae21bd191fabfb71b7c536", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-40ad9110ec6551e97f55cd72b297773235a415e7", "rule_url": null, "matched_text": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */" } ], "detection_log": [], - "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-c196bf1c-1c1f-18b4-554f-690be18bbad0" + "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-e59dcea3-b71b-02e5-24d9-3795864d0303" } ], "license_clues": [], @@ -53,19 +92,22 @@ "license_detections": [ { "license_expression": "fsf-ap", + "license_expression_spdx": "FSFAP", "matches": [ { - "score": 91.43, + "license_expression": "fsf-ap", + "spdx_license_expression": "FSFAP", + "from_file": "scan/short-license", "start_line": 1, "end_line": 3, + "matcher": "3-seq", + "score": 91.43, "matched_length": 32, "match_coverage": 91.43, - "matcher": "3-seq", - "license_expression": "fsf-ap", - "rule_identifier": "fsf-ap.LICENSE", "rule_relevance": 100, + "rule_identifier": "fsf-ap.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-ap.LICENSE", - "matched_text": "and distribution of this file, with or without modification, are\npermitted in any medium without [royalties] provided the copyright notice\nand this notice are preserved. This file is offered as-is, without any" + "matched_text": "Reproduction and distribution of this file, with or without modification, are\npermitted in any medium without royalties provided the copyright notice\nand this notice are preserved. This file is offered as-is, without any warranties." } ], "detection_log": [], diff --git a/tests/licensedcode/data/plugin_license/text_long_lines/scan-diag.expected.json b/tests/licensedcode/data/plugin_license/text_long_lines/scan-diag.expected.json index f5d51654a8..c66391c04f 100644 --- a/tests/licensedcode/data/plugin_license/text_long_lines/scan-diag.expected.json +++ b/tests/licensedcode/data/plugin_license/text_long_lines/scan-diag.expected.json @@ -1,16 +1,54 @@ { "license_detections": [ { - "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-c196bf1c-1c1f-18b4-554f-690be18bbad0", + "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-e59dcea3-b71b-02e5-24d9-3795864d0303", "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "license_expression_spdx": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "license_expression_spdx": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", + "from_file": "scan/gpl-2.0_with_linux-syscall-note_or_linux-openib_SPDX.RULE", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 13, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-40ad9110ec6551e97f55cd72b297773235a415e7", + "rule_url": null, + "matched_text": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */", + "matched_text_diagnostics": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */" + } + ] }, { "identifier": "unlicense-5cac2dde-ce1c-ad2c-181b-a2b96eff3bab", "license_expression": "unlicense", + "license_expression_spdx": "Unlicense", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "unlicense", + "license_expression_spdx": "Unlicense", + "from_file": "scan/tocbot.js", + "start_line": 89, + "end_line": 89, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 198, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "unlicense.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/unlicense.LICENSE", + "matched_text": "This is free and unencumbered software released into the public domain. * * Anyone is free to copy, modify, publish, use, compile, sell, or * distribute this software, either in source code form or as a compiled * binary, for any purpose, commercial or non-commercial, and by any * means. * * In jurisdictions that recognize copyright laws, the author or authors * of this software dedicate any and all copyright interest in the * software to the public domain. We make this dedication for the benefit * of the public at large and to the detriment of our heirs and * successors. We intend this dedication to be an overt act of * relinquishment in perpetuity of all present and future rights to this * software under copyright law. * * THE SOFTWARE IS PROVIDED \\\"\nAS IS\\\", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * For more information, please refer to * */ /*", + "matched_text_diagnostics": "This is free and unencumbered software released into the public domain. * * Anyone is free to copy, modify, publish, use, compile, sell, or * distribute this software, either in source code form or as a compiled * binary, for any purpose, commercial or non-commercial, and by any * means. * * In jurisdictions that recognize copyright laws, the author or authors * of this software dedicate any and all copyright interest in the * software to the public domain. We make this dedication for the benefit * of the public at large and to the detriment of our heirs and * successors. We intend this dedication to be an overt act of * relinquishment in perpetuity of all present and future rights to this * software under copyright law. * * THE SOFTWARE IS PROVIDED \\\"\nAS IS\\\", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * For more information, please refer to * */ /*" + } + ] } ], "files": [ @@ -22,23 +60,27 @@ "license_detections": [ { "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "license_expression_spdx": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "spdx_license_expression": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", + "from_file": "scan/gpl-2.0_with_linux-syscall-note_or_linux-openib_SPDX.RULE", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 13, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", - "rule_identifier": "spdx-license-identifier-gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib-4099cddf665e1c4068ae21bd191fabfb71b7c536", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-40ad9110ec6551e97f55cd72b297773235a415e7", "rule_url": null, - "matched_text": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */" + "matched_text": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */", + "matched_text_diagnostics": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */" } ], "detection_log": [], - "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-c196bf1c-1c1f-18b4-554f-690be18bbad0" + "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-e59dcea3-b71b-02e5-24d9-3795864d0303" } ], "license_clues": [], @@ -53,19 +95,23 @@ "license_detections": [ { "license_expression": "unlicense", + "license_expression_spdx": "Unlicense", "matches": [ { - "score": 100.0, + "license_expression": "unlicense", + "spdx_license_expression": "Unlicense", + "from_file": "scan/tocbot.js", "start_line": 89, "end_line": 89, + "matcher": "2-aho", + "score": 100.0, "matched_length": 198, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unlicense", - "rule_identifier": "unlicense.LICENSE", "rule_relevance": 100, + "rule_identifier": "unlicense.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/unlicense.LICENSE", - "matched_text": "This is free and unencumbered software released into the public domain. * * Anyone is free to copy, modify, publish, use, compile, sell, or * distribute this software, either in source code form or as a compiled * binary, for any purpose, commercial or non-commercial, and by any * means. * * In jurisdictions that recognize copyright laws, the author or authors * of this software dedicate any and all copyright interest in the * software to the public domain. We make this dedication for the benefit * of the public at large and to the detriment of our heirs and * successors. We intend this dedication to be an overt act of * relinquishment in perpetuity of all present and future rights to this * software under copyright law. * * THE SOFTWARE IS PROVIDED \\\"\nAS IS\\\", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * For more information, please refer to * */ /*" + "matched_text": "This is free and unencumbered software released into the public domain. * * Anyone is free to copy, modify, publish, use, compile, sell, or * distribute this software, either in source code form or as a compiled * binary, for any purpose, commercial or non-commercial, and by any * means. * * In jurisdictions that recognize copyright laws, the author or authors * of this software dedicate any and all copyright interest in the * software to the public domain. We make this dedication for the benefit * of the public at large and to the detriment of our heirs and * successors. We intend this dedication to be an overt act of * relinquishment in perpetuity of all present and future rights to this * software under copyright law. * * THE SOFTWARE IS PROVIDED \\\"\nAS IS\\\", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * For more information, please refer to * */ /*", + "matched_text_diagnostics": "This is free and unencumbered software released into the public domain. * * Anyone is free to copy, modify, publish, use, compile, sell, or * distribute this software, either in source code form or as a compiled * binary, for any purpose, commercial or non-commercial, and by any * means. * * In jurisdictions that recognize copyright laws, the author or authors * of this software dedicate any and all copyright interest in the * software to the public domain. We make this dedication for the benefit * of the public at large and to the detriment of our heirs and * successors. We intend this dedication to be an overt act of * relinquishment in perpetuity of all present and future rights to this * software under copyright law. * * THE SOFTWARE IS PROVIDED \\\"\nAS IS\\\", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * For more information, please refer to * */ /*" } ], "detection_log": [], diff --git a/tests/licensedcode/data/plugin_license/text_long_lines/scan.expected.json b/tests/licensedcode/data/plugin_license/text_long_lines/scan.expected.json index f5d51654a8..c66391c04f 100644 --- a/tests/licensedcode/data/plugin_license/text_long_lines/scan.expected.json +++ b/tests/licensedcode/data/plugin_license/text_long_lines/scan.expected.json @@ -1,16 +1,54 @@ { "license_detections": [ { - "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-c196bf1c-1c1f-18b4-554f-690be18bbad0", + "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-e59dcea3-b71b-02e5-24d9-3795864d0303", "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "license_expression_spdx": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "license_expression_spdx": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", + "from_file": "scan/gpl-2.0_with_linux-syscall-note_or_linux-openib_SPDX.RULE", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 13, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-40ad9110ec6551e97f55cd72b297773235a415e7", + "rule_url": null, + "matched_text": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */", + "matched_text_diagnostics": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */" + } + ] }, { "identifier": "unlicense-5cac2dde-ce1c-ad2c-181b-a2b96eff3bab", "license_expression": "unlicense", + "license_expression_spdx": "Unlicense", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "unlicense", + "license_expression_spdx": "Unlicense", + "from_file": "scan/tocbot.js", + "start_line": 89, + "end_line": 89, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 198, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "unlicense.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/unlicense.LICENSE", + "matched_text": "This is free and unencumbered software released into the public domain. * * Anyone is free to copy, modify, publish, use, compile, sell, or * distribute this software, either in source code form or as a compiled * binary, for any purpose, commercial or non-commercial, and by any * means. * * In jurisdictions that recognize copyright laws, the author or authors * of this software dedicate any and all copyright interest in the * software to the public domain. We make this dedication for the benefit * of the public at large and to the detriment of our heirs and * successors. We intend this dedication to be an overt act of * relinquishment in perpetuity of all present and future rights to this * software under copyright law. * * THE SOFTWARE IS PROVIDED \\\"\nAS IS\\\", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * For more information, please refer to * */ /*", + "matched_text_diagnostics": "This is free and unencumbered software released into the public domain. * * Anyone is free to copy, modify, publish, use, compile, sell, or * distribute this software, either in source code form or as a compiled * binary, for any purpose, commercial or non-commercial, and by any * means. * * In jurisdictions that recognize copyright laws, the author or authors * of this software dedicate any and all copyright interest in the * software to the public domain. We make this dedication for the benefit * of the public at large and to the detriment of our heirs and * successors. We intend this dedication to be an overt act of * relinquishment in perpetuity of all present and future rights to this * software under copyright law. * * THE SOFTWARE IS PROVIDED \\\"\nAS IS\\\", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * For more information, please refer to * */ /*" + } + ] } ], "files": [ @@ -22,23 +60,27 @@ "license_detections": [ { "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "license_expression_spdx": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "spdx_license_expression": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", + "from_file": "scan/gpl-2.0_with_linux-syscall-note_or_linux-openib_SPDX.RULE", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 13, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", - "rule_identifier": "spdx-license-identifier-gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib-4099cddf665e1c4068ae21bd191fabfb71b7c536", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-40ad9110ec6551e97f55cd72b297773235a415e7", "rule_url": null, - "matched_text": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */" + "matched_text": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */", + "matched_text_diagnostics": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */" } ], "detection_log": [], - "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-c196bf1c-1c1f-18b4-554f-690be18bbad0" + "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-e59dcea3-b71b-02e5-24d9-3795864d0303" } ], "license_clues": [], @@ -53,19 +95,23 @@ "license_detections": [ { "license_expression": "unlicense", + "license_expression_spdx": "Unlicense", "matches": [ { - "score": 100.0, + "license_expression": "unlicense", + "spdx_license_expression": "Unlicense", + "from_file": "scan/tocbot.js", "start_line": 89, "end_line": 89, + "matcher": "2-aho", + "score": 100.0, "matched_length": 198, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unlicense", - "rule_identifier": "unlicense.LICENSE", "rule_relevance": 100, + "rule_identifier": "unlicense.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/unlicense.LICENSE", - "matched_text": "This is free and unencumbered software released into the public domain. * * Anyone is free to copy, modify, publish, use, compile, sell, or * distribute this software, either in source code form or as a compiled * binary, for any purpose, commercial or non-commercial, and by any * means. * * In jurisdictions that recognize copyright laws, the author or authors * of this software dedicate any and all copyright interest in the * software to the public domain. We make this dedication for the benefit * of the public at large and to the detriment of our heirs and * successors. We intend this dedication to be an overt act of * relinquishment in perpetuity of all present and future rights to this * software under copyright law. * * THE SOFTWARE IS PROVIDED \\\"\nAS IS\\\", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * For more information, please refer to * */ /*" + "matched_text": "This is free and unencumbered software released into the public domain. * * Anyone is free to copy, modify, publish, use, compile, sell, or * distribute this software, either in source code form or as a compiled * binary, for any purpose, commercial or non-commercial, and by any * means. * * In jurisdictions that recognize copyright laws, the author or authors * of this software dedicate any and all copyright interest in the * software to the public domain. We make this dedication for the benefit * of the public at large and to the detriment of our heirs and * successors. We intend this dedication to be an overt act of * relinquishment in perpetuity of all present and future rights to this * software under copyright law. * * THE SOFTWARE IS PROVIDED \\\"\nAS IS\\\", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * For more information, please refer to * */ /*", + "matched_text_diagnostics": "This is free and unencumbered software released into the public domain. * * Anyone is free to copy, modify, publish, use, compile, sell, or * distribute this software, either in source code form or as a compiled * binary, for any purpose, commercial or non-commercial, and by any * means. * * In jurisdictions that recognize copyright laws, the author or authors * of this software dedicate any and all copyright interest in the * software to the public domain. We make this dedication for the benefit * of the public at large and to the detriment of our heirs and * successors. We intend this dedication to be an overt act of * relinquishment in perpetuity of all present and future rights to this * software under copyright law. * * THE SOFTWARE IS PROVIDED \\\"\nAS IS\\\", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * For more information, please refer to * */ /*" } ], "detection_log": [], diff --git a/tests/licensedcode/data/plugin_license/unknown_intro/scan-unknown-intro-dual-license.expected.json b/tests/licensedcode/data/plugin_license/unknown_intro/scan-unknown-intro-dual-license.expected.json index c273fb339d..b6da7a8057 100644 --- a/tests/licensedcode/data/plugin_license/unknown_intro/scan-unknown-intro-dual-license.expected.json +++ b/tests/licensedcode/data/plugin_license/unknown_intro/scan-unknown-intro-dual-license.expected.json @@ -3,9 +3,76 @@ { "identifier": "wtfpl_2_0_and_mit-e5642b07-705c-9730-80ab-f5ed0565be28", "license_expression": "wtfpl-2.0 AND mit", + "license_expression_spdx": "WTFPL AND MIT", "detection_count": 1, "detection_log": [ "unknown-intro-followed-by-match" + ], + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "scan-unknown-intro-dual-license/README.md", + "start_line": 43, + "end_line": 43, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lead-in_unknown_30.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lead-in_unknown_30.RULE", + "matched_text": "All code, unless stated otherwise, is dual-licensed under [`WTFPL`](http://www.wtfpl.net/txt/copying/) and [`MIT`](https://opensource.org/licenses/MIT).", + "matched_text_diagnostics": "dual-licensed under [`" + }, + { + "license_expression": "wtfpl-2.0", + "license_expression_spdx": "WTFPL", + "from_file": "scan-unknown-intro-dual-license/README.md", + "start_line": 43, + "end_line": 43, + "matcher": "2-aho", + "score": 50.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 50, + "rule_identifier": "spdx_license_id_wtfpl_for_wtfpl-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_wtfpl_for_wtfpl-2.0.RULE", + "matched_text": "All code, unless stated otherwise, is dual-licensed under [`WTFPL`](http://www.wtfpl.net/txt/copying/) and [`MIT`](https://opensource.org/licenses/MIT).", + "matched_text_diagnostics": "WTFPL`](" + }, + { + "license_expression": "wtfpl-2.0", + "license_expression_spdx": "WTFPL", + "from_file": "scan-unknown-intro-dual-license/README.md", + "start_line": 43, + "end_line": 43, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "wtfpl-2.0_27.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/wtfpl-2.0_27.RULE", + "matched_text": "All code, unless stated otherwise, is dual-licensed under [`WTFPL`](http://www.wtfpl.net/txt/copying/) and [`MIT`](https://opensource.org/licenses/MIT).", + "matched_text_diagnostics": "www.wtfpl.net/" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "scan-unknown-intro-dual-license/README.md", + "start_line": 43, + "end_line": 43, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 6, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_64.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_64.RULE", + "matched_text": "All code, unless stated otherwise, is dual-licensed under [`WTFPL`](http://www.wtfpl.net/txt/copying/) and [`MIT`](https://opensource.org/licenses/MIT).", + "matched_text_diagnostics": "MIT`](https://opensource.org/licenses/MIT)." + } ] } ], @@ -18,58 +85,71 @@ "license_detections": [ { "license_expression": "wtfpl-2.0 AND mit", + "license_expression_spdx": "WTFPL AND MIT", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "scan-unknown-intro-dual-license/README.md", "start_line": 43, "end_line": 43, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "lead-in_unknown_30.RULE", "rule_relevance": 100, + "rule_identifier": "lead-in_unknown_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lead-in_unknown_30.RULE", - "matched_text": "dual-licensed under [`" + "matched_text": "All code, unless stated otherwise, is dual-licensed under [`WTFPL`](http://www.wtfpl.net/txt/copying/) and [`MIT`](https://opensource.org/licenses/MIT).", + "matched_text_diagnostics": "dual-licensed under [`" }, { - "score": 50.0, + "license_expression": "wtfpl-2.0", + "spdx_license_expression": "WTFPL", + "from_file": "scan-unknown-intro-dual-license/README.md", "start_line": 43, "end_line": 43, + "matcher": "2-aho", + "score": 50.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "wtfpl-2.0", - "rule_identifier": "spdx_license_id_wtfpl_for_wtfpl-2.0.RULE", "rule_relevance": 50, + "rule_identifier": "spdx_license_id_wtfpl_for_wtfpl-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_wtfpl_for_wtfpl-2.0.RULE", - "matched_text": "WTFPL`](" + "matched_text": "All code, unless stated otherwise, is dual-licensed under [`WTFPL`](http://www.wtfpl.net/txt/copying/) and [`MIT`](https://opensource.org/licenses/MIT).", + "matched_text_diagnostics": "WTFPL`](" }, { - "score": 100.0, + "license_expression": "wtfpl-2.0", + "spdx_license_expression": "WTFPL", + "from_file": "scan-unknown-intro-dual-license/README.md", "start_line": 43, "end_line": 43, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "wtfpl-2.0", - "rule_identifier": "wtfpl-2.0_27.RULE", "rule_relevance": 100, + "rule_identifier": "wtfpl-2.0_27.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/wtfpl-2.0_27.RULE", - "matched_text": "www.wtfpl.net/" + "matched_text": "All code, unless stated otherwise, is dual-licensed under [`WTFPL`](http://www.wtfpl.net/txt/copying/) and [`MIT`](https://opensource.org/licenses/MIT).", + "matched_text_diagnostics": "www.wtfpl.net/" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "scan-unknown-intro-dual-license/README.md", "start_line": 43, "end_line": 43, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_64.RULE", "rule_relevance": 100, + "rule_identifier": "mit_64.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_64.RULE", - "matched_text": "MIT`](https://opensource.org/licenses/MIT)." + "matched_text": "All code, unless stated otherwise, is dual-licensed under [`WTFPL`](http://www.wtfpl.net/txt/copying/) and [`MIT`](https://opensource.org/licenses/MIT).", + "matched_text_diagnostics": "MIT`](https://opensource.org/licenses/MIT)." } ], "detection_log": [ diff --git a/tests/licensedcode/data/plugin_license/unknown_intro/scan-unknown-intro-eclipse-foundation-tycho.expected.json b/tests/licensedcode/data/plugin_license/unknown_intro/scan-unknown-intro-eclipse-foundation-tycho.expected.json index 66dbfb3b1d..18cb7a79fa 100644 --- a/tests/licensedcode/data/plugin_license/unknown_intro/scan-unknown-intro-eclipse-foundation-tycho.expected.json +++ b/tests/licensedcode/data/plugin_license/unknown_intro/scan-unknown-intro-eclipse-foundation-tycho.expected.json @@ -3,62 +3,268 @@ { "identifier": "apache_2_0-ec71f0b5-0d51-269d-4401-8cfe56a05bfe", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 3, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "scan-unknown-intro-eclipse-foundation-tycho/about_2.html", + "start_line": 53, + "end_line": 54, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 51, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_1208.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1208.RULE", + "matched_text": "

Your use of the opentest4j code is subject to the terms and conditions of the Apache Software License 2.0. A copy of the license is contained\nin the file LICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.html.", + "matched_text_diagnostics": "code is subject to the terms and conditions of the Apache Software License 2.0. A copy of the license is contained\nin the file LICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.htmlThe plug-in includes SureFire JUnit Runner ${surefire-version} developed by the Apache Software Foundation. Therefore:

\n\n
\nThis product includes software developed by the Apache Software Foundation (http://www.apache.org/).", + "matched_text_diagnostics": "developed by the Apache Software Foundation. Therefore:

\n\n
\nThis product includes software developed by the Apache Software Foundation (http://www.apache.org/Your use of the SureFire JUnit Runner code is subject to the terms and conditions of the Apache Software License 2.0. A copy of the license is contained\nin the file LICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.html.\n\n

The Apache attribution NOTICE file is included with the Content in accordance with 4d of the Apache License, Version 2.0.

", + "matched_text_diagnostics": "code is subject to the terms and conditions of the Apache Software License 2.0. A copy of the license is contained\nin the file LICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.html.\n\n

The Apache attribution NOTICE file is included with the Content in accordance with 4d of the Apache License, Version 2.0.The Hamcrest New BSD License:

\n
\nBSD License",
+          "matched_text_diagnostics": "New BSD License:

\n
\nBSD License"
+        }
+      ]
     },
     {
       "identifier": "bsd_new-90d0d4b4-f98b-d4da-dbb0-7e601f6d404a",
       "license_expression": "bsd-new",
+      "license_expression_spdx": "BSD-3-Clause",
       "detection_count": 1,
-      "detection_log": []
+      "detection_log": [],
+      "reference_matches": [
+        {
+          "license_expression": "bsd-new",
+          "license_expression_spdx": "BSD-3-Clause",
+          "from_file": "scan-unknown-intro-eclipse-foundation-tycho/about_3.html",
+          "start_line": 64,
+          "end_line": 85,
+          "matcher": "2-aho",
+          "score": 100.0,
+          "matched_length": 211,
+          "match_coverage": 100.0,
+          "rule_relevance": 100,
+          "rule_identifier": "bsd-new_860.RULE",
+          "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_860.RULE",
+          "matched_text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\nRedistributions of source code must retain the above copyright notice, this list of\nconditions and the following disclaimer. Redistributions in binary form must reproduce\nthe above copyright notice, this list of conditions and the following disclaimer in\nthe documentation and/or other materials provided with the distribution.\n\nNeither the name of Hamcrest nor the names of its contributors may be used to endorse\nor promote products derived from this software without specific prior written\npermission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\nSHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\nBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY\nWAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\nDAMAGE.",
+          "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\nRedistributions of source code must retain the above copyright notice, this list of\nconditions and the following disclaimer. Redistributions in binary form must reproduce\nthe above copyright notice, this list of conditions and the following disclaimer in\nthe documentation and/or other materials provided with the distribution.\n\nNeither the name of Hamcrest nor the names of its contributors may be used to endorse\nor promote products derived from this software without specific prior written\npermission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\nSHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\nBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY\nWAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\nDAMAGE."
+        }
+      ]
     },
     {
       "identifier": "cpl_1_0-08dc5398-457d-49be-a798-b57fe4d8de3e",
       "license_expression": "cpl-1.0",
+      "license_expression_spdx": "CPL-1.0",
       "detection_count": 1,
-      "detection_log": []
+      "detection_log": [],
+      "reference_matches": [
+        {
+          "license_expression": "cpl-1.0",
+          "license_expression_spdx": "CPL-1.0",
+          "from_file": "scan-unknown-intro-eclipse-foundation-tycho/about_4.html",
+          "start_line": 39,
+          "end_line": 41,
+          "matcher": "2-aho",
+          "score": 100.0,
+          "matched_length": 60,
+          "match_coverage": 100.0,
+          "rule_relevance": 100,
+          "rule_identifier": "cpl-1.0_36.RULE",
+          "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cpl-1.0_36.RULE",
+          "matched_text": "Your use of JUnit 3.8.2 in both source and binary code form contained in the plug-in is subject to the terms and conditions of the \nCommon Public License Version 1.0 ("CPL").  A copy of the CPL is available at https://www.eclipse.org/legal/cpl-v10.html.\n(a local copy can be found here)

", + "matched_text_diagnostics": "source and binary code form contained in the plug-in is subject to the terms and conditions of the \nCommon Public License Version 1.0 ("CPL"). A copy of the CPL is available at https://www.eclipse.org/legal/cpl-v10.html.\n(a local copy can be found herehttps://www.eclipse.org/legal/cpl-v10.html.", + "matched_text_diagnostics": "source and binary code form contained in the plug-in is subject to the terms and conditions of the \nCommon Public License Version 1.0 ("CPL"). A copy of the CPL is available at https://www.eclipse.org/legal/cpl-v10.htmlLicense\n\n

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise \nindicated below, the Content is provided to you under the terms and conditions of the\nEclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available \nat https://www.eclipse.org/legal/epl-v10.html.\nFor purposes of the EPL, "Program" will mean the Content.

\n\n

If you did not receive this Content directly from the Eclipse Foundation, the Content is \nbeing redistributed by another party ("Redistributor") and different terms and conditions may\napply to your use of any object code in the Content. Check the Redistributor's license that was \nprovided with the Content. If no such license exists, contact the Redistributor. Unless otherwise\nindicated below, the terms and conditions of the EPL still apply to any source code in the Content\nand such source code may be obtained at https://www.eclipse.org.

", + "matched_text_diagnostics": "License\n\n

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise \nindicated below, the Content is provided to you under the terms and conditions of the\nEclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available \nat https://www.eclipse.org/legal/epl-v10.html.\nFor purposes of the EPL, "Program" will mean the Content.

\n\n

If you did not receive this Content directly from the Eclipse Foundation, the Content is \nbeing redistributed by another party ("Redistributor") and different terms and conditions may\napply to your use of any object code in the Content. Check the Redistributor's license that was \nprovided with the Content. If no such license exists, contact the Redistributor. Unless otherwise\nindicated below, the terms and conditions of the EPL still apply to any source code in the Content\nand such source code may be obtained at https://www.eclipse.orgLicense\n\n

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise \nindicated below, the Content is provided to you under the terms and conditions of the\nEclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available \nat https://www.eclipse.org/legal/epl-v10.html.\nFor purposes of the EPL, "Program" will mean the Content.

\n\n

If you did not receive this Content directly from the Eclipse Foundation, the Content is \nbeing redistributed by another party ("Redistributor") and different terms and conditions may\napply to your use of any object code in the Content. Check the Redistributor's license that was \nprovided with the Content. If no such license exists, contact the Redistributor. Unless otherwise\nindicated below, the terms and conditions of the EPL still apply to any source code in the Content\nand such source code may be obtained at http://www.eclipse.org.

", + "matched_text_diagnostics": "License\n\n

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise \nindicated below, the Content is provided to you under the terms and conditions of the\nEclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available \nat https://www.eclipse.org/legal/epl-v10.html.\nFor purposes of the EPL, "Program" will mean the Content.

\n\n

If you did not receive this Content directly from the Eclipse Foundation, the Content is \nbeing redistributed by another party ("Redistributor") and different terms and conditions may\napply to your use of any object code in the Content. Check the Redistributor's license that was \nprovided with the Content. If no such license exists, contact the Redistributor. Unless otherwise\nindicated below, the terms and conditions of the EPL still apply to any source code in the Content\nand such source code may be obtained at http://www.eclipse.orgYour use of the junit-jupiter-engine, junit-vintage-engine, junit-platform-commons, junit-platform-engine, junit-platform-launcher code is subject to the terms and conditions of the Eclipse Public License 2.0. A copy of the license is contained\nin the file LICENSE.md and is also available at https://www.eclipse.org/legal/epl-2.0/.", + "matched_text_diagnostics": "code is subject to the terms and conditions of the Eclipse Public License 2.0. A copy of the license is contained\nin the file LICENSE.md and is also available at https://www.eclipse.org/legal/epl-2.0/\n\n

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise \nindicated below, the Content is provided to you under the terms and conditions of the\nEclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available \nat https://www.eclipse.org/legal/epl-v10.html.\nFor purposes of the EPL, "Program" will mean the Content.

\n\n

If you did not receive this Content directly from the Eclipse Foundation, the Content is \nbeing redistributed by another party ("Redistributor") and different terms and conditions may\napply to your use of any object code in the Content. Check the Redistributor's license that was \nprovided with the Content. If no such license exists, contact the Redistributor. Unless otherwise\nindicated below, the terms and conditions of the EPL still apply to any source code in the Content\nand such source code may be obtained at http://www.eclipse.orgLicense\n\n

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise \nindicated below, the Content is provided to you under the terms and conditions of the\nEclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available \nat https://www.eclipse.org/legal/epl-v10.html.\nFor purposes of the EPL, "Program" will mean the Content.

\n\n

If you did not receive this Content directly from the Eclipse Foundation, the Content is \nbeing redistributed by another party ("Redistributor") and different terms and conditions may\napply to your use of any object code in the Content. Check the Redistributor's license that was \nprovided with the Content. If no such license exists, contact the Redistributor. Unless otherwise\nindicated below, the terms and conditions of the EPL still apply to any source code in the Content\nand such source code may be obtained at http://www.eclipse.org.

", + "matched_text_diagnostics": "License\n\n

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise \nindicated below, the Content is provided to you under the terms and conditions of the\nEclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available \nat https://www.eclipse.org/legal/epl-v10.html.\nFor purposes of the EPL, "Program" will mean the Content.

\n\n

If you did not receive this Content directly from the Eclipse Foundation, the Content is \nbeing redistributed by another party ("Redistributor") and different terms and conditions may\napply to your use of any object code in the Content. Check the Redistributor's license that was \nprovided with the Content. If no such license exists, contact the Redistributor. Unless otherwise\nindicated below, the terms and conditions of the EPL still apply to any source code in the Content\nand such source code may be obtained at http://www.eclipse.org\n\n

\nThis product includes software developed by the Apache Software Foundation (http://www.apache.org/The plug-in includes SureFire JUnit Runner ${surefire-version} developed by the Apache Software Foundation. Therefore:

\n\n
\nThis product includes software developed by the Apache Software Foundation (http://www.apache.org/).", + "matched_text_diagnostics": "developed by the Apache Software Foundation. Therefore:

\n\n
\nThis product includes software developed by the Apache Software Foundation (http://www.apache.org/LICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.html.\n\n

The Apache attribution NOTICE file is included with the Content in accordance with 4d of the Apache License, Version 2.0.Your use of the SureFire JUnit Runner code is subject to the terms and conditions of the Apache Software License 2.0. A copy of the license is contained\nin the file LICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.html.\n\n

The Apache attribution NOTICE file is included with the Content in accordance with 4d of the Apache License, Version 2.0.

", + "matched_text_diagnostics": "code is subject to the terms and conditions of the Apache Software License 2.0. A copy of the license is contained\nin the file LICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.html.\n\n

The Apache attribution NOTICE file is included with the Content in accordance with 4d of the Apache License, Version 2.0.\n\n

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise \nindicated below, the Content is provided to you under the terms and conditions of the\nEclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available \nat https://www.eclipse.org/legal/epl-v10.html.\nFor purposes of the EPL, "Program" will mean the Content.

\n\n

If you did not receive this Content directly from the Eclipse Foundation, the Content is \nbeing redistributed by another party ("Redistributor") and different terms and conditions may\napply to your use of any object code in the Content. Check the Redistributor's license that was \nprovided with the Content. If no such license exists, contact the Redistributor. Unless otherwise\nindicated below, the terms and conditions of the EPL still apply to any source code in the Content\nand such source code may be obtained at http://www.eclipse.orgLicense\n\n

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise \nindicated below, the Content is provided to you under the terms and conditions of the\nEclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available \nat https://www.eclipse.org/legal/epl-v10.html.\nFor purposes of the EPL, "Program" will mean the Content.

\n\n

If you did not receive this Content directly from the Eclipse Foundation, the Content is \nbeing redistributed by another party ("Redistributor") and different terms and conditions may\napply to your use of any object code in the Content. Check the Redistributor's license that was \nprovided with the Content. If no such license exists, contact the Redistributor. Unless otherwise\nindicated below, the terms and conditions of the EPL still apply to any source code in the Content\nand such source code may be obtained at http://www.eclipse.org.

", + "matched_text_diagnostics": "License\n\n

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise \nindicated below, the Content is provided to you under the terms and conditions of the\nEclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available \nat https://www.eclipse.org/legal/epl-v10.html.\nFor purposes of the EPL, "Program" will mean the Content.

\n\n

If you did not receive this Content directly from the Eclipse Foundation, the Content is \nbeing redistributed by another party ("Redistributor") and different terms and conditions may\napply to your use of any object code in the Content. Check the Redistributor's license that was \nprovided with the Content. If no such license exists, contact the Redistributor. Unless otherwise\nindicated below, the terms and conditions of the EPL still apply to any source code in the Content\nand such source code may be obtained at http://www.eclipse.org\n\n

\nThis product includes software developed by the Apache Software Foundation (http://www.apache.org/The plug-in includes Surefire Shared Java 5 Provider Base ${surefire-version} developed by the Apache Software Foundation. Therefore:

\n\n
\nThis product includes software developed by the Apache Software Foundation (http://www.apache.org/).", + "matched_text_diagnostics": "developed by the Apache Software Foundation. Therefore:

\n\n
\nThis product includes software developed by the Apache Software Foundation (http://www.apache.org/LICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.html.\n\n

The Apache attribution NOTICE file is included with the Content in accordance with 4d of the Apache License, Version 2.0.Your use of the Surefire Shared Java 5 Provider Base code is subject to the terms and conditions of the Apache Software License 2.0. A copy of the license is contained\nin the file LICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.html.\n\n

The Apache attribution NOTICE file is included with the Content in accordance with 4d of the Apache License, Version 2.0.

", + "matched_text_diagnostics": "code is subject to the terms and conditions of the Apache Software License 2.0. A copy of the license is contained\nin the file LICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.html.\n\n

The Apache attribution NOTICE file is included with the Content in accordance with 4d of the Apache License, Version 2.0.LICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.htmlYour use of the opentest4j code is subject to the terms and conditions of the Apache Software License 2.0. A copy of the license is contained\nin the file LICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.html.", + "matched_text_diagnostics": "code is subject to the terms and conditions of the Apache Software License 2.0. A copy of the license is contained\nin the file LICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.htmlLICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.htmlYour use of the API Guardian code is subject to the terms and conditions of the Apache Software License 2.0. A copy of the license is contained\nin the file LICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.html.", + "matched_text_diagnostics": "code is subject to the terms and conditions of the Apache Software License 2.0. A copy of the license is contained\nin the file LICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.htmlLICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.htmlYour use of the junit-platform-surefire-provider code is subject to the terms and conditions of the Apache Software License 2.0. A copy of the license is contained\nin the file LICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.html.", + "matched_text_diagnostics": "code is subject to the terms and conditions of the Apache Software License 2.0. A copy of the license is contained\nin the file LICENSE and is also available at http://www.apache.org/licenses/LICENSE-2.0.htmlLICENSE.md and is also available at https://www.eclipse.org/legal/epl-2.0/Your use of the junit-jupiter-engine, junit-vintage-engine, junit-platform-commons, junit-platform-engine, junit-platform-launcher code is subject to the terms and conditions of the Eclipse Public License 2.0. A copy of the license is contained\nin the file LICENSE.md and is also available at https://www.eclipse.org/legal/epl-2.0/.", + "matched_text_diagnostics": "code is subject to the terms and conditions of the Eclipse Public License 2.0. A copy of the license is contained\nin the file LICENSE.md and is also available at https://www.eclipse.org/legal/epl-2.0/\n\n

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise \nindicated below, the Content is provided to you under the terms and conditions of the\nEclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available \nat https://www.eclipse.org/legal/epl-v10.html.\nFor purposes of the EPL, "Program" will mean the Content.

\n\n

If you did not receive this Content directly from the Eclipse Foundation, the Content is \nbeing redistributed by another party ("Redistributor") and different terms and conditions may\napply to your use of any object code in the Content. Check the Redistributor's license that was \nprovided with the Content. If no such license exists, contact the Redistributor. Unless otherwise\nindicated below, the terms and conditions of the EPL still apply to any source code in the Content\nand such source code may be obtained at https://www.eclipse.orgLicense\n\n

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise \nindicated below, the Content is provided to you under the terms and conditions of the\nEclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available \nat https://www.eclipse.org/legal/epl-v10.html.\nFor purposes of the EPL, "Program" will mean the Content.

\n\n

If you did not receive this Content directly from the Eclipse Foundation, the Content is \nbeing redistributed by another party ("Redistributor") and different terms and conditions may\napply to your use of any object code in the Content. Check the Redistributor's license that was \nprovided with the Content. If no such license exists, contact the Redistributor. Unless otherwise\nindicated below, the terms and conditions of the EPL still apply to any source code in the Content\nand such source code may be obtained at https://www.eclipse.org.

", + "matched_text_diagnostics": "License\n\n

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise \nindicated below, the Content is provided to you under the terms and conditions of the\nEclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available \nat https://www.eclipse.org/legal/epl-v10.html.\nFor purposes of the EPL, "Program" will mean the Content.

\n\n

If you did not receive this Content directly from the Eclipse Foundation, the Content is \nbeing redistributed by another party ("Redistributor") and different terms and conditions may\napply to your use of any object code in the Content. Check the Redistributor's license that was \nprovided with the Content. If no such license exists, contact the Redistributor. Unless otherwise\nindicated below, the terms and conditions of the EPL still apply to any source code in the Content\nand such source code may be obtained at https://www.eclipse.orghttps://www.eclipse.org/legal/cpl-v10.htmlhttps://www.eclipse.org/legal/cpl-v10.html.", + "matched_text_diagnostics": "source and binary code form contained in the plug-in is subject to the terms and conditions of the \nCommon Public License Version 1.0 ("CPL"). A copy of the CPL is available at https://www.eclipse.org/legal/cpl-v10.html\n

\nBSD License"
+              "matched_text": "

The Hamcrest New BSD License:

\n
\nBSD License",
+              "matched_text_diagnostics": "New BSD License:

\n
\nBSD License"
             }
           ],
           "detection_log": [],
@@ -365,19 +626,23 @@
         },
         {
           "license_expression": "bsd-new",
+          "license_expression_spdx": "BSD-3-Clause",
           "matches": [
             {
-              "score": 100.0,
+              "license_expression": "bsd-new",
+              "spdx_license_expression": "BSD-3-Clause",
+              "from_file": "scan-unknown-intro-eclipse-foundation-tycho/about_3.html",
               "start_line": 64,
               "end_line": 85,
+              "matcher": "2-aho",
+              "score": 100.0,
               "matched_length": 211,
               "match_coverage": 100.0,
-              "matcher": "2-aho",
-              "license_expression": "bsd-new",
-              "rule_identifier": "bsd-new_860.RULE",
               "rule_relevance": 100,
+              "rule_identifier": "bsd-new_860.RULE",
               "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_860.RULE",
-              "matched_text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\nRedistributions of source code must retain the above copyright notice, this list of\nconditions and the following disclaimer. Redistributions in binary form must reproduce\nthe above copyright notice, this list of conditions and the following disclaimer in\nthe documentation and/or other materials provided with the distribution.\n\nNeither the name of Hamcrest nor the names of its contributors may be used to endorse\nor promote products derived from this software without specific prior written\npermission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\nSHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\nBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY\nWAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\nDAMAGE."
+              "matched_text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\nRedistributions of source code must retain the above copyright notice, this list of\nconditions and the following disclaimer. Redistributions in binary form must reproduce\nthe above copyright notice, this list of conditions and the following disclaimer in\nthe documentation and/or other materials provided with the distribution.\n\nNeither the name of Hamcrest nor the names of its contributors may be used to endorse\nor promote products derived from this software without specific prior written\npermission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\nSHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\nBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY\nWAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\nDAMAGE.",
+              "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\nRedistributions of source code must retain the above copyright notice, this list of\nconditions and the following disclaimer. Redistributions in binary form must reproduce\nthe above copyright notice, this list of conditions and the following disclaimer in\nthe documentation and/or other materials provided with the distribution.\n\nNeither the name of Hamcrest nor the names of its contributors may be used to endorse\nor promote products derived from this software without specific prior written\npermission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\nSHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\nBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY\nWAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\nDAMAGE."
             }
           ],
           "detection_log": [],
@@ -396,19 +661,23 @@
       "license_detections": [
         {
           "license_expression": "epl-1.0",
+          "license_expression_spdx": "EPL-1.0",
           "matches": [
             {
-              "score": 100.0,
+              "license_expression": "epl-1.0",
+              "spdx_license_expression": "EPL-1.0",
+              "from_file": "scan-unknown-intro-eclipse-foundation-tycho/about_4.html",
               "start_line": 12,
               "end_line": 25,
+              "matcher": "2-aho",
+              "score": 100.0,
               "matched_length": 163,
               "match_coverage": 100.0,
-              "matcher": "2-aho",
-              "license_expression": "epl-1.0",
-              "rule_identifier": "epl-1.0_104.RULE",
               "rule_relevance": 100,
+              "rule_identifier": "epl-1.0_104.RULE",
               "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_104.RULE",
-              "matched_text": "License\n\n

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise \nindicated below, the Content is provided to you under the terms and conditions of the\nEclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available \nat https://www.eclipse.org/legal/epl-v10.html.\nFor purposes of the EPL, "Program" will mean the Content.

\n\n

If you did not receive this Content directly from the Eclipse Foundation, the Content is \nbeing redistributed by another party ("Redistributor") and different terms and conditions may\napply to your use of any object code in the Content. Check the Redistributor's license that was \nprovided with the Content. If no such license exists, contact the Redistributor. Unless otherwise\nindicated below, the terms and conditions of the EPL still apply to any source code in the Content\nand such source code may be obtained at https://www.eclipse.orgLicense\n\n

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise \nindicated below, the Content is provided to you under the terms and conditions of the\nEclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available \nat https://www.eclipse.org/legal/epl-v10.html.\nFor purposes of the EPL, "Program" will mean the Content.

\n\n

If you did not receive this Content directly from the Eclipse Foundation, the Content is \nbeing redistributed by another party ("Redistributor") and different terms and conditions may\napply to your use of any object code in the Content. Check the Redistributor's license that was \nprovided with the Content. If no such license exists, contact the Redistributor. Unless otherwise\nindicated below, the terms and conditions of the EPL still apply to any source code in the Content\nand such source code may be obtained at https://www.eclipse.org.

", + "matched_text_diagnostics": "License\n\n

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise \nindicated below, the Content is provided to you under the terms and conditions of the\nEclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available \nat https://www.eclipse.org/legal/epl-v10.html.\nFor purposes of the EPL, "Program" will mean the Content.

\n\n

If you did not receive this Content directly from the Eclipse Foundation, the Content is \nbeing redistributed by another party ("Redistributor") and different terms and conditions may\napply to your use of any object code in the Content. Check the Redistributor's license that was \nprovided with the Content. If no such license exists, contact the Redistributor. Unless otherwise\nindicated below, the terms and conditions of the EPL still apply to any source code in the Content\nand such source code may be obtained at https://www.eclipse.orghttps://www.eclipse.org/legal/cpl-v10.html.\n(a local copy can be found herehttps://www.eclipse.org/legal/cpl-v10.html.\n(a local copy can be found here)

", + "matched_text_diagnostics": "source and binary code form contained in the plug-in is subject to the terms and conditions of the \nCommon Public License Version 1.0 ("CPL"). A copy of the CPL is available at https://www.eclipse.org/legal/cpl-v10.html.\n(a local copy can be found here\n\n

MIT License\n\n

MIT License\n\n

MIT License\n\n

MIT License\n\n

MIT License.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\r\nmodification, are permitted provided that the following conditions\r\nare met:\r\n\r\n 1. Redistributions of source code must retain the above copyright\r\n notice, this list of conditions and the following disclaimer. \r\n \r\n 2. Redistributions in binary form must reproduce the above copyright\r\n notice, this list of conditions and the following disclaimer in\r\n the documentation and/or other materials provided with the\r\n distribution.\r\n \r\n 3. All advertising materials mentioning features or use of this\r\n software must display the following acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n 4. The names \"Apache Server\" and \"Apache Group\" must not be used to\r\n endorse or promote products derived from this software without\r\n prior written permission. For written permission, please contact\r\n apache@apache.org.\r\n \r\n 5. Products derived from this software may not be called \"Apache\"\r\n nor may \"Apache\" appear in their names without prior written\r\n permission of the Apache Group.\r\n \r\n 6. Redistributions of any form whatsoever must retain the following\r\n acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY\r\n EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR\r\n ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\r\n NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r\n HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\r\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r\n ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\r\n OF THE POSSIBILITY OF SUCH DAMAGE.\r\n====================================================================\r\n\r\n This software consists of voluntary contributions made by many\r\n individuals on behalf of the Apache Group and was originally based\r\n on public domain software written at the National Center for\r\n Supercomputing Applications, University of Illinois, Urbana-Champaign.\r\n For more information on the Apache Group and the Apache HTTP server\r\n project, please see ." + } + ] }, { "identifier": "apache_2_0-4bde3f57-78aa-4201-96bf-531cba09e7de", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 2, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "scan/copyr.java", + "start_line": 18, + "end_line": 31, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 119, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE", + "matched_text": "Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to You under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.", + "matched_text_diagnostics": "Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to You under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License." + } + ] }, { - "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-c196bf1c-1c1f-18b4-554f-690be18bbad0", + "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-e59dcea3-b71b-02e5-24d9-3795864d0303", "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "license_expression_spdx": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "license_expression_spdx": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", + "from_file": "scan/gpl-2.0_with_linux-syscall-note_or_linux-openib_SPDX.RULE", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 13, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-40ad9110ec6551e97f55cd72b297773235a415e7", + "rule_url": null, + "matched_text": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */", + "matched_text_diagnostics": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */" + } + ] }, { "identifier": "ja_sig-025b96bc-0a83-9578-3e3f-0e0375a87457", "license_expression": "ja-sig", + "license_expression_spdx": "LicenseRef-scancode-ja-sig", "detection_count": 2, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "ja-sig", + "license_expression_spdx": "LicenseRef-scancode-ja-sig", + "from_file": "scan/copyr.java", + "start_line": 4, + "end_line": 13, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 212, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "ja-sig.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ja-sig.LICENSE", + "matched_text": "Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\n3. Redistributions of any form whatsoever must retain the following acknowledgment:\n\"This product includes software developed by the JA-SIG Collaborative (http://www.ja-sig.org/).\"\n\nThis software is provided by the JA-SIG collaborative \"as is\" and any expressed or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the JA-SIG collaborative or its contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability,\n whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\n3. Redistributions of any form whatsoever must retain the following acknowledgment:\n\"This product includes software developed by the JA-SIG Collaborative (http://www.ja-sig.org/).\"\n\nThis software is provided by the JA-SIG collaborative \"as is\" and any expressed or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the JA-SIG collaborative or its contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability,\n whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage." + } + ] } ], "files": [ @@ -79,19 +155,23 @@ "license_detections": [ { "license_expression": "apache-1.0", + "license_expression_spdx": "Apache-1.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-1.0", + "spdx_license_expression": "Apache-1.0", + "from_file": "scan/apache-1.0.txt", "start_line": 8, "end_line": 58, + "matcher": "2-aho", + "score": 100.0, "matched_length": 368, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-1.0", - "rule_identifier": "apache-1.0.LICENSE", "rule_relevance": 100, + "rule_identifier": "apache-1.0.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-1.0.LICENSE", - "matched_text": "Redistribution and use in source and binary forms, with or without\r\nmodification, are permitted provided that the following conditions\r\nare met:\r\n\r\n 1. Redistributions of source code must retain the above copyright\r\n notice, this list of conditions and the following disclaimer. \r\n \r\n 2. Redistributions in binary form must reproduce the above copyright\r\n notice, this list of conditions and the following disclaimer in\r\n the documentation and/or other materials provided with the\r\n distribution.\r\n \r\n 3. All advertising materials mentioning features or use of this\r\n software must display the following acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n 4. The names \"Apache Server\" and \"Apache Group\" must not be used to\r\n endorse or promote products derived from this software without\r\n prior written permission. For written permission, please contact\r\n apache@apache.org.\r\n \r\n 5. Products derived from this software may not be called \"Apache\"\r\n nor may \"Apache\" appear in their names without prior written\r\n permission of the Apache Group.\r\n \r\n 6. Redistributions of any form whatsoever must retain the following\r\n acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY\r\n EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR\r\n ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\r\n NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r\n HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\r\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r\n ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\r\n OF THE POSSIBILITY OF SUCH DAMAGE.\r\n====================================================================\r\n\r\n This software consists of voluntary contributions made by many\r\n individuals on behalf of the Apache Group and was originally based\r\n on public domain software written at the National Center for\r\n Supercomputing Applications, University of Illinois, Urbana-Champaign.\r\n For more information on the Apache Group and the Apache HTTP server\r\n project, please see ." + "matched_text": "Redistribution and use in source and binary forms, with or without\r\nmodification, are permitted provided that the following conditions\r\nare met:\r\n\r\n 1. Redistributions of source code must retain the above copyright\r\n notice, this list of conditions and the following disclaimer. \r\n \r\n 2. Redistributions in binary form must reproduce the above copyright\r\n notice, this list of conditions and the following disclaimer in\r\n the documentation and/or other materials provided with the\r\n distribution.\r\n \r\n 3. All advertising materials mentioning features or use of this\r\n software must display the following acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n 4. The names \"Apache Server\" and \"Apache Group\" must not be used to\r\n endorse or promote products derived from this software without\r\n prior written permission. For written permission, please contact\r\n apache@apache.org.\r\n \r\n 5. Products derived from this software may not be called \"Apache\"\r\n nor may \"Apache\" appear in their names without prior written\r\n permission of the Apache Group.\r\n \r\n 6. Redistributions of any form whatsoever must retain the following\r\n acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY\r\n EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR\r\n ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\r\n NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r\n HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\r\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r\n ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\r\n OF THE POSSIBILITY OF SUCH DAMAGE.\r\n====================================================================\r\n\r\n This software consists of voluntary contributions made by many\r\n individuals on behalf of the Apache Group and was originally based\r\n on public domain software written at the National Center for\r\n Supercomputing Applications, University of Illinois, Urbana-Champaign.\r\n For more information on the Apache Group and the Apache HTTP server\r\n project, please see .", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\r\nmodification, are permitted provided that the following conditions\r\nare met:\r\n\r\n 1. Redistributions of source code must retain the above copyright\r\n notice, this list of conditions and the following disclaimer. \r\n \r\n 2. Redistributions in binary form must reproduce the above copyright\r\n notice, this list of conditions and the following disclaimer in\r\n the documentation and/or other materials provided with the\r\n distribution.\r\n \r\n 3. All advertising materials mentioning features or use of this\r\n software must display the following acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n 4. The names \"Apache Server\" and \"Apache Group\" must not be used to\r\n endorse or promote products derived from this software without\r\n prior written permission. For written permission, please contact\r\n apache@apache.org.\r\n \r\n 5. Products derived from this software may not be called \"Apache\"\r\n nor may \"Apache\" appear in their names without prior written\r\n permission of the Apache Group.\r\n \r\n 6. Redistributions of any form whatsoever must retain the following\r\n acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY\r\n EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR\r\n ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\r\n NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r\n HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\r\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r\n ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\r\n OF THE POSSIBILITY OF SUCH DAMAGE.\r\n====================================================================\r\n\r\n This software consists of voluntary contributions made by many\r\n individuals on behalf of the Apache Group and was originally based\r\n on public domain software written at the National Center for\r\n Supercomputing Applications, University of Illinois, Urbana-Champaign.\r\n For more information on the Apache Group and the Apache HTTP server\r\n project, please see ." } ], "detection_log": [], @@ -129,19 +209,23 @@ "license_detections": [ { "license_expression": "apache-1.0", + "license_expression_spdx": "Apache-1.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-1.0", + "spdx_license_expression": "Apache-1.0", + "from_file": "scan/apache-with_extra.txt", "start_line": 40, "end_line": 90, + "matcher": "2-aho", + "score": 100.0, "matched_length": 368, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-1.0", - "rule_identifier": "apache-1.0.LICENSE", "rule_relevance": 100, + "rule_identifier": "apache-1.0.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-1.0.LICENSE", - "matched_text": "Redistribution and use in source and binary forms, with or without\r\nmodification, are permitted provided that the following conditions\r\nare met:\r\n\r\n 1. Redistributions of source code must retain the above copyright\r\n notice, this list of conditions and the following disclaimer. \r\n \r\n 2. Redistributions in binary form must reproduce the above copyright\r\n notice, this list of conditions and the following disclaimer in\r\n the documentation and/or other materials provided with the\r\n distribution.\r\n \r\n 3. All advertising materials mentioning features or use of this\r\n software must display the following acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n 4. The names \"Apache Server\" and \"Apache Group\" must not be used to\r\n endorse or promote products derived from this software without\r\n prior written permission. For written permission, please contact\r\n apache@apache.org.\r\n \r\n 5. Products derived from this software may not be called \"Apache\"\r\n nor may \"Apache\" appear in their names without prior written\r\n permission of the Apache Group.\r\n \r\n 6. Redistributions of any form whatsoever must retain the following\r\n acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY\r\n EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR\r\n ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\r\n NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r\n HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\r\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r\n ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\r\n OF THE POSSIBILITY OF SUCH DAMAGE.\r\n====================================================================\r\n\r\n This software consists of voluntary contributions made by many\r\n individuals on behalf of the Apache Group and was originally based\r\n on public domain software written at the National Center for\r\n Supercomputing Applications, University of Illinois, Urbana-Champaign.\r\n For more information on the Apache Group and the Apache HTTP server\r\n project, please see ." + "matched_text": "Redistribution and use in source and binary forms, with or without\r\nmodification, are permitted provided that the following conditions\r\nare met:\r\n\r\n 1. Redistributions of source code must retain the above copyright\r\n notice, this list of conditions and the following disclaimer. \r\n \r\n 2. Redistributions in binary form must reproduce the above copyright\r\n notice, this list of conditions and the following disclaimer in\r\n the documentation and/or other materials provided with the\r\n distribution.\r\n \r\n 3. All advertising materials mentioning features or use of this\r\n software must display the following acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n 4. The names \"Apache Server\" and \"Apache Group\" must not be used to\r\n endorse or promote products derived from this software without\r\n prior written permission. For written permission, please contact\r\n apache@apache.org.\r\n \r\n 5. Products derived from this software may not be called \"Apache\"\r\n nor may \"Apache\" appear in their names without prior written\r\n permission of the Apache Group.\r\n \r\n 6. Redistributions of any form whatsoever must retain the following\r\n acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY\r\n EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR\r\n ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\r\n NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r\n HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\r\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r\n ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\r\n OF THE POSSIBILITY OF SUCH DAMAGE.\r\n====================================================================\r\n\r\n This software consists of voluntary contributions made by many\r\n individuals on behalf of the Apache Group and was originally based\r\n on public domain software written at the National Center for\r\n Supercomputing Applications, University of Illinois, Urbana-Champaign.\r\n For more information on the Apache Group and the Apache HTTP server\r\n project, please see .", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\r\nmodification, are permitted provided that the following conditions\r\nare met:\r\n\r\n 1. Redistributions of source code must retain the above copyright\r\n notice, this list of conditions and the following disclaimer. \r\n \r\n 2. Redistributions in binary form must reproduce the above copyright\r\n notice, this list of conditions and the following disclaimer in\r\n the documentation and/or other materials provided with the\r\n distribution.\r\n \r\n 3. All advertising materials mentioning features or use of this\r\n software must display the following acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n 4. The names \"Apache Server\" and \"Apache Group\" must not be used to\r\n endorse or promote products derived from this software without\r\n prior written permission. For written permission, please contact\r\n apache@apache.org.\r\n \r\n 5. Products derived from this software may not be called \"Apache\"\r\n nor may \"Apache\" appear in their names without prior written\r\n permission of the Apache Group.\r\n \r\n 6. Redistributions of any form whatsoever must retain the following\r\n acknowledgment:\r\n \"This product includes software developed by the Apache Group\r\n for use in the Apache HTTP server project (http://www.apache.org/).\"\r\n \r\n THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY\r\n EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR\r\n ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\r\n NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r\n HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\r\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r\n ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\r\n OF THE POSSIBILITY OF SUCH DAMAGE.\r\n====================================================================\r\n\r\n This software consists of voluntary contributions made by many\r\n individuals on behalf of the Apache Group and was originally based\r\n on public domain software written at the National Center for\r\n Supercomputing Applications, University of Illinois, Urbana-Champaign.\r\n For more information on the Apache Group and the Apache HTTP server\r\n project, please see ." } ], "detection_log": [], @@ -179,19 +263,23 @@ "license_detections": [ { "license_expression": "ja-sig", + "license_expression_spdx": "LicenseRef-scancode-ja-sig", "matches": [ { - "score": 100.0, + "license_expression": "ja-sig", + "spdx_license_expression": "LicenseRef-scancode-ja-sig", + "from_file": "scan/copyr.java", "start_line": 4, "end_line": 13, + "matcher": "2-aho", + "score": 100.0, "matched_length": 212, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "ja-sig", - "rule_identifier": "ja-sig.LICENSE", "rule_relevance": 100, + "rule_identifier": "ja-sig.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ja-sig.LICENSE", - "matched_text": "Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\n3. Redistributions of any form whatsoever must retain the following acknowledgment:\n\"This product includes software developed by the JA-SIG Collaborative (http://www.ja-sig.org/).\"\n\nThis software is provided by the JA-SIG collaborative \"as is\" and any expressed or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the JA-SIG collaborative or its contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability,\n whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage." + "matched_text": "Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\n3. Redistributions of any form whatsoever must retain the following acknowledgment:\n\"This product includes software developed by the JA-SIG Collaborative (http://www.ja-sig.org/).\"\n\nThis software is provided by the JA-SIG collaborative \"as is\" and any expressed or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the JA-SIG collaborative or its contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability,\n whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\n3. Redistributions of any form whatsoever must retain the following acknowledgment:\n\"This product includes software developed by the JA-SIG Collaborative (http://www.ja-sig.org/).\"\n\nThis software is provided by the JA-SIG collaborative \"as is\" and any expressed or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the JA-SIG collaborative or its contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability,\n whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage." } ], "detection_log": [], @@ -199,19 +287,23 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "scan/copyr.java", "start_line": 18, "end_line": 31, + "matcher": "2-aho", + "score": 100.0, "matched_length": 119, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_2.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE", - "matched_text": "Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to You under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License." + "matched_text": "Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to You under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.", + "matched_text_diagnostics": "Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to You under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License." } ], "detection_log": [], @@ -249,23 +341,27 @@ "license_detections": [ { "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "license_expression_spdx": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", + "spdx_license_expression": "GPL-2.0-only WITH Linux-syscall-note OR Linux-OpenIB", + "from_file": "scan/gpl-2.0_with_linux-syscall-note_or_linux-openib_SPDX.RULE", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 13, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib", - "rule_identifier": "spdx-license-identifier-gpl-2.0 WITH linux-syscall-exception-gpl OR linux-openib-4099cddf665e1c4068ae21bd191fabfb71b7c536", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-40ad9110ec6551e97f55cd72b297773235a415e7", "rule_url": null, - "matched_text": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */" + "matched_text": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */", + "matched_text_diagnostics": "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-Openib) */" } ], "detection_log": [], - "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-c196bf1c-1c1f-18b4-554f-690be18bbad0" + "identifier": "gpl_2_0_with_linux_syscall_exception_gpl_or_linux_openib-e59dcea3-b71b-02e5-24d9-3795864d0303" } ], "license_clues": [], @@ -299,19 +395,23 @@ "license_detections": [ { "license_expression": "ja-sig", + "license_expression_spdx": "LicenseRef-scancode-ja-sig", "matches": [ { - "score": 100.0, + "license_expression": "ja-sig", + "spdx_license_expression": "LicenseRef-scancode-ja-sig", + "from_file": "scan/this.java", "start_line": 4, "end_line": 13, + "matcher": "2-aho", + "score": 100.0, "matched_length": 212, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "ja-sig", - "rule_identifier": "ja-sig.LICENSE", "rule_relevance": 100, + "rule_identifier": "ja-sig.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ja-sig.LICENSE", - "matched_text": "Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\n3. Redistributions of any form whatsoever must retain the following acknowledgment:\n\"This product includes software developed by the JA-SIG Collaborative (http://www.ja-sig.org/).\"\n\nThis software is provided by the JA-SIG collaborative \"as is\" and any expressed or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the JA-SIG collaborative or its contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability,\n whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage." + "matched_text": "Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\n3. Redistributions of any form whatsoever must retain the following acknowledgment:\n\"This product includes software developed by the JA-SIG Collaborative (http://www.ja-sig.org/).\"\n\nThis software is provided by the JA-SIG collaborative \"as is\" and any expressed or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the JA-SIG collaborative or its contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability,\n whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\n3. Redistributions of any form whatsoever must retain the following acknowledgment:\n\"This product includes software developed by the JA-SIG Collaborative (http://www.ja-sig.org/).\"\n\nThis software is provided by the JA-SIG collaborative \"as is\" and any expressed or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the JA-SIG collaborative or its contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability,\n whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage." } ], "detection_log": [], @@ -319,19 +419,23 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "scan/this.java", "start_line": 18, "end_line": 31, + "matcher": "2-aho", + "score": 100.0, "matched_length": 119, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_2.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE", - "matched_text": "Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to You under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License." + "matched_text": "Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to You under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.", + "matched_text_diagnostics": "Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to You under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License." } ], "detection_log": [], diff --git a/tests/licensedcode/data/spdx/lines/basic.txt.json b/tests/licensedcode/data/spdx/lines/basic.txt.json index 40cc921e1e..ac68f78ae5 100644 --- a/tests/licensedcode/data/spdx/lines/basic.txt.json +++ b/tests/licensedcode/data/spdx/lines/basic.txt.json @@ -1,246 +1,246 @@ [ [ - "SPDX-License-Identifier: (BSD-3-Clause OR EPL-1.0 OR Apache-2.0 OR MIT)", + "SPDX-License-Identifier: (BSD-3-Clause OR EPL-1.0 OR Apache-2.0 OR MIT)", 0, 15 ], [ - "SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception", + "SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception", 16, 42 ], [ - "SPDX-License-Identifier: BSD-3-Clause", + "SPDX-License-Identifier: BSD-3-Clause", 44, 49 ], [ - "SPDX-License-Identifier: BSD-3-Clause", + "SPDX-License-Identifier: BSD-3-Clause", 50, 55 ], [ - "SPDX-License-Identifier: BSD-3-Clause", + "SPDX-License-Identifier: BSD-3-Clause", 56, 61 ], [ - "SPDX-License-Identifier: GPL-1.0+", + "SPDX-License-Identifier: GPL-1.0+", 62, 67 ], [ - "SPDX-License-Identifier: GPL-1.0+ WITH Linux-syscall-note */", + "SPDX-License-Identifier: GPL-1.0+ WITH Linux-syscall-note */", 68, 77 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 78, 83 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 84, 89 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 90, 95 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 96, 101 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 102, 107 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 108, 113 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 114, 119 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 120, 125 ], [ - "SPDX-License-Identifier: GPL-2.0 */", + "SPDX-License-Identifier: GPL-2.0 */", 126, 131 ], [ - "SPDX-License-Identifier: GPL-2.0+ */", + "SPDX-License-Identifier: GPL-2.0+ */", 132, 137 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 138, 143 ], [ - "SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)", + "SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)", 144, 153 ], [ - "SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)", + "SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)", 154, 163 ], [ - "SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)", + "SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)", 164, 173 ], [ - "SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)", + "SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)", 174, 183 ], [ - "SPDX-License-Identifier: (GPL-2.0 OR MIT)", + "SPDX-License-Identifier: (GPL-2.0 OR MIT)", 184, 191 ], [ - "SPDX-License-Identifier: (GPL-2.0+ OR MIT)", + "SPDX-License-Identifier: (GPL-2.0+ OR MIT)", 192, 199 ], [ - "SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1)", + "SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1)", 200, 209 ], [ - "SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */", + "SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */", 210, 219 ], [ - "SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */", + "SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */", 220, 229 ], [ - "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) AND MIT) */", + "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) AND MIT) */", 230, 241 ], [ - "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) */", + "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) */", 242, 255 ], [ - "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */", + "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */", 256, 269 ], [ - "SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) */", + "SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) */", 270, 283 ], [ - "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR MIT) */", + "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR MIT) */", 284, 295 ], [ - "SPDX-License-Identifier: LGPL-2.0+ WITH Linux-syscall-note */", + "SPDX-License-Identifier: LGPL-2.0+ WITH Linux-syscall-note */", 296, 305 ], [ - "SPDX-License-Identifier: LGPL-2.1+", + "SPDX-License-Identifier: LGPL-2.1+", 306, 311 ], [ - "SPDX-License-Identifier: LGPL-2.1 WITH Linux-syscall-note */", + "SPDX-License-Identifier: LGPL-2.1 WITH Linux-syscall-note */", 312, 321 ], [ - "SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */", + "SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */", 322, 331 ], [ - "SPDX License Identifier LGPL-2.1+", + "SPDX License Identifier LGPL-2.1+", 332, 337 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 347, 352 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 353, 358 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 359, 364 ], [ - "SPDX-License-Identifier: GPL-2.0+ BSD-2-Clause", + "SPDX-License-Identifier: GPL-2.0+ BSD-2-Clause", 365, 373 ], [ - "SPDX-License-Identifier: GPL-2.0+ BSD-2-Clause", + "SPDX-License-Identifier: GPL-2.0+ BSD-2-Clause", 374, 382 ], [ - "SPDX-License-Identifier: GPL-2.0 BSD-3-Clause", + "SPDX-License-Identifier: GPL-2.0 BSD-3-Clause", 383, 391 ], [ - "SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause", + "SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause", 392, 400 ], [ - "SPDX-License-Identifier: GPL-2.0 IBM-pibs", + "SPDX-License-Identifier: GPL-2.0 IBM-pibs", 401, 408 ], [ - "SPDX-License-Identifier: ISC", + "SPDX-License-Identifier: ISC", 409, 412 ], [ - "SPDX-License-Identifier: LGPL-2.0+", + "SPDX-License-Identifier: LGPL-2.0+", 413, 418 ], [ - "SPDX-License-Identifier: LGPL-2.1+", + "SPDX-License-Identifier: LGPL-2.1+", 419, 424 ], [ - "SPDX-License-Identifier: GPL-2.0 LGPL-2.1", + "SPDX-License-Identifier: GPL-2.0 LGPL-2.1", 425, 433 ] diff --git a/tests/licensedcode/data/spdx/lines/complex-readme.json b/tests/licensedcode/data/spdx/lines/complex-readme.json index 1d223bc911..4e6261414d 100644 --- a/tests/licensedcode/data/spdx/lines/complex-readme.json +++ b/tests/licensedcode/data/spdx/lines/complex-readme.json @@ -1,6 +1,6 @@ [ [ - "SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception", + "SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception", 140, 166 ] diff --git a/tests/licensedcode/data/spdx/lines/complex-short.html.json b/tests/licensedcode/data/spdx/lines/complex-short.html.json index 1aec76c2d1..0f861143af 100644 --- a/tests/licensedcode/data/spdx/lines/complex-short.html.json +++ b/tests/licensedcode/data/spdx/lines/complex-short.html.json @@ -1,11 +1,11 @@ [ [ - "SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception", + "SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception", 180, 206 ], [ - "SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception", + "SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception", 494, 520 ] diff --git a/tests/licensedcode/data/spdx/lines/complex.c.json b/tests/licensedcode/data/spdx/lines/complex.c.json index 1d223bc911..4e6261414d 100644 --- a/tests/licensedcode/data/spdx/lines/complex.c.json +++ b/tests/licensedcode/data/spdx/lines/complex.c.json @@ -1,6 +1,6 @@ [ [ - "SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception", + "SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception", 140, 166 ] diff --git a/tests/licensedcode/data/spdx/lines/complex.el.json b/tests/licensedcode/data/spdx/lines/complex.el.json index 49f8ecc65d..b57b5869dc 100644 --- a/tests/licensedcode/data/spdx/lines/complex.el.json +++ b/tests/licensedcode/data/spdx/lines/complex.el.json @@ -1,6 +1,6 @@ [ [ - "SPDX-License-Identifier: BSD-2-Clause", + "SPDX-License-Identifier: BSD-2-Clause", 35, 40 ] diff --git a/tests/licensedcode/data/spdx/lines/complex.html.json b/tests/licensedcode/data/spdx/lines/complex.html.json index 15bf787e61..8163cc9c58 100644 --- a/tests/licensedcode/data/spdx/lines/complex.html.json +++ b/tests/licensedcode/data/spdx/lines/complex.html.json @@ -1,6 +1,6 @@ [ [ - "SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception", + "SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception", 210, 236 ] diff --git a/tests/licensedcode/data/spdx/lines/complex.java.json b/tests/licensedcode/data/spdx/lines/complex.java.json index 2cc70e663e..eab3b34edf 100644 --- a/tests/licensedcode/data/spdx/lines/complex.java.json +++ b/tests/licensedcode/data/spdx/lines/complex.java.json @@ -1,6 +1,6 @@ [ [ - "SPDX-License-Identifier: (BSD-3-Clause OR EPL-1.0 OR Apache-2.0 OR MIT)", + "SPDX-License-Identifier: (BSD-3-Clause OR EPL-1.0 OR Apache-2.0 OR MIT)", 6, 21 ] diff --git a/tests/licensedcode/data/spdx/lines/expression-with-notice-complex.java.json b/tests/licensedcode/data/spdx/lines/expression-with-notice-complex.java.json index 1d223bc911..4e6261414d 100644 --- a/tests/licensedcode/data/spdx/lines/expression-with-notice-complex.java.json +++ b/tests/licensedcode/data/spdx/lines/expression-with-notice-complex.java.json @@ -1,6 +1,6 @@ [ [ - "SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception", + "SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception", 140, 166 ] diff --git a/tests/licensedcode/data/spdx/lines/expression-with-notice.java.json b/tests/licensedcode/data/spdx/lines/expression-with-notice.java.json index a9398fa086..1c25e01f59 100644 --- a/tests/licensedcode/data/spdx/lines/expression-with-notice.java.json +++ b/tests/licensedcode/data/spdx/lines/expression-with-notice.java.json @@ -1,6 +1,6 @@ [ [ - "SPDX-License-Identifier: EPL-2.0 OR Apache-2.0", + "SPDX-License-Identifier: EPL-2.0 OR Apache-2.0", 59, 68 ] diff --git a/tests/licensedcode/data/spdx/lines/expression-with-notice2.java.json b/tests/licensedcode/data/spdx/lines/expression-with-notice2.java.json index 5b467aedda..9a15039bb3 100644 --- a/tests/licensedcode/data/spdx/lines/expression-with-notice2.java.json +++ b/tests/licensedcode/data/spdx/lines/expression-with-notice2.java.json @@ -1,6 +1,6 @@ [ [ - "SPDX-License-Identifier: EPL-2.0 OR Apache-2.0", + "SPDX-License-Identifier: EPL-2.0 OR Apache-2.0", 73, 82 ] diff --git a/tests/licensedcode/data/spdx/lines/genivi.c.json b/tests/licensedcode/data/spdx/lines/genivi.c.json index 5bbe958d61..cef32a1af5 100644 --- a/tests/licensedcode/data/spdx/lines/genivi.c.json +++ b/tests/licensedcode/data/spdx/lines/genivi.c.json @@ -1,6 +1,6 @@ [ [ - "SPDX license identifier: MPL-2.0", + "SPDX license identifier: MPL-2.0", 0, 5 ] diff --git a/tests/licensedcode/data/spdx/lines/licence.c.json b/tests/licensedcode/data/spdx/lines/licence.c.json index 6ed5053126..5c74da7a70 100644 --- a/tests/licensedcode/data/spdx/lines/licence.c.json +++ b/tests/licensedcode/data/spdx/lines/licence.c.json @@ -1,36 +1,36 @@ [ [ - "SPDX-Licence-Identifier: GPL-2.0+", + "SPDX-Licence-Identifier: GPL-2.0+", 0, 5 ], [ - "SPDX-Licence-Identifier: GPL-2.0", + "SPDX-Licence-Identifier: GPL-2.0", 6, 11 ], [ - "SPDX-Licence-Identifier: GPL-2.0+", + "SPDX-Licence-Identifier: GPL-2.0+", 12, 17 ], [ - "SPDX-Licence-Identifier: GPL-2.0+", + "SPDX-Licence-Identifier: GPL-2.0+", 18, 23 ], [ - "SPDX-Licence-Identifier: BSD-3-Clause", + "SPDX-Licence-Identifier: BSD-3-Clause", 24, 29 ], [ - "SPDX-Licence-Identifier: EUPL-1.2", + "SPDX-Licence-Identifier: EUPL-1.2", 30, 35 ], [ - "SPDX-Licence-Identifier: LGPL-2.1+ The author added a static linking exception, see License.txt.", + "SPDX-Licence-Identifier: LGPL-2.1+ The author added a static linking exception, see License.txt.", 36, 50 ] diff --git a/tests/licensedcode/data/spdx/lines/linux.c.json b/tests/licensedcode/data/spdx/lines/linux.c.json index 17bc751d6b..1482f10140 100644 --- a/tests/licensedcode/data/spdx/lines/linux.c.json +++ b/tests/licensedcode/data/spdx/lines/linux.c.json @@ -1,171 +1,171 @@ [ [ - "SPDX-License-Identifier: BSD-3-Clause", + "SPDX-License-Identifier: BSD-3-Clause", 0, 5 ], [ - "SPDX-License-Identifier: BSD-3-Clause", + "SPDX-License-Identifier: BSD-3-Clause", 6, 11 ], [ - "SPDX-License-Identifier: BSD-3-Clause", + "SPDX-License-Identifier: BSD-3-Clause", 12, 17 ], [ - "SPDX-License-Identifier: GPL-1.0+", + "SPDX-License-Identifier: GPL-1.0+", 18, 23 ], [ - "SPDX-License-Identifier: GPL-1.0+ WITH Linux-syscall-note */", + "SPDX-License-Identifier: GPL-1.0+ WITH Linux-syscall-note */", 24, 33 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 34, 39 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 40, 45 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 46, 51 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 52, 57 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 58, 63 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 64, 69 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 70, 75 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 76, 81 ], [ - "SPDX-License-Identifier: GPL-2.0 */", + "SPDX-License-Identifier: GPL-2.0 */", 82, 87 ], [ - "SPDX-License-Identifier: GPL-2.0+ */", + "SPDX-License-Identifier: GPL-2.0+ */", 88, 93 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 94, 99 ], [ - "SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)", + "SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)", 100, 109 ], [ - "SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)", + "SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)", 110, 119 ], [ - "SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)", + "SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)", 120, 129 ], [ - "SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)", + "SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)", 130, 139 ], [ - "SPDX-License-Identifier: (GPL-2.0 OR MIT)", + "SPDX-License-Identifier: (GPL-2.0 OR MIT)", 140, 147 ], [ - "SPDX-License-Identifier: (GPL-2.0+ OR MIT)", + "SPDX-License-Identifier: (GPL-2.0+ OR MIT)", 148, 155 ], [ - "SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1)", + "SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1)", 156, 165 ], [ - "SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */", + "SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */", 166, 175 ], [ - "SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */", + "SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */", 176, 185 ], [ - "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) AND MIT) */", + "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) AND MIT) */", 186, 197 ], [ - "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) */", + "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) */", 198, 211 ], [ - "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */", + "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */", 212, 225 ], [ - "SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) */", + "SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) */", 226, 239 ], [ - "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR MIT) */", + "SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR MIT) */", 240, 251 ], [ - "SPDX-License-Identifier: LGPL-2.0+ WITH Linux-syscall-note */", + "SPDX-License-Identifier: LGPL-2.0+ WITH Linux-syscall-note */", 252, 261 ], [ - "SPDX-License-Identifier: LGPL-2.1+", + "SPDX-License-Identifier: LGPL-2.1+", 262, 267 ], [ - "SPDX-License-Identifier: LGPL-2.1 WITH Linux-syscall-note */", + "SPDX-License-Identifier: LGPL-2.1 WITH Linux-syscall-note */", 268, 277 ], [ - "SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */", + "SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */", 278, 287 ] diff --git a/tests/licensedcode/data/spdx/lines/misc.c.json b/tests/licensedcode/data/spdx/lines/misc.c.json index 3f7c1e1f31..bda6ea3702 100644 --- a/tests/licensedcode/data/spdx/lines/misc.c.json +++ b/tests/licensedcode/data/spdx/lines/misc.c.json @@ -1,91 +1,91 @@ [ [ - "SPDX-License-Identifier: Apache-2.0", + "SPDX-License-Identifier: Apache-2.0", 5, 10 ], [ - "SPDX-License-Identifier: Unlicense", + "SPDX-License-Identifier: Unlicense", 18, 21 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 23, 28 ], [ - "SPDX-License-Identifier: Apache-2.0", + "SPDX-License-Identifier: Apache-2.0", 44, 49 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 50, 55 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 56, 61 ], [ - "SPDX-License-Identifier: LGPL-2.1+", + "SPDX-License-Identifier: LGPL-2.1+", 62, 67 ], [ - "SPDX-License-Identifier: GPL-2.0+ */", + "SPDX-License-Identifier: GPL-2.0+ */", 68, 73 ], [ - "SPDX-License-Identifier: MIT", + "SPDX-License-Identifier: MIT", 83, 86 ], [ - "SPDX-License-Identifier: (BSD-3-Clause OR EPL-1.0 OR Apache-2.0 OR MIT)", + "SPDX-License-Identifier: (BSD-3-Clause OR EPL-1.0 OR Apache-2.0 OR MIT)", 141, 156 ], [ - "SPDX-License-Identifier: Apache-2.0", + "SPDX-License-Identifier: Apache-2.0", 158, 163 ], [ - "SPDX-License-Identifier: AGPL-3.0", + "SPDX-License-Identifier: AGPL-3.0", 171, 176 ], [ - "SPDX-License-Identifier: BSD-3-Clause. import", + "SPDX-License-Identifier: BSD-3-Clause. import", 177, 183 ], [ - "SPDX-License-Identifier: BSD-3-Clause", + "SPDX-License-Identifier: BSD-3-Clause", 184, 189 ], [ - "SPDX-License-Identifier: BSD-2-Clause-NetBSD", + "SPDX-License-Identifier: BSD-2-Clause-NetBSD", 191, 197 ], [ - "SPDX-License-Identifier: GPL-2.", + "SPDX-License-Identifier: GPL-2.", 213, 217 ], [ - "SPDX-License-Identifier: CC-BY-4.0", + "SPDX-License-Identifier: CC-BY-4.0", 279, 285 ], [ - "SPDX-License-Identifier: GPL-2.0+\". Is there any reason we shouldn't go ahead with this?", + "SPDX-License-Identifier: GPL-2.0+\". Is there any reason we shouldn't go ahead with this?", 308, 324 ] diff --git a/tests/licensedcode/data/spdx/lines/misc2.c.json b/tests/licensedcode/data/spdx/lines/misc2.c.json index 401826eced..4ff3500dd1 100644 --- a/tests/licensedcode/data/spdx/lines/misc2.c.json +++ b/tests/licensedcode/data/spdx/lines/misc2.c.json @@ -1,46 +1,46 @@ [ [ - "SPDX-License-Identifier: MIT", + "SPDX-License-Identifier: MIT", 2, 5 ], [ - "SPDX-License-Identifier: MIT", + "SPDX-License-Identifier: MIT", 14, 17 ], [ - "SPDX-License-Identifier: BSD-3-Clause", + "SPDX-License-Identifier: BSD-3-Clause", 81, 86 ], [ - "SPDX-License-Identifier: MIT", + "SPDX-License-Identifier: MIT", 99, 102 ], [ - "SPDX-License-Identifier: BSD-2-Clause", + "SPDX-License-Identifier: BSD-2-Clause", 122, 127 ], [ - "SPDX-License-Identifier: MIT", + "SPDX-License-Identifier: MIT", 136, 139 ], [ - "SPDX-License-Identifier: LGPL-3.0+", + "SPDX-License-Identifier: LGPL-3.0+", 145, 150 ], [ - "SPDX-License-Identifier: AGPL-3.0", + "SPDX-License-Identifier: AGPL-3.0", 158, 163 ], [ - "SPDX-License-Identifier: Apache-2.0", + "SPDX-License-Identifier: Apache-2.0", 170, 175 ] diff --git a/tests/licensedcode/data/spdx/lines/misc2.java.json b/tests/licensedcode/data/spdx/lines/misc2.java.json index e5bd89cf39..674f4d7c87 100644 --- a/tests/licensedcode/data/spdx/lines/misc2.java.json +++ b/tests/licensedcode/data/spdx/lines/misc2.java.json @@ -1,6 +1,6 @@ [ [ - "SPDX-License-Identifier: BSD-2-Clause", + "SPDX-License-Identifier: BSD-2-Clause", 5, 10 ] diff --git a/tests/licensedcode/data/spdx/lines/misc3.c.json b/tests/licensedcode/data/spdx/lines/misc3.c.json index 74c4a66df5..2b15fd84fc 100644 --- a/tests/licensedcode/data/spdx/lines/misc3.c.json +++ b/tests/licensedcode/data/spdx/lines/misc3.c.json @@ -1,11 +1,11 @@ [ [ - "SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause", + "SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause", 0, 8 ], [ - "SPDX license identifier: MPL-2.0.", + "SPDX license identifier: MPL-2.0.", 9, 14 ] diff --git a/tests/licensedcode/data/spdx/lines/mit-with-disclaimer.c.json b/tests/licensedcode/data/spdx/lines/mit-with-disclaimer.c.json index 1ffce2c2fb..ae8831f217 100644 --- a/tests/licensedcode/data/spdx/lines/mit-with-disclaimer.c.json +++ b/tests/licensedcode/data/spdx/lines/mit-with-disclaimer.c.json @@ -1,6 +1,6 @@ [ [ - "SPDX-License-Identifier: MIT", + "SPDX-License-Identifier: MIT", 7, 10 ] diff --git a/tests/licensedcode/data/spdx/lines/mixed.go.json b/tests/licensedcode/data/spdx/lines/mixed.go.json index 378f0e7364..3ba4b5632f 100644 --- a/tests/licensedcode/data/spdx/lines/mixed.go.json +++ b/tests/licensedcode/data/spdx/lines/mixed.go.json @@ -1,6 +1,6 @@ [ [ - "SPDX-License-Identifier: Apache-2.0", + "SPDX-License-Identifier: Apache-2.0", 99, 104 ] diff --git a/tests/licensedcode/data/spdx/lines/mixed.java.json b/tests/licensedcode/data/spdx/lines/mixed.java.json index 5235d3a18f..dbb033ada8 100644 --- a/tests/licensedcode/data/spdx/lines/mixed.java.json +++ b/tests/licensedcode/data/spdx/lines/mixed.java.json @@ -1,6 +1,6 @@ [ [ - "SPDX-License-Identifier: AGPL-3.0", + "SPDX-License-Identifier: AGPL-3.0", 7, 12 ] diff --git a/tests/licensedcode/data/spdx/lines/oldplus.txt.json b/tests/licensedcode/data/spdx/lines/oldplus.txt.json index 33676089ac..1ddbebceae 100644 --- a/tests/licensedcode/data/spdx/lines/oldplus.txt.json +++ b/tests/licensedcode/data/spdx/lines/oldplus.txt.json @@ -1,6 +1,6 @@ [ [ - "SPDX-License-Identifier: GPL-2.0+ or X11", + "SPDX-License-Identifier: GPL-2.0+ or X11", 0, 7 ] diff --git a/tests/licensedcode/data/spdx/lines/reuse.py.json b/tests/licensedcode/data/spdx/lines/reuse.py.json index 13f9a3cf3f..7d81672214 100644 --- a/tests/licensedcode/data/spdx/lines/reuse.py.json +++ b/tests/licensedcode/data/spdx/lines/reuse.py.json @@ -1,6 +1,6 @@ [ [ - "SPDX-License-Identifier: GPL-3.0+", + "SPDX-License-Identifier: GPL-3.0+", 124, 129 ] diff --git a/tests/licensedcode/data/spdx/lines/spdx-v3.txt.json b/tests/licensedcode/data/spdx/lines/spdx-v3.txt.json index 939180395d..e82d2a444b 100644 --- a/tests/licensedcode/data/spdx/lines/spdx-v3.txt.json +++ b/tests/licensedcode/data/spdx/lines/spdx-v3.txt.json @@ -1,21 +1,21 @@ [ [ - "SPDX-License-Identifier: GPL-2.0-or-later", + "SPDX-License-Identifier: GPL-2.0-or-later", 0, 7 ], [ - "SPDX-License-Identifier: GPL-2.0-or-later", + "SPDX-License-Identifier: GPL-2.0-or-later", 8, 15 ], [ - "SPDX-License-Identifier: MIT AND GPL-2.0-or-later", + "SPDX-License-Identifier: MIT AND GPL-2.0-or-later", 16, 25 ], [ - "SPDX-License-Identifier: LGPL-2.1+.", + "SPDX-License-Identifier: LGPL-2.1+.", 26, 31 ] diff --git a/tests/licensedcode/data/spdx/lines/uboot.c.json b/tests/licensedcode/data/spdx/lines/uboot.c.json index f015552732..1293da382f 100644 --- a/tests/licensedcode/data/spdx/lines/uboot.c.json +++ b/tests/licensedcode/data/spdx/lines/uboot.c.json @@ -1,196 +1,196 @@ [ [ - "SPDX-License-Identifier: \" line references more than one Unique", + "SPDX-License-Identifier:\" line references more than one Unique", 1, 9 ], [ - "SPDX-License-Identifier: BSD-2-Clause", + "SPDX-License-Identifier: BSD-2-Clause", 10, 15 ], [ - "SPDX-License-Identifier: BSD-3-Clause", + "SPDX-License-Identifier: BSD-3-Clause", 16, 21 ], [ - "SPDX-License-Identifier: BSD-3-Clause", + "SPDX-License-Identifier: BSD-3-Clause", 22, 27 ], [ - "SPDX-License-Identifier: BSD-3-Clause", + "SPDX-License-Identifier: BSD-3-Clause", 28, 33 ], [ - "SPDX-License-Identifier: eCos-2.0", + "SPDX-License-Identifier: eCos-2.0", 34, 39 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 40, 45 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 46, 51 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 52, 57 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 58, 63 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 64, 69 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 70, 75 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 76, 81 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 82, 87 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 88, 93 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 94, 99 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 100, 105 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 106, 111 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 112, 117 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 118, 123 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 124, 129 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 130, 135 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 136, 141 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 142, 147 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 148, 153 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 154, 159 ], [ - "SPDX-License-Identifier: GPL-2.0", + "SPDX-License-Identifier: GPL-2.0", 160, 165 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 166, 171 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 172, 177 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 178, 183 ], [ - "SPDX-License-Identifier: GPL-2.0+", + "SPDX-License-Identifier: GPL-2.0+", 184, 189 ], [ - "SPDX-License-Identifier: GPL-2.0+ BSD-2-Clause", + "SPDX-License-Identifier: GPL-2.0+ BSD-2-Clause", 190, 198 ], [ - "SPDX-License-Identifier: GPL-2.0+ BSD-2-Clause", + "SPDX-License-Identifier: GPL-2.0+ BSD-2-Clause", 199, 207 ], [ - "SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause", + "SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause", 208, 216 ], [ - "SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause", + "SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause", 217, 225 ], [ - "SPDX-License-Identifier: GPL-2.0 IBM-pibs", + "SPDX-License-Identifier: GPL-2.0 IBM-pibs", 226, 233 ], [ - "SPDX-License-Identifier: ISC", + "SPDX-License-Identifier: ISC", 234, 237 ], [ - "SPDX-License-Identifier: LGPL-2.0+", + "SPDX-License-Identifier: LGPL-2.0+", 238, 243 ], [ - "SPDX-License-Identifier: LGPL-2.1+", + "SPDX-License-Identifier: LGPL-2.1+", 244, 249 ] diff --git a/tests/licensedcode/test_match_spdx_lid.py b/tests/licensedcode/test_match_spdx_lid.py index a359b1bb83..e2c4470c40 100644 --- a/tests/licensedcode/test_match_spdx_lid.py +++ b/tests/licensedcode/test_match_spdx_lid.py @@ -74,9 +74,9 @@ def test_Query_with_spdx_basic(self): qry = Query(query_string=querys, idx=idx) expected = [ - ('SPDX-License-Identifier: (BSD-3-Clause OR EPL-1.0 OR Apache-2.0 OR MIT)', 0, 15), - ('SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0',16, 34), - ('SPDX-License-Identifier: GPL-2.0+ BSD-2-Clause', 45, 53)] + ('SPDX-License-Identifier: (BSD-3-Clause OR EPL-1.0 OR Apache-2.0 OR MIT)', 0, 15), + ('SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0',16, 34), + ('SPDX-License-Identifier: GPL-2.0+ BSD-2-Clause', 45, 53)] assert qry.spdx_lines == expected @@ -98,10 +98,10 @@ def test_Query_with_spdx_basic(self): qry = Query(query_string=querys, idx=idx) expected = [ - ('licenses.nuget.org /(LGPL-2.0-only WITH FLTK-exception OR Apache-2.0)', 1, 14), - ('SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0',15, 33), - ('licenses.nuget.org /MIT', 45, 48), - ('licenses.nuget.org /(MIT)', 50, 53) + ('licenses.nuget.org/(LGPL-2.0-only WITH FLTK-exception OR Apache-2.0)', 1, 14), + ('SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0',15, 33), + ('licenses.nuget.org/MIT', 45, 48), + ('licenses.nuget.org/(MIT)', 50, 53) ] assert qry.spdx_lines == expected diff --git a/tests/licensedcode/test_plugin_license.py b/tests/licensedcode/test_plugin_license.py index 21d67143d3..be41a2b863 100644 --- a/tests/licensedcode/test_plugin_license.py +++ b/tests/licensedcode/test_plugin_license.py @@ -46,11 +46,15 @@ def test_license_detection_plugin_works(): check_json_scan(test_loc, result_file, regen=REGEN_TEST_FIXTURES) -def test_license_option_reports_license_expressions(): +def test_license_option_reports_license_expressions_misc(): test_dir = test_env.get_test_loc('plugin_license/license-expression/scan', copy=True) result_file = test_env.get_temp_file('json') args = [ '--license', + '--license-text', + '--license-text-diagnostics', + '--license-diagnostics', + '--license-references', '--strip-root', '--verbose', '--json', result_file, @@ -69,6 +73,7 @@ def test_license_option_reports_license_expressions_spdx_nuget(): '--license-text', '--license-text-diagnostics', '--license-diagnostics', + '--license-references', '--strip-root', '--verbose', '--json', result_file, @@ -86,7 +91,6 @@ def test_license_option_reports_license_texts(): args = [ '--license', '--license-text', - '--license-text-diagnostics', '--license-diagnostics', '--strip-root', '--verbose', diff --git a/tests/packagedcode/data/about/aboutfiles.expected.json b/tests/packagedcode/data/about/aboutfiles.expected.json index f172a8cc11..e998ddb00b 100644 --- a/tests/packagedcode/data/about/aboutfiles.expected.json +++ b/tests/packagedcode/data/about/aboutfiles.expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "aboutfiles/apipkg.ABOUT", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -111,17 +114,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "aboutfiles/appdirs.ABOUT", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -220,17 +226,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "aboutfiles/apipkg.ABOUT", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -310,17 +319,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "aboutfiles/appdirs.ABOUT", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } diff --git a/tests/packagedcode/data/about/apipkg.ABOUT-expected b/tests/packagedcode/data/about/apipkg.ABOUT-expected index bf8f1764de..7647b2d6c8 100644 --- a/tests/packagedcode/data/about/apipkg.ABOUT-expected +++ b/tests/packagedcode/data/about/apipkg.ABOUT-expected @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/about/appdirs.ABOUT-expected b/tests/packagedcode/data/about/appdirs.ABOUT-expected index 652f47f6fc..ef560e3513 100644 --- a/tests/packagedcode/data/about/appdirs.ABOUT-expected +++ b/tests/packagedcode/data/about/appdirs.ABOUT-expected @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/alpine/alpine-container-layer.tar.xz-get-installed-expected.json b/tests/packagedcode/data/alpine/alpine-container-layer.tar.xz-get-installed-expected.json index 1dd4936ab7..bdde87d0ea 100644 --- a/tests/packagedcode/data/alpine/alpine-container-layer.tar.xz-get-installed-expected.json +++ b/tests/packagedcode/data/alpine/alpine-container-layer.tar.xz-get-installed-expected.json @@ -38,17 +38,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -247,17 +250,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -348,17 +354,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -494,17 +503,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -703,17 +715,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -1155,22 +1170,25 @@ "license_detections": [ { "license_expression": "mpl-2.0 AND mit", + "license_expression_spdx": "MPL-2.0 AND MIT", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0 AND mit", + "spdx_license_expression": "MPL-2.0 AND MIT", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mpl-2.0 AND mit", - "rule_identifier": "spdx-license-identifier-mpl-2.0 AND mit-5514313e881fb20dc746d1ac1e3a53a643c808d7", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mpl_2_0_and_mit-5514313e881fb20dc746d1ac1e3a53a643c808d7", "rule_url": null, "matched_text": "mpl-2.0 AND mit" } ], - "identifier": "mpl_2_0_and_mit-988cb9df-c9be-c91d-c7e4-896f96e84eb8" + "identifier": "mpl_2_0_and_mit-0ec4a3d2-4f7b-39d7-f14f-8bb7666de6d5" } ], "other_license_expression": null, @@ -1256,22 +1274,25 @@ "license_detections": [ { "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", "matches": [ { - "score": 100.0, + "license_expression": "openssl-ssleay", + "spdx_license_expression": "OpenSSL", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "openssl-ssleay", - "rule_identifier": "spdx-license-identifier-openssl-ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-openssl_ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_url": null, "matched_text": "openssl" } ], - "identifier": "openssl_ssleay-5eedc4a6-a77c-b373-2ac4-55bb8c004773" + "identifier": "openssl_ssleay-602fb366-4d56-7dcd-cac5-129d99473599" } ], "other_license_expression": null, @@ -1447,22 +1468,25 @@ "license_detections": [ { "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", "matches": [ { - "score": 100.0, + "license_expression": "openssl-ssleay", + "spdx_license_expression": "OpenSSL", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "openssl-ssleay", - "rule_identifier": "spdx-license-identifier-openssl-ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-openssl_ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_url": null, "matched_text": "openssl" } ], - "identifier": "openssl_ssleay-5eedc4a6-a77c-b373-2ac4-55bb8c004773" + "identifier": "openssl_ssleay-602fb366-4d56-7dcd-cac5-129d99473599" } ], "other_license_expression": null, @@ -1548,17 +1572,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -1637,17 +1664,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "zlib", - "rule_identifier": "spdx-license-identifier-zlib-2023583c09c2e5aa14d564036e304041c0f1ace3", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-zlib-2023583c09c2e5aa14d564036e304041c0f1ace3", "rule_url": null, "matched_text": "zlib" } @@ -1738,17 +1768,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -1836,17 +1869,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -1925,22 +1961,25 @@ "license_detections": [ { "license_expression": "mit AND bsd-new AND gpl-2.0-plus", + "license_expression_spdx": "MIT AND BSD-3-Clause AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "mit AND bsd-new AND gpl-2.0-plus", + "spdx_license_expression": "MIT AND BSD-3-Clause AND GPL-2.0-or-later", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit AND bsd-new AND gpl-2.0-plus", - "rule_identifier": "spdx-license-identifier-mit AND bsd-new AND gpl-2.0-plus-a42688b31c355df3bef97265e8ca20360250716e", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit_and_bsd_new_and_gpl_2_0_plus-a42688b31c355df3bef97265e8ca20360250716e", "rule_url": null, "matched_text": "mit AND bsd-3-clause AND gpl-2.0-or-later" } ], - "identifier": "mit_and_bsd_new_and_gpl_2_0_plus-57deb96b-d294-ad77-12c0-3e0e3c5d55f3" + "identifier": "mit_and_bsd_new_and_gpl_2_0_plus-f5dc1480-e57f-fd40-8614-8d2a83cd4bb9" } ], "other_license_expression": null, @@ -2050,22 +2089,25 @@ "license_detections": [ { "license_expression": "bsd-simplified AND bsd-new", + "license_expression_spdx": "BSD-2-Clause AND BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-simplified AND bsd-new", + "spdx_license_expression": "BSD-2-Clause AND BSD-3-Clause", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "bsd-simplified AND bsd-new", - "rule_identifier": "spdx-license-identifier-bsd-simplified AND bsd-new-dc707a661bb1da34ff773b7e9955e0235b3b3f74", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-bsd_simplified_and_bsd_new-dc707a661bb1da34ff773b7e9955e0235b3b3f74", "rule_url": null, "matched_text": "bsd-2-clause AND bsd-3-clause" } ], - "identifier": "bsd_simplified_and_bsd_new-73e0acf3-001a-667e-f37b-135c6b8a5cad" + "identifier": "bsd_simplified_and_bsd_new-571c460d-b906-8e23-30cd-5429d912eee3" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/alpine-container-layer.tar.xz-scan-expected.json b/tests/packagedcode/data/alpine/alpine-container-layer.tar.xz-scan-expected.json index 5698456a8f..36ce68a399 100644 --- a/tests/packagedcode/data/alpine/alpine-container-layer.tar.xz-scan-expected.json +++ b/tests/packagedcode/data/alpine/alpine-container-layer.tar.xz-scan-expected.json @@ -39,17 +39,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -129,17 +132,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -219,17 +225,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -309,17 +318,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -417,17 +429,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -669,22 +684,25 @@ "license_detections": [ { "license_expression": "mpl-2.0 AND mit", + "license_expression_spdx": "MPL-2.0 AND MIT", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0 AND mit", + "spdx_license_expression": "MPL-2.0 AND MIT", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mpl-2.0 AND mit", - "rule_identifier": "spdx-license-identifier-mpl-2.0 AND mit-5514313e881fb20dc746d1ac1e3a53a643c808d7", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mpl_2_0_and_mit-5514313e881fb20dc746d1ac1e3a53a643c808d7", "rule_url": null, "matched_text": "mpl-2.0 AND mit" } ], - "identifier": "mpl_2_0_and_mit-988cb9df-c9be-c91d-c7e4-896f96e84eb8" + "identifier": "mpl_2_0_and_mit-0ec4a3d2-4f7b-39d7-f14f-8bb7666de6d5" } ], "other_license_expression": null, @@ -759,22 +777,25 @@ "license_detections": [ { "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", "matches": [ { - "score": 100.0, + "license_expression": "openssl-ssleay", + "spdx_license_expression": "OpenSSL", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "openssl-ssleay", - "rule_identifier": "spdx-license-identifier-openssl-ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-openssl_ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_url": null, "matched_text": "openssl" } ], - "identifier": "openssl_ssleay-5eedc4a6-a77c-b373-2ac4-55bb8c004773" + "identifier": "openssl_ssleay-602fb366-4d56-7dcd-cac5-129d99473599" } ], "other_license_expression": null, @@ -858,22 +879,25 @@ "license_detections": [ { "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", "matches": [ { - "score": 100.0, + "license_expression": "openssl-ssleay", + "spdx_license_expression": "OpenSSL", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "openssl-ssleay", - "rule_identifier": "spdx-license-identifier-openssl-ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-openssl_ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_url": null, "matched_text": "openssl" } ], - "identifier": "openssl_ssleay-5eedc4a6-a77c-b373-2ac4-55bb8c004773" + "identifier": "openssl_ssleay-602fb366-4d56-7dcd-cac5-129d99473599" } ], "other_license_expression": null, @@ -948,17 +972,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -1026,17 +1053,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "zlib", - "rule_identifier": "spdx-license-identifier-zlib-2023583c09c2e5aa14d564036e304041c0f1ace3", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-zlib-2023583c09c2e5aa14d564036e304041c0f1ace3", "rule_url": null, "matched_text": "zlib" } @@ -1116,17 +1146,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -1194,17 +1227,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -1272,22 +1308,25 @@ "license_detections": [ { "license_expression": "mit AND bsd-new AND gpl-2.0-plus", + "license_expression_spdx": "MIT AND BSD-3-Clause AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "mit AND bsd-new AND gpl-2.0-plus", + "spdx_license_expression": "MIT AND BSD-3-Clause AND GPL-2.0-or-later", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit AND bsd-new AND gpl-2.0-plus", - "rule_identifier": "spdx-license-identifier-mit AND bsd-new AND gpl-2.0-plus-a42688b31c355df3bef97265e8ca20360250716e", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit_and_bsd_new_and_gpl_2_0_plus-a42688b31c355df3bef97265e8ca20360250716e", "rule_url": null, "matched_text": "mit AND bsd-3-clause AND gpl-2.0-or-later" } ], - "identifier": "mit_and_bsd_new_and_gpl_2_0_plus-57deb96b-d294-ad77-12c0-3e0e3c5d55f3" + "identifier": "mit_and_bsd_new_and_gpl_2_0_plus-f5dc1480-e57f-fd40-8614-8d2a83cd4bb9" } ], "other_license_expression": null, @@ -1350,22 +1389,25 @@ "license_detections": [ { "license_expression": "bsd-simplified AND bsd-new", + "license_expression_spdx": "BSD-2-Clause AND BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-simplified AND bsd-new", + "spdx_license_expression": "BSD-2-Clause AND BSD-3-Clause", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "bsd-simplified AND bsd-new", - "rule_identifier": "spdx-license-identifier-bsd-simplified AND bsd-new-dc707a661bb1da34ff773b7e9955e0235b3b3f74", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-bsd_simplified_and_bsd_new-dc707a661bb1da34ff773b7e9955e0235b3b3f74", "rule_url": null, "matched_text": "bsd-2-clause AND bsd-3-clause" } ], - "identifier": "bsd_simplified_and_bsd_new-73e0acf3-001a-667e-f37b-135c6b8a5cad" + "identifier": "bsd_simplified_and_bsd_new-571c460d-b906-8e23-30cd-5429d912eee3" } ], "other_license_expression": null, @@ -2172,17 +2214,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -2373,17 +2418,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -2466,17 +2514,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -2604,17 +2655,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -2816,17 +2870,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -3260,22 +3317,25 @@ "license_detections": [ { "license_expression": "mpl-2.0 AND mit", + "license_expression_spdx": "MPL-2.0 AND MIT", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0 AND mit", + "spdx_license_expression": "MPL-2.0 AND MIT", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mpl-2.0 AND mit", - "rule_identifier": "spdx-license-identifier-mpl-2.0 AND mit-5514313e881fb20dc746d1ac1e3a53a643c808d7", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mpl_2_0_and_mit-5514313e881fb20dc746d1ac1e3a53a643c808d7", "rule_url": null, "matched_text": "mpl-2.0 AND mit" } ], - "identifier": "mpl_2_0_and_mit-988cb9df-c9be-c91d-c7e4-896f96e84eb8" + "identifier": "mpl_2_0_and_mit-0ec4a3d2-4f7b-39d7-f14f-8bb7666de6d5" } ], "other_license_expression": null, @@ -3353,22 +3413,25 @@ "license_detections": [ { "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", "matches": [ { - "score": 100.0, + "license_expression": "openssl-ssleay", + "spdx_license_expression": "OpenSSL", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "openssl-ssleay", - "rule_identifier": "spdx-license-identifier-openssl-ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-openssl_ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_url": null, "matched_text": "openssl" } ], - "identifier": "openssl_ssleay-5eedc4a6-a77c-b373-2ac4-55bb8c004773" + "identifier": "openssl_ssleay-602fb366-4d56-7dcd-cac5-129d99473599" } ], "other_license_expression": null, @@ -3536,22 +3599,25 @@ "license_detections": [ { "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", "matches": [ { - "score": 100.0, + "license_expression": "openssl-ssleay", + "spdx_license_expression": "OpenSSL", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "openssl-ssleay", - "rule_identifier": "spdx-license-identifier-openssl-ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-openssl_ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_url": null, "matched_text": "openssl" } ], - "identifier": "openssl_ssleay-5eedc4a6-a77c-b373-2ac4-55bb8c004773" + "identifier": "openssl_ssleay-602fb366-4d56-7dcd-cac5-129d99473599" } ], "other_license_expression": null, @@ -3629,17 +3695,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -3713,17 +3782,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "zlib", - "rule_identifier": "spdx-license-identifier-zlib-2023583c09c2e5aa14d564036e304041c0f1ace3", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-zlib-2023583c09c2e5aa14d564036e304041c0f1ace3", "rule_url": null, "matched_text": "zlib" } @@ -3806,17 +3878,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -3920,17 +3995,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -4004,22 +4082,25 @@ "license_detections": [ { "license_expression": "mit AND bsd-new AND gpl-2.0-plus", + "license_expression_spdx": "MIT AND BSD-3-Clause AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "mit AND bsd-new AND gpl-2.0-plus", + "spdx_license_expression": "MIT AND BSD-3-Clause AND GPL-2.0-or-later", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit AND bsd-new AND gpl-2.0-plus", - "rule_identifier": "spdx-license-identifier-mit AND bsd-new AND gpl-2.0-plus-a42688b31c355df3bef97265e8ca20360250716e", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit_and_bsd_new_and_gpl_2_0_plus-a42688b31c355df3bef97265e8ca20360250716e", "rule_url": null, "matched_text": "mit AND bsd-3-clause AND gpl-2.0-or-later" } ], - "identifier": "mit_and_bsd_new_and_gpl_2_0_plus-57deb96b-d294-ad77-12c0-3e0e3c5d55f3" + "identifier": "mit_and_bsd_new_and_gpl_2_0_plus-f5dc1480-e57f-fd40-8614-8d2a83cd4bb9" } ], "other_license_expression": null, @@ -4135,22 +4216,25 @@ "license_detections": [ { "license_expression": "bsd-simplified AND bsd-new", + "license_expression_spdx": "BSD-2-Clause AND BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-simplified AND bsd-new", + "spdx_license_expression": "BSD-2-Clause AND BSD-3-Clause", + "from_file": "alpine-container-layer.tar.xz/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "bsd-simplified AND bsd-new", - "rule_identifier": "spdx-license-identifier-bsd-simplified AND bsd-new-dc707a661bb1da34ff773b7e9955e0235b3b3f74", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-bsd_simplified_and_bsd_new-dc707a661bb1da34ff773b7e9955e0235b3b3f74", "rule_url": null, "matched_text": "bsd-2-clause AND bsd-3-clause" } ], - "identifier": "bsd_simplified_and_bsd_new-73e0acf3-001a-667e-f37b-135c6b8a5cad" + "identifier": "bsd_simplified_and_bsd_new-571c460d-b906-8e23-30cd-5429d912eee3" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/bluedevil/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/bluedevil/APKBUILD-expected.json index 734a40db2e..3f959e7e5c 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/bluedevil/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/bluedevil/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND lgpl-2.0-plus AND (lgpl-2.1 OR lgpl-3.0)", + "license_expression_spdx": "GPL-2.0-or-later AND LGPL-2.0-or-later AND (LGPL-2.1-only OR LGPL-3.0-only)", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus AND lgpl-2.0-plus AND (lgpl-2.1 OR lgpl-3.0)", + "spdx_license_expression": "GPL-2.0-or-later AND LGPL-2.0-or-later AND (LGPL-2.1-only OR LGPL-3.0-only)", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 21, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0-plus AND lgpl-2.0-plus AND (lgpl-2.1 OR lgpl-3.0)", - "rule_identifier": "spdx-license-identifier-gpl-2.0-plus AND lgpl-2.0-plus AND (lgpl-2.1 OR lgpl-3.0)-b7eafc9b966222982218b5cba903dd77b43f0540", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_plus_and_lgpl_2_0_plus_and__lgpl_2_1_or_lgpl_3_0-b7eafc9b966222982218b5cba903dd77b43f0540", "rule_url": null, "matched_text": "gpl-2.0-or-later AND lgpl-2.0-or-later AND (lgpl-2.1-only OR lgpl-3.0-only)" } ], - "identifier": "gpl_2_0_plus_and_lgpl_2_0_plus_and__lgpl_2_1_or_lgpl_3_0-83adb4fe-159a-e6dc-3d99-9ae9f8f42d4c" + "identifier": "gpl_2_0_plus_and_lgpl_2_0_plus_and__lgpl_2_1_or_lgpl_3_0-af062053-aab4-2eb5-fdbd-d9bc8654417f" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-grub/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-grub/APKBUILD-expected.json index 8736801772..df77305970 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-grub/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-grub/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", "rule_identifier": "spdx_license_id_gpl-3.0-or-later_for_gpl-3.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-3.0-or-later_for_gpl-3.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-gtk/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-gtk/APKBUILD-expected.json index fccfcfc8b1..e9ea90dc98 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-gtk/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-gtk/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "lgpl-2.1", + "license_expression_spdx": "LGPL-2.1-only", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.1", + "spdx_license_expression": "LGPL-2.1-only", "rule_identifier": "spdx_license_id_lgpl-2.1-only_for_lgpl-2.1.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_lgpl-2.1-only_for_lgpl-2.1.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-plymouth/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-plymouth/APKBUILD-expected.json index 1b91ddc33c..2a8b5c49cf 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-plymouth/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze-plymouth/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze/APKBUILD-expected.json index e674a0194e..d61e833d4f 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/breeze/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/discover/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/discover/APKBUILD-expected.json index 2f6c464863..fa31963e04 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/discover/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/discover/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND gfdl-1.2", + "license_expression_spdx": "LGPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND GFDL-1.2-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND gfdl-1.2", + "spdx_license_expression": "LGPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND GFDL-1.2-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 20, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "lgpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND gfdl-1.2", - "rule_identifier": "spdx-license-identifier-lgpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND gfdl-1.2-71479f146df396347c1f389292ea4ade2de988be", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-lgpl_2_0_plus_and__gpl_2_0_or_gpl_3_0__and_gfdl_1_2-71479f146df396347c1f389292ea4ade2de988be", "rule_url": null, "matched_text": "lgpl-2.0-or-later AND (gpl-2.0-only OR gpl-3.0-only) AND gfdl-1.2-only" } ], - "identifier": "lgpl_2_0_plus_and__gpl_2_0_or_gpl_3_0__and_gfdl_1_2-0c073d36-fb2b-d80b-34b6-4c73db0e409b" + "identifier": "lgpl_2_0_plus_and__gpl_2_0_or_gpl_3_0__and_gfdl_1_2-03f4b2ba-8469-f8a4-7e3d-83270b11bea8" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/drkonqi/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/drkonqi/APKBUILD-expected.json index 803d5052aa..aa0685676b 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/drkonqi/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/drkonqi/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/jool-modules-lts/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/jool-modules-lts/APKBUILD-expected.json index ea22d4609b..c160712d3e 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/jool-modules-lts/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/jool-modules-lts/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/jool-modules-rpi/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/jool-modules-rpi/APKBUILD-expected.json index ea22d4609b..c160712d3e 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/jool-modules-rpi/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/jool-modules-rpi/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kactivitymanagerd/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kactivitymanagerd/APKBUILD-expected.json index 0539244880..fcbcbbb983 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kactivitymanagerd/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kactivitymanagerd/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-2.0 OR gpl-3.0", + "license_expression_spdx": "GPL-2.0-only OR GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0 OR gpl-3.0", + "spdx_license_expression": "GPL-2.0-only OR GPL-3.0-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0 OR gpl-3.0", - "rule_identifier": "spdx-license-identifier-gpl-2.0 OR gpl-3.0-ebaae67e1dae7287bcefcb6037a4ae01d28150bb", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_or_gpl_3_0-ebaae67e1dae7287bcefcb6037a4ae01d28150bb", "rule_url": null, "matched_text": "gpl-2.0-only OR gpl-3.0-only" } ], - "identifier": "gpl_2_0_or_gpl_3_0-1482a965-2ea3-aada-781b-9d06277c5ddd" + "identifier": "gpl_2_0_or_gpl_3_0-6d4fcb03-6c88-45dd-54d0-62507ba1fc68" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kde-cli-tools/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kde-cli-tools/APKBUILD-expected.json index 50d6ca5bab..fbdd389c36 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kde-cli-tools/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kde-cli-tools/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "(gpl-2.0 OR gpl-3.0) AND gpl-2.0-plus AND gpl-2.0 AND lgpl-2.1", + "license_expression_spdx": "(GPL-2.0-only OR GPL-3.0-only) AND GPL-2.0-or-later AND GPL-2.0-only AND LGPL-2.1-only", "matches": [ { - "score": 100.0, + "license_expression": "(gpl-2.0 OR gpl-3.0) AND gpl-2.0-plus AND gpl-2.0 AND lgpl-2.1", + "spdx_license_expression": "(GPL-2.0-only OR GPL-3.0-only) AND GPL-2.0-or-later AND GPL-2.0-only AND LGPL-2.1-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 25, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "(gpl-2.0 OR gpl-3.0) AND gpl-2.0-plus AND gpl-2.0 AND lgpl-2.1", - "rule_identifier": "spdx-license-identifier-(gpl-2.0 OR gpl-3.0) AND gpl-2.0-plus AND gpl-2.0 AND lgpl-2.1-807060997a907edbf6fb1afce31562a9d6562969", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_or_gpl_3_0__and_gpl_2_0_plus_and_gpl_2_0_and_lgpl_2_1-807060997a907edbf6fb1afce31562a9d6562969", "rule_url": null, "matched_text": "(gpl-2.0-only OR gpl-3.0-only) AND gpl-2.0-or-later AND gpl-2.0-only AND lgpl-2.1-only" } ], - "identifier": "gpl_2_0_or_gpl_3_0__and_gpl_2_0_plus_and_gpl_2_0_and_lgpl_2_1-1b4da3d8-041f-dfd5-e626-4c55180ea9ae" + "identifier": "gpl_2_0_or_gpl_3_0__and_gpl_2_0_plus_and_gpl_2_0_and_lgpl_2_1-8f048462-559a-272b-6df3-4f10e08d651d" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kde-gtk-config/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kde-gtk-config/APKBUILD-expected.json index 3b692857ee..4d99fab15b 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kde-gtk-config/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kde-gtk-config/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "(gpl-2.0 AND lgpl-2.1) OR lgpl-3.0", + "license_expression_spdx": "(GPL-2.0-only AND LGPL-2.1-only) OR LGPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "(gpl-2.0 AND lgpl-2.1) OR lgpl-3.0", + "spdx_license_expression": "(GPL-2.0-only AND LGPL-2.1-only) OR LGPL-3.0-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 13, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "(gpl-2.0 AND lgpl-2.1) OR lgpl-3.0", - "rule_identifier": "spdx-license-identifier-(gpl-2.0 AND lgpl-2.1) OR lgpl-3.0-877e4ca7bc57bbc791f042ee281cee48814e200c", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_and_lgpl_2_1__or_lgpl_3_0-877e4ca7bc57bbc791f042ee281cee48814e200c", "rule_url": null, "matched_text": "(gpl-2.0 AND lgpl-2.1-only) OR lgpl-3.0-only" } ], - "identifier": "gpl_2_0_and_lgpl_2_1__or_lgpl_3_0-dc9b447b-c24a-868f-c209-8afffba654c3" + "identifier": "gpl_2_0_and_lgpl_2_1__or_lgpl_3_0-c476f3e0-7488-11d9-4522-067de44d8e72" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kdecoration/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kdecoration/APKBUILD-expected.json index c9ffecb7ef..afaa90fd6f 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kdecoration/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kdecoration/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "lgpl-2.1 OR lgpl-3.0", + "license_expression_spdx": "LGPL-2.1-only OR LGPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1 OR lgpl-3.0", + "spdx_license_expression": "LGPL-2.1-only OR LGPL-3.0-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "lgpl-2.1 OR lgpl-3.0", - "rule_identifier": "spdx-license-identifier-lgpl-2.1 OR lgpl-3.0-e4927f7ed1ca2211b75c4c4b498140cdc67e340b", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-lgpl_2_1_or_lgpl_3_0-e4927f7ed1ca2211b75c4c4b498140cdc67e340b", "rule_url": null, "matched_text": "lgpl-2.1-only OR lgpl-3.0-only" } ], - "identifier": "lgpl_2_1_or_lgpl_3_0-be7ae560-9294-0599-bd4f-1ab529d49760" + "identifier": "lgpl_2_1_or_lgpl_3_0-ace3add4-15cc-ddf5-70c6-3c6914842c58" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kdeplasma-addons/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kdeplasma-addons/APKBUILD-expected.json index faf28cdc8e..ff5e4b0005 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kdeplasma-addons/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kdeplasma-addons/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "lgpl-2.0 AND gpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-only AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0 AND gpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-only AND GPL-2.0-or-later", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 10, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "lgpl-2.0 AND gpl-2.0-plus", - "rule_identifier": "spdx-license-identifier-lgpl-2.0 AND gpl-2.0-plus-c8002ee7804f7830bc06d8d26df9e3e5d861c339", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-lgpl_2_0_and_gpl_2_0_plus-c8002ee7804f7830bc06d8d26df9e3e5d861c339", "rule_url": null, "matched_text": "lgpl-2.0-only AND gpl-2.0-or-later" } ], - "identifier": "lgpl_2_0_and_gpl_2_0_plus-e38cba7a-b5c9-19df-2db1-0119bcff551a" + "identifier": "lgpl_2_0_and_gpl_2_0_plus-39507fcb-cb9a-ad5a-76ca-445a5576ff2c" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kgamma5/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kgamma5/APKBUILD-expected.json index 4cbdda12c4..1c4bb9ab5d 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kgamma5/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kgamma5/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/khotkeys/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/khotkeys/APKBUILD-expected.json index ff9454f7fd..1ab837d84c 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/khotkeys/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/khotkeys/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-2.0 AND lgpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-only AND LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0 AND lgpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-only AND LGPL-2.0-or-later", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 10, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0 AND lgpl-2.0-plus", - "rule_identifier": "spdx-license-identifier-gpl-2.0 AND lgpl-2.0-plus-ec90969a128367759b81f6978fe09ff5a121b9c9", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_and_lgpl_2_0_plus-ec90969a128367759b81f6978fe09ff5a121b9c9", "rule_url": null, "matched_text": "gpl-2.0-only AND lgpl-2.0-or-later" } ], - "identifier": "gpl_2_0_and_lgpl_2_0_plus-bc15a6b5-1584-4cd0-9210-2b3f06c3ef25" + "identifier": "gpl_2_0_and_lgpl_2_0_plus-3ccfcd9f-445c-fa6f-b608-1d420525a101" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kinfocenter/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kinfocenter/APKBUILD-expected.json index da8d6c1597..511b70e22b 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kinfocenter/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kinfocenter/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "(gpl-2.0 OR gpl-3.0) AND (lgpl-2.1 OR lgpl-3.0)", + "license_expression_spdx": "(GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only OR LGPL-3.0-only)", "matches": [ { - "score": 100.0, + "license_expression": "(gpl-2.0 OR gpl-3.0) AND (lgpl-2.1 OR lgpl-3.0)", + "spdx_license_expression": "(GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only OR LGPL-3.0-only)", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 19, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "(gpl-2.0 OR gpl-3.0) AND (lgpl-2.1 OR lgpl-3.0)", - "rule_identifier": "spdx-license-identifier-(gpl-2.0 OR gpl-3.0) AND (lgpl-2.1 OR lgpl-3.0)-9138e20c7248ef0ad3b2f747b9f3cf4e17f3db2c", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_or_gpl_3_0__and__lgpl_2_1_or_lgpl_3_0-9138e20c7248ef0ad3b2f747b9f3cf4e17f3db2c", "rule_url": null, "matched_text": "(gpl-2.0-only OR gpl-3.0-only) AND (lgpl-2.1-only OR lgpl-3.0-only)" } ], - "identifier": "gpl_2_0_or_gpl_3_0__and__lgpl_2_1_or_lgpl_3_0-af7de606-37a5-0f90-eedc-d41437abc947" + "identifier": "gpl_2_0_or_gpl_3_0__and__lgpl_2_1_or_lgpl_3_0-764e4fcf-c931-1f61-60e4-6eacba5db5a1" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kmenuedit/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kmenuedit/APKBUILD-expected.json index af58c32681..7e2454270b 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kmenuedit/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kmenuedit/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kscreen/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kscreen/APKBUILD-expected.json index d0727a6b65..f661be157e 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kscreen/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kscreen/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND lgpl-2.1-plus", + "license_expression_spdx": "GPL-2.0-or-later AND LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus AND lgpl-2.1-plus", + "spdx_license_expression": "GPL-2.0-or-later AND LGPL-2.1-or-later", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0-plus AND lgpl-2.1-plus", - "rule_identifier": "spdx-license-identifier-gpl-2.0-plus AND lgpl-2.1-plus-b7337f560557d7048adf521ddbfda4608795b9a0", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_plus_and_lgpl_2_1_plus-b7337f560557d7048adf521ddbfda4608795b9a0", "rule_url": null, "matched_text": "gpl-2.0-or-later AND lgpl-2.1-or-later" } ], - "identifier": "gpl_2_0_plus_and_lgpl_2_1_plus-4e8606b0-51c5-4a74-8e25-cdd2d1a57b32" + "identifier": "gpl_2_0_plus_and_lgpl_2_1_plus-677d1fb8-7806-aa9e-d8da-efb0aa8f47e7" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kscreenlocker/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kscreenlocker/APKBUILD-expected.json index 9ff2c50e14..2f6e798b29 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kscreenlocker/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kscreenlocker/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0)", + "license_expression_spdx": "GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only)", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0)", + "spdx_license_expression": "GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only)", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 15, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0)", - "rule_identifier": "spdx-license-identifier-gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0)-ce4c78ee41a3e336943864361ed11d000f9d99e9", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0-ce4c78ee41a3e336943864361ed11d000f9d99e9", "rule_url": null, "matched_text": "gpl-2.0-or-later AND (gpl-2.0-only OR gpl-3.0-only)" } ], - "identifier": "gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0-f238bbf0-8b89-61be-9532-1d69152e871f" + "identifier": "gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0-437f902c-95a1-58de-338a-ce87eb16fbcb" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/ksshaskpass/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/ksshaskpass/APKBUILD-expected.json index f149386131..bb9843750c 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/ksshaskpass/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/ksshaskpass/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwallet-pam/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwallet-pam/APKBUILD-expected.json index c42fd0d5b0..a8a6b8eda2 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwallet-pam/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwallet-pam/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", "rule_identifier": "spdx_license_id_lgpl-2.1-or-later_for_lgpl-2.1-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_lgpl-2.1-or-later_for_lgpl-2.1-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwayland-integration/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwayland-integration/APKBUILD-expected.json index d2db07b291..1f69989c25 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwayland-integration/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwayland-integration/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "lgpl-2.1 OR lgpl-3.0", + "license_expression_spdx": "LGPL-2.1-only OR LGPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1 OR lgpl-3.0", + "spdx_license_expression": "LGPL-2.1-only OR LGPL-3.0-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "lgpl-2.1 OR lgpl-3.0", - "rule_identifier": "spdx-license-identifier-lgpl-2.1 OR lgpl-3.0-e4927f7ed1ca2211b75c4c4b498140cdc67e340b", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-lgpl_2_1_or_lgpl_3_0-e4927f7ed1ca2211b75c4c4b498140cdc67e340b", "rule_url": null, "matched_text": "lgpl-2.1-only OR lgpl-3.0-only" } ], - "identifier": "lgpl_2_1_or_lgpl_3_0-be7ae560-9294-0599-bd4f-1ab529d49760" + "identifier": "lgpl_2_1_or_lgpl_3_0-ace3add4-15cc-ddf5-70c6-3c6914842c58" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwayland-server/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwayland-server/APKBUILD-expected.json index be8ff4f3f7..c535bfe0e5 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwayland-server/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwayland-server/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND lgpl-2.1", + "license_expression_spdx": "GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND lgpl-2.1", + "spdx_license_expression": "GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 20, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND lgpl-2.1", - "rule_identifier": "spdx-license-identifier-gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND lgpl-2.1-f6e235567e8c0f3615b6e0cf705ff2198e12b95a", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0__and_lgpl_2_1-f6e235567e8c0f3615b6e0cf705ff2198e12b95a", "rule_url": null, "matched_text": "gpl-2.0-or-later AND (gpl-2.0-only OR gpl-3.0-only) AND lgpl-2.1-only" } ], - "identifier": "gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0__and_lgpl_2_1-63c22468-d089-42e4-0345-fcb447c981c1" + "identifier": "gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0__and_lgpl_2_1-a48280a4-549b-0102-7c40-4c946e73e4b3" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwin/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwin/APKBUILD-expected.json index 7b0cabd77d..cf80f9d2f3 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwin/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwin/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND lgpl-2.1", + "license_expression_spdx": "GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND lgpl-2.1", + "spdx_license_expression": "GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 20, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND lgpl-2.1", - "rule_identifier": "spdx-license-identifier-gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND lgpl-2.1-f6e235567e8c0f3615b6e0cf705ff2198e12b95a", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0__and_lgpl_2_1-f6e235567e8c0f3615b6e0cf705ff2198e12b95a", "rule_url": null, "matched_text": "gpl-2.0-or-later AND (gpl-2.0-only OR gpl-3.0-only) AND lgpl-2.1-only" } ], - "identifier": "gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0__and_lgpl_2_1-63c22468-d089-42e4-0345-fcb447c981c1" + "identifier": "gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0__and_lgpl_2_1-a48280a4-549b-0102-7c40-4c946e73e4b3" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwrited/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwrited/APKBUILD-expected.json index 98d41b9707..66546879e0 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwrited/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/kwrited/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/layer-shell-qt/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/layer-shell-qt/APKBUILD-expected.json index bed64ce118..0d4e95517a 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/layer-shell-qt/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/layer-shell-qt/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0)", + "license_expression_spdx": "GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only)", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0)", + "spdx_license_expression": "GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only)", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 15, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0)", - "rule_identifier": "spdx-license-identifier-gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0)-ce4c78ee41a3e336943864361ed11d000f9d99e9", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0-ce4c78ee41a3e336943864361ed11d000f9d99e9", "rule_url": null, "matched_text": "gpl-2.0-or-later AND (gpl-2.0-only OR gpl-3.0-only)" } ], - "identifier": "gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0-f238bbf0-8b89-61be-9532-1d69152e871f" + "identifier": "gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0-437f902c-95a1-58de-338a-ce87eb16fbcb" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libkscreen/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libkscreen/APKBUILD-expected.json index c995d1956f..35898eb82d 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libkscreen/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libkscreen/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus AND gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0)", + "license_expression_spdx": "LGPL-2.1-or-later AND GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only)", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus AND gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0)", + "spdx_license_expression": "LGPL-2.1-or-later AND GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only)", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 21, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "lgpl-2.1-plus AND gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0)", - "rule_identifier": "spdx-license-identifier-lgpl-2.1-plus AND gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0)-42c579dc301f74170657fd26e8c1f4a629633b3e", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-lgpl_2_1_plus_and_gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0-42c579dc301f74170657fd26e8c1f4a629633b3e", "rule_url": null, "matched_text": "lgpl-2.1-or-later AND gpl-2.0-or-later AND (gpl-2.0-only OR gpl-3.0-only)" } ], - "identifier": "lgpl_2_1_plus_and_gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0-e1d4dc9c-9f75-3ae1-db9f-5af2bf2e9853" + "identifier": "lgpl_2_1_plus_and_gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0-0b9f8884-60ab-ae33-7510-9a9faad53750" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libksysguard/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libksysguard/APKBUILD-expected.json index 55377cd442..f9004df6f9 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libksysguard/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libksysguard/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus AND (gpl-2.0 OR gpl-3.0)", + "license_expression_spdx": "LGPL-2.1-or-later AND (GPL-2.0-only OR GPL-3.0-only)", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus AND (gpl-2.0 OR gpl-3.0)", + "spdx_license_expression": "LGPL-2.1-or-later AND (GPL-2.0-only OR GPL-3.0-only)", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 15, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "lgpl-2.1-plus AND (gpl-2.0 OR gpl-3.0)", - "rule_identifier": "spdx-license-identifier-lgpl-2.1-plus AND (gpl-2.0 OR gpl-3.0)-5576b785bcf8108f0c7a5eb9a15c91087b4a9aad", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-lgpl_2_1_plus_and__gpl_2_0_or_gpl_3_0-5576b785bcf8108f0c7a5eb9a15c91087b4a9aad", "rule_url": null, "matched_text": "lgpl-2.1-or-later AND (gpl-2.0-only OR gpl-3.0-only)" } ], - "identifier": "lgpl_2_1_plus_and__gpl_2_0_or_gpl_3_0-28f4d4fc-e13e-e4a3-8805-38847c982bf7" + "identifier": "lgpl_2_1_plus_and__gpl_2_0_or_gpl_3_0-73704154-ee23-b1b4-cd7b-f9d0cb2defa7" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libreoffice/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libreoffice/APKBUILD-expected.json index 8754acd595..11de8288d9 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libreoffice/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/libreoffice/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", "rule_identifier": "spdx_license_id_mpl-2.0_for_mpl-2.0.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_mpl-2.0_for_mpl-2.0.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/milou/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/milou/APKBUILD-expected.json index 86b3166228..6c37d66d10 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/milou/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/milou/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND (lgpl-2.1 OR lgpl-3.0)", + "license_expression_spdx": "GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only OR LGPL-3.0-only)", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND (lgpl-2.1 OR lgpl-3.0)", + "spdx_license_expression": "GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only OR LGPL-3.0-only)", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 25, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND (lgpl-2.1 OR lgpl-3.0)", - "rule_identifier": "spdx-license-identifier-gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND (lgpl-2.1 OR lgpl-3.0)-f2624eb417fc2a933301bad7d7d05a012dd774a8", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0__and__lgpl_2_1_or_lgpl_3_0-f2624eb417fc2a933301bad7d7d05a012dd774a8", "rule_url": null, "matched_text": "gpl-2.0-or-later AND (gpl-2.0-only OR gpl-3.0-only) AND (lgpl-2.1-only OR lgpl-3.0-only)" } ], - "identifier": "gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0__and__lgpl_2_1_or_lgpl_3_0-345ce69e-75f5-e574-5baf-b963fb163581" + "identifier": "gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0__and__lgpl_2_1_or_lgpl_3_0-3f1e2915-87a3-5fe0-b43e-f216cae5570b" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/mpd/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/mpd/APKBUILD-expected.json index 0dfc47e6a1..6a91488fc1 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/mpd/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/mpd/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/oxygen/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/oxygen/APKBUILD-expected.json index 62b0dfd4af..5538c00a63 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/oxygen/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/oxygen/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", "rule_identifier": "spdx_license_id_lgpl-2.1-or-later_for_lgpl-2.1-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_lgpl-2.1-or-later_for_lgpl-2.1-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/parole/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/parole/APKBUILD-expected.json index 77a9df4f4e..dabb9faead 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/parole/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/parole/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-browser-integration/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-browser-integration/APKBUILD-expected.json index a9bb5237af..36940b793b 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-browser-integration/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-browser-integration/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", "rule_identifier": "spdx_license_id_gpl-3.0-or-later_for_gpl-3.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-3.0-or-later_for_gpl-3.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-desktop/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-desktop/APKBUILD-expected.json index 88126f5824..d65e8b9bcb 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-desktop/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-desktop/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-2.0 AND lgpl-2.1", + "license_expression_spdx": "GPL-2.0-only AND LGPL-2.1-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0 AND lgpl-2.1", + "spdx_license_expression": "GPL-2.0-only AND LGPL-2.1-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0 AND lgpl-2.1", - "rule_identifier": "spdx-license-identifier-gpl-2.0 AND lgpl-2.1-89e25548a98f2cc78ea3207284de00386e9cca56", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_and_lgpl_2_1-89e25548a98f2cc78ea3207284de00386e9cca56", "rule_url": null, "matched_text": "gpl-2.0-only AND lgpl-2.1-only" } ], - "identifier": "gpl_2_0_and_lgpl_2_1-49d5a49e-a60f-781c-8d71-fea7dd168ff2" + "identifier": "gpl_2_0_and_lgpl_2_1-7ffb228e-a2fa-1b2d-5cf6-21408d94633b" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-disks/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-disks/APKBUILD-expected.json index 9573b22120..f97f47e514 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-disks/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-disks/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-firewall/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-firewall/APKBUILD-expected.json index 102af06393..bed393ad7e 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-firewall/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-firewall/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-integration/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-integration/APKBUILD-expected.json index 1022b4741a..b8599062ad 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-integration/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-integration/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "(lgpl-2.1 OR lgpl-3.0) AND lgpl-2.1 AND (lgpl-2.1 WITH qt-lgpl-exception-1.1 OR gpl-3.0 WITH qt-lgpl-exception-1.1)", + "license_expression_spdx": "(LGPL-2.1-only OR LGPL-3.0-only) AND LGPL-2.1-only AND (LGPL-2.1-only WITH Qt-LGPL-exception-1.1 OR GPL-3.0-only WITH Qt-LGPL-exception-1.1)", "matches": [ { - "score": 100.0, + "license_expression": "(lgpl-2.1 OR lgpl-3.0) AND lgpl-2.1 AND (lgpl-2.1 WITH qt-lgpl-exception-1.1 OR gpl-3.0 WITH qt-lgpl-exception-1.1)", + "spdx_license_expression": "(LGPL-2.1-only OR LGPL-3.0-only) AND LGPL-2.1-only AND (LGPL-2.1-only WITH Qt-LGPL-exception-1.1 OR GPL-3.0-only WITH Qt-LGPL-exception-1.1)", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 36, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "(lgpl-2.1 OR lgpl-3.0) AND lgpl-2.1 AND (lgpl-2.1 WITH qt-lgpl-exception-1.1 OR gpl-3.0 WITH qt-lgpl-exception-1.1)", - "rule_identifier": "spdx-license-identifier-(lgpl-2.1 OR lgpl-3.0) AND lgpl-2.1 AND (lgpl-2.1 WITH qt-lgpl-exception-1.1 OR gpl-3.0 WITH qt-lgpl-exception-1.1)-3017fe0de3ce4010ecfd72d730a3209c094143fb", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-lgpl_2_1_or_lgpl_3_0__and_lgpl_2_1_and__lgpl_2_1_with_qt_lgpl_exception_1_1_or_gpl_3_0_with_qt_lgpl_exception_1_1-3017fe0de3ce4010ecfd72d730a3209c094143fb", "rule_url": null, "matched_text": "(lgpl-2.1-only OR lgpl-3.0-only) AND lgpl-2.1-only AND (lgpl-2.1-only WITH nokia-qt-exception-1.1 OR gpl-3.0-only WITH nokia-qt-exception-1.1)" } ], - "identifier": "lgpl_2_1_or_lgpl_3_0__and_lgpl_2_1_and__lgpl_2_1_with_qt_lgpl_exception_1_1_or_gpl_3_0_with_qt_lgpl_exception_1_1-9e166793-0625-fd57-517a-fe7395ccb817" + "identifier": "lgpl_2_1_or_lgpl_3_0__and_lgpl_2_1_and__lgpl_2_1_with_qt_lgpl_exception_1_1_or_gpl_3_0_with_qt_lgpl_exception_1_1-ca3a8423-40d6-60f4-21b7-ca3034f24a3e" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-nano/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-nano/APKBUILD-expected.json index a8f54ff15d..b714c15514 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-nano/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-nano/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND lgpl-2.1-plus", + "license_expression_spdx": "GPL-2.0-or-later AND LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus AND lgpl-2.1-plus", + "spdx_license_expression": "GPL-2.0-or-later AND LGPL-2.1-or-later", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0-plus AND lgpl-2.1-plus", - "rule_identifier": "spdx-license-identifier-gpl-2.0-plus AND lgpl-2.1-plus-b7337f560557d7048adf521ddbfda4608795b9a0", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_plus_and_lgpl_2_1_plus-b7337f560557d7048adf521ddbfda4608795b9a0", "rule_url": null, "matched_text": "gpl-2.0-or-later AND lgpl-2.1-or-later" } ], - "identifier": "gpl_2_0_plus_and_lgpl_2_1_plus-4e8606b0-51c5-4a74-8e25-cdd2d1a57b32" + "identifier": "gpl_2_0_plus_and_lgpl_2_1_plus-677d1fb8-7806-aa9e-d8da-efb0aa8f47e7" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-nm/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-nm/APKBUILD-expected.json index 42e955b399..ef7d5de792 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-nm/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-nm/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "(lgpl-2.1 OR lgpl-3.0) AND lgpl-2.0-plus", + "license_expression_spdx": "(LGPL-2.1-only OR LGPL-3.0-only) AND LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "(lgpl-2.1 OR lgpl-3.0) AND lgpl-2.0-plus", + "spdx_license_expression": "(LGPL-2.1-only OR LGPL-3.0-only) AND LGPL-2.0-or-later", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 15, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "(lgpl-2.1 OR lgpl-3.0) AND lgpl-2.0-plus", - "rule_identifier": "spdx-license-identifier-(lgpl-2.1 OR lgpl-3.0) AND lgpl-2.0-plus-7dea9e47d5bf4a2a09cf2f861f69abe368ccb3f4", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-lgpl_2_1_or_lgpl_3_0__and_lgpl_2_0_plus-7dea9e47d5bf4a2a09cf2f861f69abe368ccb3f4", "rule_url": null, "matched_text": "(lgpl-2.1-only OR lgpl-3.0-only) AND lgpl-2.0-or-later" } ], - "identifier": "lgpl_2_1_or_lgpl_3_0__and_lgpl_2_0_plus-be098681-dd6f-4c90-2a26-f36bc70bfc04" + "identifier": "lgpl_2_1_or_lgpl_3_0__and_lgpl_2_0_plus-efebb3d9-03a6-6334-4a4a-1be7140fbe92" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-pa/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-pa/APKBUILD-expected.json index 880df61f27..28560628d4 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-pa/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-pa/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "lgpl-2.1 OR (lgpl-3.0 AND gpl-2.0)", + "license_expression_spdx": "LGPL-2.1-only OR (LGPL-3.0-only AND GPL-2.0-only)", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1 OR (lgpl-3.0 AND gpl-2.0)", + "spdx_license_expression": "LGPL-2.1-only OR (LGPL-3.0-only AND GPL-2.0-only)", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 14, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "lgpl-2.1 OR (lgpl-3.0 AND gpl-2.0)", - "rule_identifier": "spdx-license-identifier-lgpl-2.1 OR (lgpl-3.0 AND gpl-2.0)-534186cd80fee338c6272bb9dda85611148c66e8", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-lgpl_2_1_or__lgpl_3_0_and_gpl_2_0-534186cd80fee338c6272bb9dda85611148c66e8", "rule_url": null, "matched_text": "lgpl-2.1-only OR (lgpl-3.0-only AND gpl-2.0-only)" } ], - "identifier": "lgpl_2_1_or__lgpl_3_0_and_gpl_2_0-49eb4b12-74d5-c6c5-f58a-ba256adffb34" + "identifier": "lgpl_2_1_or__lgpl_3_0_and_gpl_2_0-739c5c43-c8d1-16b6-0a84-9fbd439e1766" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-phone-components/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-phone-components/APKBUILD-expected.json index 674f3a2aba..62706cfe12 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-phone-components/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-phone-components/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND lgpl-2.1-plus", + "license_expression_spdx": "GPL-2.0-or-later AND LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus AND lgpl-2.1-plus", + "spdx_license_expression": "GPL-2.0-or-later AND LGPL-2.1-or-later", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0-plus AND lgpl-2.1-plus", - "rule_identifier": "spdx-license-identifier-gpl-2.0-plus AND lgpl-2.1-plus-b7337f560557d7048adf521ddbfda4608795b9a0", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_plus_and_lgpl_2_1_plus-b7337f560557d7048adf521ddbfda4608795b9a0", "rule_url": null, "matched_text": "gpl-2.0-or-later AND lgpl-2.1-or-later" } ], - "identifier": "gpl_2_0_plus_and_lgpl_2_1_plus-4e8606b0-51c5-4a74-8e25-cdd2d1a57b32" + "identifier": "gpl_2_0_plus_and_lgpl_2_1_plus-677d1fb8-7806-aa9e-d8da-efb0aa8f47e7" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-sdk/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-sdk/APKBUILD-expected.json index e2bb5f0ac3..9edab3a014 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-sdk/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-sdk/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-systemmonitor/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-systemmonitor/APKBUILD-expected.json index 4a43293288..3f931b950f 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-systemmonitor/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-systemmonitor/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "kde-accepted-gpl AND kde-accepted-lgpl AND cc0-1.0", + "license_expression_spdx": "LicenseRef-scancode-kde-accepted-gpl AND LicenseRef-scancode-kde-accepted-lgpl AND CC0-1.0", "matches": [ { - "score": 100.0, + "license_expression": "kde-accepted-gpl AND kde-accepted-lgpl AND cc0-1.0", + "spdx_license_expression": "LicenseRef-scancode-kde-accepted-gpl AND LicenseRef-scancode-kde-accepted-lgpl AND CC0-1.0", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 13, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "kde-accepted-gpl AND kde-accepted-lgpl AND cc0-1.0", - "rule_identifier": "spdx-license-identifier-kde-accepted-gpl AND kde-accepted-lgpl AND cc0-1.0-6a9624535224bcf1a0f54065c5d93440ca135f98", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-kde_accepted_gpl_and_kde_accepted_lgpl_and_cc0_1_0-6a9624535224bcf1a0f54065c5d93440ca135f98", "rule_url": null, "matched_text": "licenseref-kde-accepted-gpl AND licenseref-kde-accepted-lgpl AND cc0-1.0" } ], - "identifier": "kde_accepted_gpl_and_kde_accepted_lgpl_and_cc0_1_0-9bee625b-21fc-09c5-d92b-5f0aeaba0d98" + "identifier": "kde_accepted_gpl_and_kde_accepted_lgpl_and_cc0_1_0-0b51d18e-e172-95d7-85c5-dad9ef971d11" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-thunderbolt/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-thunderbolt/APKBUILD-expected.json index 7b07202d21..8a7ad53b59 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-thunderbolt/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-thunderbolt/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-2.0 OR gpl-3.0", + "license_expression_spdx": "GPL-2.0-only OR GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0 OR gpl-3.0", + "spdx_license_expression": "GPL-2.0-only OR GPL-3.0-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0 OR gpl-3.0", - "rule_identifier": "spdx-license-identifier-gpl-2.0 OR gpl-3.0-ebaae67e1dae7287bcefcb6037a4ae01d28150bb", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_or_gpl_3_0-ebaae67e1dae7287bcefcb6037a4ae01d28150bb", "rule_url": null, "matched_text": "gpl-2.0-only OR gpl-3.0-only" } ], - "identifier": "gpl_2_0_or_gpl_3_0-1482a965-2ea3-aada-781b-9d06277c5ddd" + "identifier": "gpl_2_0_or_gpl_3_0-6d4fcb03-6c88-45dd-54d0-62507ba1fc68" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-vault/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-vault/APKBUILD-expected.json index 69cb337510..cce09c3ff5 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-vault/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-vault/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "(gpl-2.0 OR gpl-3.0) AND (lgpl-2.1 AND lgpl-3.0)", + "license_expression_spdx": "(GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only AND LGPL-3.0-only)", "matches": [ { - "score": 100.0, + "license_expression": "(gpl-2.0 OR gpl-3.0) AND (lgpl-2.1 AND lgpl-3.0)", + "spdx_license_expression": "(GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only AND LGPL-3.0-only)", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 19, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "(gpl-2.0 OR gpl-3.0) AND (lgpl-2.1 AND lgpl-3.0)", - "rule_identifier": "spdx-license-identifier-(gpl-2.0 OR gpl-3.0) AND (lgpl-2.1 AND lgpl-3.0)-2cb11bcdf63224f750de9a8729634e1605256e50", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_or_gpl_3_0__and__lgpl_2_1_and_lgpl_3_0-2cb11bcdf63224f750de9a8729634e1605256e50", "rule_url": null, "matched_text": "(gpl-2.0-only OR gpl-3.0-only) AND (lgpl-2.1-only AND lgpl-3.0-only)" } ], - "identifier": "gpl_2_0_or_gpl_3_0__and__lgpl_2_1_and_lgpl_3_0-70c43909-f750-eafa-7ac9-62b9d78846af" + "identifier": "gpl_2_0_or_gpl_3_0__and__lgpl_2_1_and_lgpl_3_0-d3388c35-b03c-abe5-a82a-6dce740bbd2f" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-workspace-wallpapers/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-workspace-wallpapers/APKBUILD-expected.json index 98f1a7ff3a..07affdea67 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-workspace-wallpapers/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-workspace-wallpapers/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-workspace/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-workspace/APKBUILD-expected.json index f090ac99ef..7938b813a9 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-workspace/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plasma-workspace/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "(gpl-2.0 OR gpl-3.0) AND lgpl-2.1-plus AND gpl-2.0-plus AND mit AND lgpl-2.1 AND lgpl-2.0-plus AND (lgpl-2.1 OR lgpl-3.0) AND lgpl-2.0", + "license_expression_spdx": "(GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-or-later AND GPL-2.0-or-later AND MIT AND LGPL-2.1-only AND LGPL-2.0-or-later AND (LGPL-2.1-only OR LGPL-3.0-only) AND LGPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "(gpl-2.0 OR gpl-3.0) AND lgpl-2.1-plus AND gpl-2.0-plus AND mit AND lgpl-2.1 AND lgpl-2.0-plus AND (lgpl-2.1 OR lgpl-3.0) AND lgpl-2.0", + "spdx_license_expression": "(GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-or-later AND GPL-2.0-or-later AND MIT AND LGPL-2.1-only AND LGPL-2.0-or-later AND (LGPL-2.1-only OR LGPL-3.0-only) AND LGPL-2.0-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 49, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "(gpl-2.0 OR gpl-3.0) AND lgpl-2.1-plus AND gpl-2.0-plus AND mit AND lgpl-2.1 AND lgpl-2.0-plus AND (lgpl-2.1 OR lgpl-3.0) AND lgpl-2.0", - "rule_identifier": "spdx-license-identifier-(gpl-2.0 OR gpl-3.0) AND lgpl-2.1-plus AND gpl-2.0-plus AND mit AND lgpl-2.1 AND lgpl-2.0-plus AND (lgpl-2.1 OR lgpl-3.0) AND lgpl-2.0-03672b2a90402ac498ea76c8d3bb32c9fc13e415", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_or_gpl_3_0__and_lgpl_2_1_plus_and_gpl_2_0_plus_and_mit_and_lgpl_2_1_and_lgpl_2_0_plus_and__lgpl_2_1_or_lgpl_3_0__and_lgpl_2_0-03672b2a90402ac498ea76c8d3bb32c9fc13e415", "rule_url": null, "matched_text": "(gpl-2.0-only OR gpl-3.0-only) AND lgpl-2.1-or-later AND gpl-2.0-or-later AND mit AND lgpl-2.1-only AND lgpl-2.0-or-later AND (lgpl-2.1-only OR lgpl-3.0-only) AND lgpl-2.0-only" } ], - "identifier": "gpl_2_0_or_gpl_3_0__and_lgpl_2_1_plus_and_gpl_2_0_plus_and_mit_and_lgpl_2_1_and_lgpl_2_0_plus_and__lgpl_2_1_or_lgpl_3_0__and_lgpl_2_0-71072563-b3fe-cfc8-ebdf-b09319ea9248" + "identifier": "gpl_2_0_or_gpl_3_0__and_lgpl_2_1_plus_and_gpl_2_0_plus_and_mit_and_lgpl_2_1_and_lgpl_2_0_plus_and__lgpl_2_1_or_lgpl_3_0__and_lgpl_2_0-2d4d0246-85b0-1c37-0203-dbdd6c824816" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plymouth-kcm/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plymouth-kcm/APKBUILD-expected.json index abe5e9cc10..e7c703db62 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plymouth-kcm/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/plymouth-kcm/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/polkit-kde-agent-1/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/polkit-kde-agent-1/APKBUILD-expected.json index 89fa3f899b..61cefd7c6a 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/polkit-kde-agent-1/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/polkit-kde-agent-1/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/powerdevil/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/powerdevil/APKBUILD-expected.json index 4ee53aadb8..e111ee9240 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/powerdevil/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/powerdevil/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND lgpl-2.0-plus AND (lgpl-2.1 OR lgpl-3.0)", + "license_expression_spdx": "GPL-2.0-or-later AND LGPL-2.0-or-later AND (LGPL-2.1-only OR LGPL-3.0-only)", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus AND lgpl-2.0-plus AND (lgpl-2.1 OR lgpl-3.0)", + "spdx_license_expression": "GPL-2.0-or-later AND LGPL-2.0-or-later AND (LGPL-2.1-only OR LGPL-3.0-only)", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 21, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0-plus AND lgpl-2.0-plus AND (lgpl-2.1 OR lgpl-3.0)", - "rule_identifier": "spdx-license-identifier-gpl-2.0-plus AND lgpl-2.0-plus AND (lgpl-2.1 OR lgpl-3.0)-b7eafc9b966222982218b5cba903dd77b43f0540", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_plus_and_lgpl_2_0_plus_and__lgpl_2_1_or_lgpl_3_0-b7eafc9b966222982218b5cba903dd77b43f0540", "rule_url": null, "matched_text": "gpl-2.0-or-later AND lgpl-2.0-or-later AND (lgpl-2.1-only OR lgpl-3.0-only)" } ], - "identifier": "gpl_2_0_plus_and_lgpl_2_0_plus_and__lgpl_2_1_or_lgpl_3_0-83adb4fe-159a-e6dc-3d99-9ae9f8f42d4c" + "identifier": "gpl_2_0_plus_and_lgpl_2_0_plus_and__lgpl_2_1_or_lgpl_3_0-af062053-aab4-2eb5-fdbd-d9bc8654417f" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/qqc2-breeze-style/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/qqc2-breeze-style/APKBUILD-expected.json index e2078dab9f..a49177eb6a 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/qqc2-breeze-style/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/qqc2-breeze-style/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "kde-accepted-lgpl AND kfqf-accepted-gpl", + "license_expression_spdx": "LicenseRef-scancode-kde-accepted-lgpl AND LicenseRef-scancode-kfqf-accepted-gpl", "matches": [ { - "score": 100.0, + "license_expression": "kde-accepted-lgpl AND kfqf-accepted-gpl", + "spdx_license_expression": "LicenseRef-scancode-kde-accepted-lgpl AND LicenseRef-scancode-kfqf-accepted-gpl", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "kde-accepted-lgpl AND kfqf-accepted-gpl", - "rule_identifier": "spdx-license-identifier-kde-accepted-lgpl AND kfqf-accepted-gpl-d97defd08863e41010f561c03741f2df5e14dc33", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-kde_accepted_lgpl_and_kfqf_accepted_gpl-d97defd08863e41010f561c03741f2df5e14dc33", "rule_url": null, "matched_text": "licenseref-kde-accepted-lgpl AND licenseref-kfqf-accepted-gpl" } ], - "identifier": "kde_accepted_lgpl_and_kfqf_accepted_gpl-56df79dc-2a6f-aa15-1384-b9638a21737f" + "identifier": "kde_accepted_lgpl_and_kfqf_accepted_gpl-1a159184-2296-4a31-863d-e99589aa56d6" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/qt6-qtbase/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/qt6-qtbase/APKBUILD-expected.json index a1f31e5b6c..891f84336b 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/qt6-qtbase/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/qt6-qtbase/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "lgpl-2.1 AND lgpl-3.0 AND gpl-3.0 AND qt-gpl-exception-1.0", + "license_expression_spdx": "LGPL-2.1-only AND LGPL-3.0-only AND GPL-3.0-only AND Qt-GPL-exception-1.0", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1 AND lgpl-3.0 AND gpl-3.0 AND qt-gpl-exception-1.0", + "spdx_license_expression": "LGPL-2.1-only AND LGPL-3.0-only AND GPL-3.0-only AND Qt-GPL-exception-1.0", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 20, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "lgpl-2.1 AND lgpl-3.0 AND gpl-3.0 AND qt-gpl-exception-1.0", - "rule_identifier": "spdx-license-identifier-lgpl-2.1 AND lgpl-3.0 AND gpl-3.0 AND qt-gpl-exception-1.0-b369424d9cea52ba4d1953c9bcf424cc48586aee", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-lgpl_2_1_and_lgpl_3_0_and_gpl_3_0_and_qt_gpl_exception_1_0-b369424d9cea52ba4d1953c9bcf424cc48586aee", "rule_url": null, "matched_text": "lgpl-2.1-only AND lgpl-3.0-only AND gpl-3.0-only AND qt-gpl-exception-1.0" } ], - "identifier": "lgpl_2_1_and_lgpl_3_0_and_gpl_3_0_and_qt_gpl_exception_1_0-dea14820-32f9-5c3a-4d00-8f36426fac8e" + "identifier": "lgpl_2_1_and_lgpl_3_0_and_gpl_3_0_and_qt_gpl_exception_1_0-f71c2169-023a-ec07-d25a-1a0a6ae6fc4f" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/rtpengine-lts/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/rtpengine-lts/APKBUILD-expected.json index c1e298b822..49d35829d0 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/rtpengine-lts/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/rtpengine-lts/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", "rule_identifier": "spdx_license_id_gpl-3.0-only_for_gpl-3.0.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-3.0-only_for_gpl-3.0.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/sddm-kcm/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/sddm-kcm/APKBUILD-expected.json index 5f7cdeb7b5..ef1aa01bb1 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/sddm-kcm/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/sddm-kcm/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND lgpl-2.1-plus AND gpl-2.0", + "license_expression_spdx": "GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-or-later AND GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND lgpl-2.1-plus AND gpl-2.0", + "spdx_license_expression": "GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-or-later AND GPL-2.0-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 26, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND lgpl-2.1-plus AND gpl-2.0", - "rule_identifier": "spdx-license-identifier-gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) AND lgpl-2.1-plus AND gpl-2.0-77bf3be68b89b9db5231f68196e7824e08107db0", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0__and_lgpl_2_1_plus_and_gpl_2_0-77bf3be68b89b9db5231f68196e7824e08107db0", "rule_url": null, "matched_text": "gpl-2.0-or-later AND (gpl-2.0-only OR gpl-3.0-only) AND lgpl-2.1-or-later AND gpl-2.0-only" } ], - "identifier": "gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0__and_lgpl_2_1_plus_and_gpl_2_0-4e62689a-dfcc-b2b8-c454-2173d7f86152" + "identifier": "gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0__and_lgpl_2_1_plus_and_gpl_2_0-c5e6e317-d02f-210c-77df-e35256065657" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/systemsettings/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/systemsettings/APKBUILD-expected.json index e09ca31fc2..79a4dc9a3f 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/systemsettings/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/systemsettings/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/ufw/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/ufw/APKBUILD-expected.json index ba40900d5b..1b950bd84e 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/ufw/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/ufw/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", "rule_identifier": "spdx_license_id_gpl-3.0-or-later_for_gpl-3.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-3.0-or-later_for_gpl-3.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/xdg-desktop-portal-kde/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/xdg-desktop-portal-kde/APKBUILD-expected.json index 046dbd2b0a..572ff7046c 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/xdg-desktop-portal-kde/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/community/xdg-desktop-portal-kde/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", "rule_identifier": "spdx_license_id_lgpl-2.0-or-later_for_lgpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_lgpl-2.0-or-later_for_lgpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/cmake/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/cmake/APKBUILD-expected.json index f1677418d8..f227286628 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/cmake/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/cmake/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_10.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_10.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/kamailio/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/kamailio/APKBUILD-expected.json index 0a4f3ead91..99bc126534 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/kamailio/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/kamailio/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/libburn/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/libburn/APKBUILD-expected.json index 1ea0cb03ca..1e8cf2fc1d 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/libburn/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/libburn/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/linux-lts/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/linux-lts/APKBUILD-expected.json index 8db4e21745..5516e225b6 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/linux-lts/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/linux-lts/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", "rule_identifier": "gpl-2.0_52.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_52.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/linux-rpi/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/linux-rpi/APKBUILD-expected.json index 03e5f9c769..77d6ffd871 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/linux-rpi/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/linux-rpi/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", "rule_identifier": "gpl-2.0_52.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_52.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/lua-unit/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/lua-unit/APKBUILD-expected.json index da4fb74d14..25cc70c855 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/lua-unit/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/lua-unit/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "bsd-simplified", + "license_expression_spdx": "BSD-2-Clause", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-simplified", + "spdx_license_expression": "BSD-2-Clause", "rule_identifier": "spdx_license_id_bsd-2-clause_for_bsd-simplified.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_bsd-2-clause_for_bsd-simplified.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqlite-tcl/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqlite-tcl/APKBUILD-expected.json index 69502daebd..e2fb61ba01 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqlite-tcl/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqlite-tcl/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 100.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "public-domain", - "rule_identifier": "spdx-license-identifier-public-domain-3557a117ec0598b8a9056c438400584fec0415e6", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-public_domain-3557a117ec0598b8a9056c438400584fec0415e6", "rule_url": null, "matched_text": "licenseref-scancode-public-domain" } ], - "identifier": "public_domain-5a0148d7-0124-d104-8168-e464a488f454" + "identifier": "public_domain-d4ddee47-afa0-e133-44e4-f06937fd663d" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqlite/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqlite/APKBUILD-expected.json index d8e0b82c84..a5cbd8ee88 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqlite/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqlite/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 100.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "public-domain", - "rule_identifier": "spdx-license-identifier-public-domain-3557a117ec0598b8a9056c438400584fec0415e6", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-public_domain-3557a117ec0598b8a9056c438400584fec0415e6", "rule_url": null, "matched_text": "licenseref-scancode-public-domain" } ], - "identifier": "public_domain-5a0148d7-0124-d104-8168-e464a488f454" + "identifier": "public_domain-d4ddee47-afa0-e133-44e4-f06937fd663d" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqsh/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqsh/APKBUILD-expected.json index 4371a512bd..1425348a54 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqsh/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sqsh/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", "rule_identifier": "spdx_license_id_gpl-1.0-or-later_for_gpl-1.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-1.0-or-later_for_gpl-1.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sudo/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sudo/APKBUILD-expected.json index 94b0445e2f..311afeb1f2 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sudo/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/sudo/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "unknown-license-reference AND isc", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference AND ISC", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference AND isc", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference AND ISC", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "unknown-license-reference AND isc", - "rule_identifier": "spdx-license-identifier-unknown-license-reference AND isc-931c1a1fdf45228cefb05b09f05449a73fc24287", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-unknown_license_reference_and_isc-931c1a1fdf45228cefb05b09f05449a73fc24287", "rule_url": null, "matched_text": "licenseref-scancode-unknown-license-reference AND isc" } ], - "identifier": "unknown_license_reference_and_isc-237b1876-104e-30cf-c47f-fcf46ac41130" + "identifier": "unknown_license_reference_and_isc-61129f5a-ee34-d370-e8c0-7a9b7c0679db" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/util-linux/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/util-linux/APKBUILD-expected.json index 141ced9369..1f2994a386 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/util-linux/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/main/util-linux/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus AND gpl-2.0-plus AND gpl-2.0 AND lgpl-2.1-plus AND bsd-new AND bsd-original-uc AND public-domain", + "license_expression_spdx": "GPL-3.0-or-later AND GPL-2.0-or-later AND GPL-2.0-only AND LGPL-2.1-or-later AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-scancode-public-domain", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus AND gpl-2.0-plus AND gpl-2.0 AND lgpl-2.1-plus AND bsd-new AND bsd-original-uc AND public-domain", + "spdx_license_expression": "GPL-3.0-or-later AND GPL-2.0-or-later AND GPL-2.0-only AND LGPL-2.1-or-later AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-scancode-public-domain", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 36, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-3.0-plus AND gpl-2.0-plus AND gpl-2.0 AND lgpl-2.1-plus AND bsd-new AND bsd-original-uc AND public-domain", - "rule_identifier": "spdx-license-identifier-gpl-3.0-plus AND gpl-2.0-plus AND gpl-2.0 AND lgpl-2.1-plus AND bsd-new AND bsd-original-uc AND public-domain-4c618cc2365d2d36360f002752b2a7dfb8e338a4", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_3_0_plus_and_gpl_2_0_plus_and_gpl_2_0_and_lgpl_2_1_plus_and_bsd_new_and_bsd_original_uc_and_public_domain-4c618cc2365d2d36360f002752b2a7dfb8e338a4", "rule_url": null, "matched_text": "gpl-3.0-or-later AND gpl-2.0-or-later AND gpl-2.0-only AND lgpl-2.1-or-later AND bsd-3-clause AND bsd-4-clause-uc AND licenseref-scancode-public-domain" } ], - "identifier": "gpl_3_0_plus_and_gpl_2_0_plus_and_gpl_2_0_and_lgpl_2_1_plus_and_bsd_new_and_bsd_original_uc_and_public_domain-bf8f1c95-7f51-85e4-e3ef-f3b4dcaa3167" + "identifier": "gpl_3_0_plus_and_gpl_2_0_plus_and_gpl_2_0_and_lgpl_2_1_plus_and_bsd_new_and_bsd_original_uc_and_public_domain-38707577-6108-2177-785a-5ee2baa61419" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-edge/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-edge/APKBUILD-expected.json index a0ecb540ca..744116bd9b 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-edge/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-edge/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", "rule_identifier": "gpl-2.0_52.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_52.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-elm/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-elm/APKBUILD-expected.json index 12d39e524b..a8b4382de5 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-elm/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-elm/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", "rule_identifier": "gpl-2.0_52.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_52.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-gru/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-gru/APKBUILD-expected.json index c7469238ba..591e7f1d67 100644 --- a/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-gru/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild-problems/alpine14/testing/linux-gru/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", "rule_identifier": "gpl-2.0_52.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_52.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine13/community/abook/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine13/community/abook/APKBUILD-expected.json index fda59a71de..00eb86cdf4 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine13/community/abook/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine13/community/abook/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine13/community/darktable/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine13/community/darktable/APKBUILD-expected.json index 3eda0782b1..966f1077fb 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine13/community/darktable/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine13/community/darktable/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", "rule_identifier": "spdx_license_id_gpl-3.0-or-later_for_gpl-3.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-3.0-or-later_for_gpl-3.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine13/community/haxe/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine13/community/haxe/APKBUILD-expected.json index 2bac565842..0ad3a3a732 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine13/community/haxe/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine13/community/haxe/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus AND mit AND lgpl-2.0-plus", + "license_expression_spdx": "GPL-1.0-or-later AND MIT AND LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus AND mit AND lgpl-2.0-plus", + "spdx_license_expression": "GPL-1.0-or-later AND MIT AND LGPL-2.0-or-later", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 13, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-1.0-plus AND mit AND lgpl-2.0-plus", - "rule_identifier": "spdx-license-identifier-gpl-1.0-plus AND mit AND lgpl-2.0-plus-08bcf9f42fc4cda4bfb36c1191bb03b3121a3b3f", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_1_0_plus_and_mit_and_lgpl_2_0_plus-08bcf9f42fc4cda4bfb36c1191bb03b3121a3b3f", "rule_url": null, "matched_text": "gpl-1.0-or-later AND mit AND lgpl-2.0-or-later" } ], - "identifier": "gpl_1_0_plus_and_mit_and_lgpl_2_0_plus-c7593121-0301-6f77-03fd-e8c92d96e388" + "identifier": "gpl_1_0_plus_and_mit_and_lgpl_2_0_plus-5eae61c6-0606-8a4a-8ef4-045850bbace3" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine13/main/linux-firmware/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine13/main/linux-firmware/APKBUILD-expected.json index afd0ef0d48..9274cb2175 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine13/main/linux-firmware/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine13/main/linux-firmware/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "unknown-license-reference", - "rule_identifier": "spdx-license-identifier-unknown-license-reference-555dc1c4c5d6d483173bdc629017bd81905d82ab", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-unknown_license_reference-555dc1c4c5d6d483173bdc629017bd81905d82ab", "rule_url": null, "matched_text": "licenseref-scancode-unknown-license-reference" } ], - "identifier": "unknown_license_reference-c96a9bc7-af3a-ff3f-fb67-793f7201aab1" + "identifier": "unknown_license_reference-50b9bf54-338e-5bf6-ccb9-ac71fdc12e10" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/2bwm/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/2bwm/APKBUILD-expected.json index e6c2f4b1ae..e4f6a8da66 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/2bwm/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/2bwm/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "isc", + "license_expression_spdx": "ISC", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "isc", + "spdx_license_expression": "ISC", "rule_identifier": "spdx-license-identifier-isc-fd23252ced2c9184cff91208f30a380cf105f995", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/acccheck/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/acccheck/APKBUILD-expected.json index 086952d9a1..062f591a81 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/acccheck/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/acccheck/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", "rule_identifier": "gpl-2.0_52.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_52.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/accerciser/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/accerciser/APKBUILD-expected.json index ffead834c0..f687979808 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/accerciser/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/accerciser/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_10.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_10.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/alpine/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/alpine/APKBUILD-expected.json index c529ac7bc5..34226abf52 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/alpine/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/alpine/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/audacious-plugins/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/audacious-plugins/APKBUILD-expected.json index bc491b90f3..fa3c3842c0 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/audacious-plugins/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/audacious-plugins/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "bsd-simplified AND bsd-new AND isc AND gpl-2.0 AND gpl-2.0-plus AND gpl-3.0 AND gpl-3.0-plus", + "license_expression_spdx": "BSD-2-Clause AND BSD-3-Clause AND ISC AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "bsd-simplified AND bsd-new AND isc AND gpl-2.0 AND gpl-2.0-plus AND gpl-3.0 AND gpl-3.0-plus", + "spdx_license_expression": "BSD-2-Clause AND BSD-3-Clause AND ISC AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND GPL-3.0-or-later", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 31, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "bsd-simplified AND bsd-new AND isc AND gpl-2.0 AND gpl-2.0-plus AND gpl-3.0 AND gpl-3.0-plus", - "rule_identifier": "spdx-license-identifier-bsd-simplified AND bsd-new AND isc AND gpl-2.0 AND gpl-2.0-plus AND gpl-3.0 AND gpl-3.0-plus-64f2ebe21c0b7e185e837ac00b9ccd756d3654c7", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-bsd_simplified_and_bsd_new_and_isc_and_gpl_2_0_and_gpl_2_0_plus_and_gpl_3_0_and_gpl_3_0_plus-64f2ebe21c0b7e185e837ac00b9ccd756d3654c7", "rule_url": null, "matched_text": "bsd-2-clause AND bsd-3-clause AND isc AND gpl-2.0-only AND gpl-2.0-or-later AND gpl-3.0-only AND gpl-3.0-or-later" } ], - "identifier": "bsd_simplified_and_bsd_new_and_isc_and_gpl_2_0_and_gpl_2_0_plus_and_gpl_3_0_and_gpl_3_0_plus-794ab1db-6ec6-97c2-0a9a-527e8ce2af60" + "identifier": "bsd_simplified_and_bsd_new_and_isc_and_gpl_2_0_and_gpl_2_0_plus_and_gpl_3_0_and_gpl_3_0_plus-1c56b883-174b-da11-d6b5-f4ad4d12513e" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/boost-build/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/boost-build/APKBUILD-expected.json index 5eb5ac50c9..15c463be0e 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/boost-build/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/boost-build/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "boost-1.0", + "license_expression_spdx": "BSL-1.0", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "boost-1.0", + "spdx_license_expression": "BSL-1.0", "rule_identifier": "boost-1.0_48.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/boost-1.0_48.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/dircproxy/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/dircproxy/APKBUILD-expected.json index 7664df06c2..d573365c10 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/dircproxy/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/dircproxy/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/faac/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/faac/APKBUILD-expected.json index 94c69d7619..e0bfb283ec 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/faac/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/faac/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", "rule_identifier": "spdx_license_id_gpl-3.0-or-later_for_gpl-3.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-3.0-or-later_for_gpl-3.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/feedbackd-device-themes/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/feedbackd-device-themes/APKBUILD-expected.json index 235e52fef6..4fc0b8ccb7 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/feedbackd-device-themes/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/feedbackd-device-themes/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", "rule_identifier": "spdx_license_id_gpl-3.0-or-later_for_gpl-3.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-3.0-or-later_for_gpl-3.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/gcc6/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/gcc6/APKBUILD-expected.json index e1a6cfedb1..2762ec76ed 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/gcc6/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/gcc6/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus AND lgpl-2.0-plus", + "license_expression_spdx": "GPL-1.0-or-later AND LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus AND lgpl-2.0-plus", + "spdx_license_expression": "GPL-1.0-or-later AND LGPL-2.0-or-later", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-1.0-plus AND lgpl-2.0-plus", - "rule_identifier": "spdx-license-identifier-gpl-1.0-plus AND lgpl-2.0-plus-6ea1d8adc0d312a579c952366c5f2ceea876266b", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_1_0_plus_and_lgpl_2_0_plus-6ea1d8adc0d312a579c952366c5f2ceea876266b", "rule_url": null, "matched_text": "gpl-1.0-or-later AND lgpl-2.0-or-later" } ], - "identifier": "gpl_1_0_plus_and_lgpl_2_0_plus-4881adb3-8c7f-2d77-2d3c-7fda7fbcf5e9" + "identifier": "gpl_1_0_plus_and_lgpl_2_0_plus-6e5bcf7c-52d6-7330-b9f7-3ecd725c737d" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/hunspell-de-de/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/hunspell-de-de/APKBUILD-expected.json index 83e8b6adb8..09dc27c77f 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/hunspell-de-de/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/hunspell-de-de/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", "rule_identifier": "spdx_license_id_gpl-3.0-only_for_gpl-3.0.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-3.0-only_for_gpl-3.0.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/imagemagick/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/imagemagick/APKBUILD-expected.json index 8565b52bdf..c74c161602 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/imagemagick/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/imagemagick/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "imagemagick", + "license_expression_spdx": "ImageMagick", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "imagemagick", + "spdx_license_expression": "ImageMagick", "rule_identifier": "spdx-license-identifier-imagemagick-0dd8f5c123a82d3e8b7c6d577c371911a89076bb", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/imagemagick6/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/imagemagick6/APKBUILD-expected.json index a413659285..bfad352408 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/imagemagick6/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/imagemagick6/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/libluv/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/libluv/APKBUILD-expected.json index 49466cdcd5..57b27ff939 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/libluv/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/libluv/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/nymphcast-client/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/nymphcast-client/APKBUILD-expected.json index ae7bf25e15..32012d0ef5 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/nymphcast-client/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/nymphcast-client/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_10.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_10.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/openjdk10/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/openjdk10/APKBUILD-expected.json index e867a883e8..6a091b1c7c 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/openjdk10/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/openjdk10/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "classpath-exception-2.0", + "license_expression_spdx": "Classpath-exception-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "classpath-exception-2.0", + "spdx_license_expression": "Classpath-exception-2.0", "rule_identifier": "classpath-exception-2.0_6.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/classpath-exception-2.0_6.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/py3-cairosvg/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/py3-cairosvg/APKBUILD-expected.json index 931f3c5387..b36cef29ea 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/py3-cairosvg/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/py3-cairosvg/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "lgpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", "rule_identifier": "spdx_license_id_lgpl-3.0-or-later_for_lgpl-3.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_lgpl-3.0-or-later_for_lgpl-3.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/qt6-qt3d/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/qt6-qt3d/APKBUILD-expected.json index d409de6f26..d231e21846 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/qt6-qt3d/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/qt6-qt3d/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "lgpl-2.1 AND lgpl-3.0 AND gpl-3.0 AND qt-gpl-exception-1.0", + "license_expression_spdx": "LGPL-2.1-only AND LGPL-3.0-only AND GPL-3.0-only AND Qt-GPL-exception-1.0", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1 AND lgpl-3.0 AND gpl-3.0 AND qt-gpl-exception-1.0", + "spdx_license_expression": "LGPL-2.1-only AND LGPL-3.0-only AND GPL-3.0-only AND Qt-GPL-exception-1.0", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 20, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "lgpl-2.1 AND lgpl-3.0 AND gpl-3.0 AND qt-gpl-exception-1.0", - "rule_identifier": "spdx-license-identifier-lgpl-2.1 AND lgpl-3.0 AND gpl-3.0 AND qt-gpl-exception-1.0-b369424d9cea52ba4d1953c9bcf424cc48586aee", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-lgpl_2_1_and_lgpl_3_0_and_gpl_3_0_and_qt_gpl_exception_1_0-b369424d9cea52ba4d1953c9bcf424cc48586aee", "rule_url": null, "matched_text": "lgpl-2.1-only AND lgpl-3.0-only AND gpl-3.0-only AND qt-gpl-exception-1.0" } ], - "identifier": "lgpl_2_1_and_lgpl_3_0_and_gpl_3_0_and_qt_gpl_exception_1_0-dea14820-32f9-5c3a-4d00-8f36426fac8e" + "identifier": "lgpl_2_1_and_lgpl_3_0_and_gpl_3_0_and_qt_gpl_exception_1_0-f71c2169-023a-ec07-d25a-1a0a6ae6fc4f" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/ruby-rspec/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/ruby-rspec/APKBUILD-expected.json index f4746d6363..2957134f73 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/ruby-rspec/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/ruby-rspec/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/unicode-character-database/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/unicode-character-database/APKBUILD-expected.json index ed6cc2a6d8..685da43b90 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/unicode-character-database/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/unicode-character-database/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "unicode-dfs-2015", + "license_expression_spdx": "Unicode-DFS-2015", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "unicode-dfs-2015", + "spdx_license_expression": "Unicode-DFS-2015", "rule_identifier": "spdx_license_id_unicode-dfs-2015_for_unicode-dfs-2015.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_unicode-dfs-2015_for_unicode-dfs-2015.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/vtk/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/vtk/APKBUILD-expected.json index a6e4b4fe76..5b847bdc16 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/vtk/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/vtk/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_10.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_10.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/zsnes/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/zsnes/APKBUILD-expected.json index 9a06c72bd4..c6218d4d5c 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/community/zsnes/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/community/zsnes/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", "rule_identifier": "gpl-2.0_52.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_52.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/main/gcc/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/main/gcc/APKBUILD-expected.json index a43d745936..1d0abb6963 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/main/gcc/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/main/gcc/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND lgpl-2.1-plus", + "license_expression_spdx": "GPL-2.0-or-later AND LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus AND lgpl-2.1-plus", + "spdx_license_expression": "GPL-2.0-or-later AND LGPL-2.1-or-later", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0-plus AND lgpl-2.1-plus", - "rule_identifier": "spdx-license-identifier-gpl-2.0-plus AND lgpl-2.1-plus-b7337f560557d7048adf521ddbfda4608795b9a0", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_plus_and_lgpl_2_1_plus-b7337f560557d7048adf521ddbfda4608795b9a0", "rule_url": null, "matched_text": "gpl-2.0-or-later AND lgpl-2.1-or-later" } ], - "identifier": "gpl_2_0_plus_and_lgpl_2_1_plus-4e8606b0-51c5-4a74-8e25-cdd2d1a57b32" + "identifier": "gpl_2_0_plus_and_lgpl_2_1_plus-677d1fb8-7806-aa9e-d8da-efb0aa8f47e7" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/main/icu/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/main/icu/APKBUILD-expected.json index 8e771c12cb..765d1e7977 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/main/icu/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/main/icu/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "mit AND x11 AND unicode-tou", + "license_expression_spdx": "MIT AND ICU AND Unicode-TOU", "matches": [ { - "score": 100.0, + "license_expression": "mit AND x11 AND unicode-tou", + "spdx_license_expression": "MIT AND ICU AND Unicode-TOU", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit AND x11 AND unicode-tou", - "rule_identifier": "spdx-license-identifier-mit AND x11 AND unicode-tou-04c03ffc5d87121ab71914d00034fdd4a46eb02c", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit_and_x11_and_unicode_tou-04c03ffc5d87121ab71914d00034fdd4a46eb02c", "rule_url": null, "matched_text": "mit AND icu AND unicode-tou" } ], - "identifier": "mit_and_x11_and_unicode_tou-d166582e-6bb1-c449-6145-b9d5a08a23df" + "identifier": "mit_and_x11_and_unicode_tou-93872a25-23c6-76dd-5410-3218dc1ec059" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/main/ruby/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/main/ruby/APKBUILD-expected.json index c2dc7f8903..b6b5c7f659 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/main/ruby/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/main/ruby/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "ruby AND bsd-simplified AND mit", + "license_expression_spdx": "Ruby AND BSD-2-Clause AND MIT", "matches": [ { - "score": 100.0, + "license_expression": "ruby AND bsd-simplified AND mit", + "spdx_license_expression": "Ruby AND BSD-2-Clause AND MIT", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "ruby AND bsd-simplified AND mit", - "rule_identifier": "spdx-license-identifier-ruby AND bsd-simplified AND mit-41ebb50cee7db0cae90eea02dcf774f353e5566e", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-ruby_and_bsd_simplified_and_mit-41ebb50cee7db0cae90eea02dcf774f353e5566e", "rule_url": null, "matched_text": "ruby AND bsd-2-clause AND mit" } ], - "identifier": "ruby_and_bsd_simplified_and_mit-51044b18-d59b-bf75-33d1-1915e63eba54" + "identifier": "ruby_and_bsd_simplified_and_mit-a1641df0-0337-1529-a352-1e66972a1551" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-dcontainers/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-dcontainers/APKBUILD-expected.json index 31c4204803..4a085574a4 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-dcontainers/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-dcontainers/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "boost-1.0", + "license_expression_spdx": "BSL-1.0", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "boost-1.0", + "spdx_license_expression": "BSL-1.0", "rule_identifier": "boost-1.0_48.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/boost-1.0_48.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-linux-firmware/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-linux-firmware/APKBUILD-expected.json index 5466293aa8..65f5964391 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-linux-firmware/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-linux-firmware/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "unknown-license-reference", - "rule_identifier": "spdx-license-identifier-unknown-license-reference-555dc1c4c5d6d483173bdc629017bd81905d82ab", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-unknown_license_reference-555dc1c4c5d6d483173bdc629017bd81905d82ab", "rule_url": null, "matched_text": "licenseref-scancode-unknown-license-reference" } ], - "identifier": "unknown_license_reference-c96a9bc7-af3a-ff3f-fb67-793f7201aab1" + "identifier": "unknown_license_reference-50b9bf54-338e-5bf6-ccb9-ac71fdc12e10" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-lua-lustache/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-lua-lustache/APKBUILD-expected.json index 85f1315db3..7da9b3aa53 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-lua-lustache/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-lua-lustache/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-perl-socket-getaddrinfo/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-perl-socket-getaddrinfo/APKBUILD-expected.json index f42449d8c8..e24105a050 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-perl-socket-getaddrinfo/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-perl-socket-getaddrinfo/APKBUILD-expected.json @@ -27,22 +27,25 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus OR artistic-perl-1.0", + "license_expression_spdx": "GPL-1.0-or-later OR Artistic-1.0-Perl", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus OR artistic-perl-1.0", + "spdx_license_expression": "GPL-1.0-or-later OR Artistic-1.0-Perl", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 10, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-1.0-plus OR artistic-perl-1.0", - "rule_identifier": "spdx-license-identifier-gpl-1.0-plus OR artistic-perl-1.0-535d84b5d1aa6e65995199385dd4e21954d8d8ba", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_1_0_plus_or_artistic_perl_1_0-535d84b5d1aa6e65995199385dd4e21954d8d8ba", "rule_url": null, "matched_text": "gpl-1.0-or-later OR artistic-1.0-perl" } ], - "identifier": "gpl_1_0_plus_or_artistic_perl_1_0-5b18e6f8-26f2-64b3-9bbb-03e93b71de62" + "identifier": "gpl_1_0_plus_or_artistic_perl_1_0-e8b8391b-a631-ad82-c771-fb65500b961e" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-stdx-allocator/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-stdx-allocator/APKBUILD-expected.json index b98ef69c7a..f766c13f4c 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-stdx-allocator/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand-stdx-allocator/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "boost-1.0", + "license_expression_spdx": "BSL-1.0", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "boost-1.0", + "spdx_license_expression": "BSL-1.0", "rule_identifier": "boost-1.0_48.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/boost-1.0_48.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand_in_python-py3-cssselect2/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand_in_python-py3-cssselect2/APKBUILD-expected.json index d372eaa3bc..7a9bb4c465 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand_in_python-py3-cssselect2/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/problems/nested_expand_in_python-py3-cssselect2/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_10.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_10.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/gitlab-release-cli/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/gitlab-release-cli/APKBUILD-expected.json index 3238d0b12c..d477574248 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/gitlab-release-cli/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/gitlab-release-cli/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/gtksourceviewmm3/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/gtksourceviewmm3/APKBUILD-expected.json index 461f33616f..f6d2d9c0ed 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/gtksourceviewmm3/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/gtksourceviewmm3/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", "rule_identifier": "spdx_license_id_lgpl-2.1-or-later_for_lgpl-2.1-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_lgpl-2.1-or-later_for_lgpl-2.1-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/pnmixer/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/pnmixer/APKBUILD-expected.json index a5ca7d1732..bf10a28228 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/pnmixer/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/pnmixer/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", "rule_identifier": "spdx_license_id_gpl-1.0-or-later_for_gpl-1.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-1.0-or-later_for_gpl-1.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/ubuntu-archive-keyring/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/ubuntu-archive-keyring/APKBUILD-expected.json index c2735aa73e..a83c0cd7a4 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/ubuntu-archive-keyring/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/testing/ubuntu-archive-keyring/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", "rule_identifier": "spdx_license_id_gpl-1.0-or-later_for_gpl-1.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-1.0-or-later_for_gpl-1.0-plus.RULE", diff --git a/tests/packagedcode/data/alpine/apkbuild/alpine14/unmaintained/buildbot/APKBUILD-expected.json b/tests/packagedcode/data/alpine/apkbuild/alpine14/unmaintained/buildbot/APKBUILD-expected.json index ee61a2cd6b..115c8a8e56 100644 --- a/tests/packagedcode/data/alpine/apkbuild/alpine14/unmaintained/buildbot/APKBUILD-expected.json +++ b/tests/packagedcode/data/alpine/apkbuild/alpine14/unmaintained/buildbot/APKBUILD-expected.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", "rule_identifier": "gpl-2.0_52.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_52.RULE", diff --git a/tests/packagedcode/data/alpine/full-installed/installed-expected.json b/tests/packagedcode/data/alpine/full-installed/installed-expected.json index b38d791d16..39d8f9aa16 100644 --- a/tests/packagedcode/data/alpine/full-installed/installed-expected.json +++ b/tests/packagedcode/data/alpine/full-installed/installed-expected.json @@ -38,17 +38,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -131,17 +134,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -269,17 +275,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -587,17 +596,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -842,22 +854,25 @@ "license_detections": [ { "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", "matches": [ { - "score": 100.0, + "license_expression": "openssl-ssleay", + "spdx_license_expression": "OpenSSL", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "openssl-ssleay", - "rule_identifier": "spdx-license-identifier-openssl-ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-openssl_ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_url": null, "matched_text": "openssl" } ], - "identifier": "openssl_ssleay-5eedc4a6-a77c-b373-2ac4-55bb8c004773" + "identifier": "openssl_ssleay-602fb366-4d56-7dcd-cac5-129d99473599" } ], "other_license_expression": null, @@ -1025,22 +1040,25 @@ "license_detections": [ { "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", "matches": [ { - "score": 100.0, + "license_expression": "openssl-ssleay", + "spdx_license_expression": "OpenSSL", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "openssl-ssleay", - "rule_identifier": "spdx-license-identifier-openssl-ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-openssl_ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_url": null, "matched_text": "openssl" } ], - "identifier": "openssl_ssleay-5eedc4a6-a77c-b373-2ac4-55bb8c004773" + "identifier": "openssl_ssleay-602fb366-4d56-7dcd-cac5-129d99473599" } ], "other_license_expression": null, @@ -1118,22 +1136,25 @@ "license_detections": [ { "license_expression": "mpl-2.0 AND gpl-2.0-plus", + "license_expression_spdx": "MPL-2.0 AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0 AND gpl-2.0-plus", + "spdx_license_expression": "MPL-2.0 AND GPL-2.0-or-later", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mpl-2.0 AND gpl-2.0-plus", - "rule_identifier": "spdx-license-identifier-mpl-2.0 AND gpl-2.0-plus-ebba41d440d51e8500958cb8f2bc7302a0b7b0c5", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mpl_2_0_and_gpl_2_0_plus-ebba41d440d51e8500958cb8f2bc7302a0b7b0c5", "rule_url": null, "matched_text": "mpl-2.0 AND gpl-2.0-or-later" } ], - "identifier": "mpl_2_0_and_gpl_2_0_plus-fb163695-8575-68e5-0fd0-cd41328bb5a5" + "identifier": "mpl_2_0_and_gpl_2_0_plus-3c1af8bd-e4f9-ffcc-1ea3-9dcc9fab99ef" } ], "other_license_expression": null, @@ -1203,17 +1224,20 @@ "license_detections": [ { "license_expression": "isc", + "license_expression_spdx": "ISC", "matches": [ { - "score": 100.0, + "license_expression": "isc", + "spdx_license_expression": "ISC", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "isc", - "rule_identifier": "spdx-license-identifier-isc-fd23252ced2c9184cff91208f30a380cf105f995", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-isc-fd23252ced2c9184cff91208f30a380cf105f995", "rule_url": null, "matched_text": "isc" } @@ -1307,17 +1331,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -1391,17 +1418,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "zlib", - "rule_identifier": "spdx-license-identifier-zlib-2023583c09c2e5aa14d564036e304041c0f1ace3", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-zlib-2023583c09c2e5aa14d564036e304041c0f1ace3", "rule_url": null, "matched_text": "zlib" } @@ -1484,17 +1514,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -1568,17 +1601,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -1652,22 +1688,25 @@ "license_detections": [ { "license_expression": "mit AND bsd-new AND gpl-2.0-plus", + "license_expression_spdx": "MIT AND BSD-3-Clause AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "mit AND bsd-new AND gpl-2.0-plus", + "spdx_license_expression": "MIT AND BSD-3-Clause AND GPL-2.0-or-later", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit AND bsd-new AND gpl-2.0-plus", - "rule_identifier": "spdx-license-identifier-mit AND bsd-new AND gpl-2.0-plus-a42688b31c355df3bef97265e8ca20360250716e", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit_and_bsd_new_and_gpl_2_0_plus-a42688b31c355df3bef97265e8ca20360250716e", "rule_url": null, "matched_text": "mit AND bsd-3-clause AND gpl-2.0-or-later" } ], - "identifier": "mit_and_bsd_new_and_gpl_2_0_plus-57deb96b-d294-ad77-12c0-3e0e3c5d55f3" + "identifier": "mit_and_bsd_new_and_gpl_2_0_plus-f5dc1480-e57f-fd40-8614-8d2a83cd4bb9" } ], "other_license_expression": null, @@ -1783,22 +1822,25 @@ "license_detections": [ { "license_expression": "bsd-simplified AND bsd-new", + "license_expression_spdx": "BSD-2-Clause AND BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-simplified AND bsd-new", + "spdx_license_expression": "BSD-2-Clause AND BSD-3-Clause", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "bsd-simplified AND bsd-new", - "rule_identifier": "spdx-license-identifier-bsd-simplified AND bsd-new-dc707a661bb1da34ff773b7e9955e0235b3b3f74", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-bsd_simplified_and_bsd_new-dc707a661bb1da34ff773b7e9955e0235b3b3f74", "rule_url": null, "matched_text": "bsd-2-clause AND bsd-3-clause" } ], - "identifier": "bsd_simplified_and_bsd_new-73e0acf3-001a-667e-f37b-135c6b8a5cad" + "identifier": "bsd_simplified_and_bsd_new-571c460d-b906-8e23-30cd-5429d912eee3" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/rootfs/alpine-rootfs.tar.xz-expected.json b/tests/packagedcode/data/alpine/rootfs/alpine-rootfs.tar.xz-expected.json index c1f250891e..2e3d736fca 100644 --- a/tests/packagedcode/data/alpine/rootfs/alpine-rootfs.tar.xz-expected.json +++ b/tests/packagedcode/data/alpine/rootfs/alpine-rootfs.tar.xz-expected.json @@ -39,17 +39,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -129,17 +132,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -219,17 +225,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -336,17 +345,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -588,22 +600,25 @@ "license_detections": [ { "license_expression": "mpl-2.0 AND mit", + "license_expression_spdx": "MPL-2.0 AND MIT", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0 AND mit", + "spdx_license_expression": "MPL-2.0 AND MIT", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mpl-2.0 AND mit", - "rule_identifier": "spdx-license-identifier-mpl-2.0 AND mit-5514313e881fb20dc746d1ac1e3a53a643c808d7", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mpl_2_0_and_mit-5514313e881fb20dc746d1ac1e3a53a643c808d7", "rule_url": null, "matched_text": "mpl-2.0 AND mit" } ], - "identifier": "mpl_2_0_and_mit-988cb9df-c9be-c91d-c7e4-896f96e84eb8" + "identifier": "mpl_2_0_and_mit-0ec4a3d2-4f7b-39d7-f14f-8bb7666de6d5" } ], "other_license_expression": null, @@ -678,22 +693,25 @@ "license_detections": [ { "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", "matches": [ { - "score": 100.0, + "license_expression": "openssl-ssleay", + "spdx_license_expression": "OpenSSL", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "openssl-ssleay", - "rule_identifier": "spdx-license-identifier-openssl-ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-openssl_ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_url": null, "matched_text": "openssl" } ], - "identifier": "openssl_ssleay-5eedc4a6-a77c-b373-2ac4-55bb8c004773" + "identifier": "openssl_ssleay-602fb366-4d56-7dcd-cac5-129d99473599" } ], "other_license_expression": null, @@ -795,22 +813,25 @@ "license_detections": [ { "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", "matches": [ { - "score": 100.0, + "license_expression": "openssl-ssleay", + "spdx_license_expression": "OpenSSL", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "openssl-ssleay", - "rule_identifier": "spdx-license-identifier-openssl-ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-openssl_ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_url": null, "matched_text": "openssl" } ], - "identifier": "openssl_ssleay-5eedc4a6-a77c-b373-2ac4-55bb8c004773" + "identifier": "openssl_ssleay-602fb366-4d56-7dcd-cac5-129d99473599" } ], "other_license_expression": null, @@ -885,22 +906,25 @@ "license_detections": [ { "license_expression": "isc AND (bsd-new OR mit)", + "license_expression_spdx": "ISC AND (BSD-3-Clause OR MIT)", "matches": [ { - "score": 100.0, + "license_expression": "isc AND (bsd-new OR mit)", + "spdx_license_expression": "ISC AND (BSD-3-Clause OR MIT)", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "isc AND (bsd-new OR mit)", - "rule_identifier": "spdx-license-identifier-isc AND (bsd-new OR mit)-7471dfe24fdc3b7a8943273ac320469f644d2688", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-isc_and__bsd_new_or_mit-7471dfe24fdc3b7a8943273ac320469f644d2688", "rule_url": null, "matched_text": "isc AND (bsd-3-clause OR mit)" } ], - "identifier": "isc_and__bsd_new_or_mit-d4c1876e-a168-ee43-975a-1df35f85f171" + "identifier": "isc_and__bsd_new_or_mit-00412b1c-2d3c-5fef-ddd7-9c04aca09dd5" } ], "other_license_expression": null, @@ -975,17 +999,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -1053,17 +1080,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "zlib", - "rule_identifier": "spdx-license-identifier-zlib-2023583c09c2e5aa14d564036e304041c0f1ace3", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-zlib-2023583c09c2e5aa14d564036e304041c0f1ace3", "rule_url": null, "matched_text": "zlib" } @@ -1143,17 +1173,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -1221,17 +1254,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -1299,22 +1335,25 @@ "license_detections": [ { "license_expression": "mit AND bsd-new AND gpl-2.0-plus", + "license_expression_spdx": "MIT AND BSD-3-Clause AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "mit AND bsd-new AND gpl-2.0-plus", + "spdx_license_expression": "MIT AND BSD-3-Clause AND GPL-2.0-or-later", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit AND bsd-new AND gpl-2.0-plus", - "rule_identifier": "spdx-license-identifier-mit AND bsd-new AND gpl-2.0-plus-a42688b31c355df3bef97265e8ca20360250716e", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit_and_bsd_new_and_gpl_2_0_plus-a42688b31c355df3bef97265e8ca20360250716e", "rule_url": null, "matched_text": "mit AND bsd-3-clause AND gpl-2.0-or-later" } ], - "identifier": "mit_and_bsd_new_and_gpl_2_0_plus-57deb96b-d294-ad77-12c0-3e0e3c5d55f3" + "identifier": "mit_and_bsd_new_and_gpl_2_0_plus-f5dc1480-e57f-fd40-8614-8d2a83cd4bb9" } ], "other_license_expression": null, @@ -1377,22 +1416,25 @@ "license_detections": [ { "license_expression": "bsd-simplified AND bsd-new", + "license_expression_spdx": "BSD-2-Clause AND BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-simplified AND bsd-new", + "spdx_license_expression": "BSD-2-Clause AND BSD-3-Clause", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "bsd-simplified AND bsd-new", - "rule_identifier": "spdx-license-identifier-bsd-simplified AND bsd-new-dc707a661bb1da34ff773b7e9955e0235b3b3f74", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-bsd_simplified_and_bsd_new-dc707a661bb1da34ff773b7e9955e0235b3b3f74", "rule_url": null, "matched_text": "bsd-2-clause AND bsd-3-clause" } ], - "identifier": "bsd_simplified_and_bsd_new-73e0acf3-001a-667e-f37b-135c6b8a5cad" + "identifier": "bsd_simplified_and_bsd_new-571c460d-b906-8e23-30cd-5429d912eee3" } ], "other_license_expression": null, @@ -2158,17 +2200,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -2251,17 +2296,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -2389,17 +2437,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -2716,17 +2767,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -3160,22 +3214,25 @@ "license_detections": [ { "license_expression": "mpl-2.0 AND mit", + "license_expression_spdx": "MPL-2.0 AND MIT", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0 AND mit", + "spdx_license_expression": "MPL-2.0 AND MIT", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mpl-2.0 AND mit", - "rule_identifier": "spdx-license-identifier-mpl-2.0 AND mit-5514313e881fb20dc746d1ac1e3a53a643c808d7", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mpl_2_0_and_mit-5514313e881fb20dc746d1ac1e3a53a643c808d7", "rule_url": null, "matched_text": "mpl-2.0 AND mit" } ], - "identifier": "mpl_2_0_and_mit-988cb9df-c9be-c91d-c7e4-896f96e84eb8" + "identifier": "mpl_2_0_and_mit-0ec4a3d2-4f7b-39d7-f14f-8bb7666de6d5" } ], "other_license_expression": null, @@ -3253,22 +3310,25 @@ "license_detections": [ { "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", "matches": [ { - "score": 100.0, + "license_expression": "openssl-ssleay", + "spdx_license_expression": "OpenSSL", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "openssl-ssleay", - "rule_identifier": "spdx-license-identifier-openssl-ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-openssl_ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_url": null, "matched_text": "openssl" } ], - "identifier": "openssl_ssleay-5eedc4a6-a77c-b373-2ac4-55bb8c004773" + "identifier": "openssl_ssleay-602fb366-4d56-7dcd-cac5-129d99473599" } ], "other_license_expression": null, @@ -3427,22 +3487,25 @@ "license_detections": [ { "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", "matches": [ { - "score": 100.0, + "license_expression": "openssl-ssleay", + "spdx_license_expression": "OpenSSL", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "openssl-ssleay", - "rule_identifier": "spdx-license-identifier-openssl-ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-openssl_ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_url": null, "matched_text": "openssl" } ], - "identifier": "openssl_ssleay-5eedc4a6-a77c-b373-2ac4-55bb8c004773" + "identifier": "openssl_ssleay-602fb366-4d56-7dcd-cac5-129d99473599" } ], "other_license_expression": null, @@ -3520,22 +3583,25 @@ "license_detections": [ { "license_expression": "isc AND (bsd-new OR mit)", + "license_expression_spdx": "ISC AND (BSD-3-Clause OR MIT)", "matches": [ { - "score": 100.0, + "license_expression": "isc AND (bsd-new OR mit)", + "spdx_license_expression": "ISC AND (BSD-3-Clause OR MIT)", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "isc AND (bsd-new OR mit)", - "rule_identifier": "spdx-license-identifier-isc AND (bsd-new OR mit)-7471dfe24fdc3b7a8943273ac320469f644d2688", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-isc_and__bsd_new_or_mit-7471dfe24fdc3b7a8943273ac320469f644d2688", "rule_url": null, "matched_text": "isc AND (bsd-3-clause OR mit)" } ], - "identifier": "isc_and__bsd_new_or_mit-d4c1876e-a168-ee43-975a-1df35f85f171" + "identifier": "isc_and__bsd_new_or_mit-00412b1c-2d3c-5fef-ddd7-9c04aca09dd5" } ], "other_license_expression": null, @@ -3624,17 +3690,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -3708,17 +3777,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "zlib", - "rule_identifier": "spdx-license-identifier-zlib-2023583c09c2e5aa14d564036e304041c0f1ace3", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-zlib-2023583c09c2e5aa14d564036e304041c0f1ace3", "rule_url": null, "matched_text": "zlib" } @@ -3801,17 +3873,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -3915,17 +3990,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -3999,22 +4077,25 @@ "license_detections": [ { "license_expression": "mit AND bsd-new AND gpl-2.0-plus", + "license_expression_spdx": "MIT AND BSD-3-Clause AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "mit AND bsd-new AND gpl-2.0-plus", + "spdx_license_expression": "MIT AND BSD-3-Clause AND GPL-2.0-or-later", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit AND bsd-new AND gpl-2.0-plus", - "rule_identifier": "spdx-license-identifier-mit AND bsd-new AND gpl-2.0-plus-a42688b31c355df3bef97265e8ca20360250716e", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit_and_bsd_new_and_gpl_2_0_plus-a42688b31c355df3bef97265e8ca20360250716e", "rule_url": null, "matched_text": "mit AND bsd-3-clause AND gpl-2.0-or-later" } ], - "identifier": "mit_and_bsd_new_and_gpl_2_0_plus-57deb96b-d294-ad77-12c0-3e0e3c5d55f3" + "identifier": "mit_and_bsd_new_and_gpl_2_0_plus-f5dc1480-e57f-fd40-8614-8d2a83cd4bb9" } ], "other_license_expression": null, @@ -4130,22 +4211,25 @@ "license_detections": [ { "license_expression": "bsd-simplified AND bsd-new", + "license_expression_spdx": "BSD-2-Clause AND BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-simplified AND bsd-new", + "spdx_license_expression": "BSD-2-Clause AND BSD-3-Clause", + "from_file": "alpine-rootfs/lib/apk/db/installed", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "bsd-simplified AND bsd-new", - "rule_identifier": "spdx-license-identifier-bsd-simplified AND bsd-new-dc707a661bb1da34ff773b7e9955e0235b3b3f74", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-bsd_simplified_and_bsd_new-dc707a661bb1da34ff773b7e9955e0235b3b3f74", "rule_url": null, "matched_text": "bsd-2-clause AND bsd-3-clause" } ], - "identifier": "bsd_simplified_and_bsd_new-73e0acf3-001a-667e-f37b-135c6b8a5cad" + "identifier": "bsd_simplified_and_bsd_new-571c460d-b906-8e23-30cd-5429d912eee3" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/alpine/single-installed/installed-expected.json b/tests/packagedcode/data/alpine/single-installed/installed-expected.json index 78717cab5b..f8e6a1fc88 100644 --- a/tests/packagedcode/data/alpine/single-installed/installed-expected.json +++ b/tests/packagedcode/data/alpine/single-installed/installed-expected.json @@ -38,15 +38,18 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, "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", diff --git a/tests/packagedcode/data/alpine/small-installed/installed-expected.json b/tests/packagedcode/data/alpine/small-installed/installed-expected.json index 7d1f8bf819..ad24560403 100644 --- a/tests/packagedcode/data/alpine/small-installed/installed-expected.json +++ b/tests/packagedcode/data/alpine/small-installed/installed-expected.json @@ -38,17 +38,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -131,17 +134,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -269,17 +275,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -587,17 +596,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -824,22 +836,25 @@ "license_detections": [ { "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", "matches": [ { - "score": 100.0, + "license_expression": "openssl-ssleay", + "spdx_license_expression": "OpenSSL", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "openssl-ssleay", - "rule_identifier": "spdx-license-identifier-openssl-ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-openssl_ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_url": null, "matched_text": "openssl" } ], - "identifier": "openssl_ssleay-5eedc4a6-a77c-b373-2ac4-55bb8c004773" + "identifier": "openssl_ssleay-602fb366-4d56-7dcd-cac5-129d99473599" } ], "other_license_expression": null, @@ -1007,22 +1022,25 @@ "license_detections": [ { "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", "matches": [ { - "score": 100.0, + "license_expression": "openssl-ssleay", + "spdx_license_expression": "OpenSSL", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "openssl-ssleay", - "rule_identifier": "spdx-license-identifier-openssl-ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-openssl_ssleay-b5dd48b21e3399670d584d4ade9a9791a24c58cd", "rule_url": null, "matched_text": "openssl" } ], - "identifier": "openssl_ssleay-5eedc4a6-a77c-b373-2ac4-55bb8c004773" + "identifier": "openssl_ssleay-602fb366-4d56-7dcd-cac5-129d99473599" } ], "other_license_expression": null, @@ -1100,22 +1118,25 @@ "license_detections": [ { "license_expression": "mpl-2.0 AND gpl-2.0-plus", + "license_expression_spdx": "MPL-2.0 AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0 AND gpl-2.0-plus", + "spdx_license_expression": "MPL-2.0 AND GPL-2.0-or-later", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mpl-2.0 AND gpl-2.0-plus", - "rule_identifier": "spdx-license-identifier-mpl-2.0 AND gpl-2.0-plus-ebba41d440d51e8500958cb8f2bc7302a0b7b0c5", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mpl_2_0_and_gpl_2_0_plus-ebba41d440d51e8500958cb8f2bc7302a0b7b0c5", "rule_url": null, "matched_text": "mpl-2.0 AND gpl-2.0-or-later" } ], - "identifier": "mpl_2_0_and_gpl_2_0_plus-fb163695-8575-68e5-0fd0-cd41328bb5a5" + "identifier": "mpl_2_0_and_gpl_2_0_plus-3c1af8bd-e4f9-ffcc-1ea3-9dcc9fab99ef" } ], "other_license_expression": null, @@ -1176,17 +1197,20 @@ "license_detections": [ { "license_expression": "isc", + "license_expression_spdx": "ISC", "matches": [ { - "score": 100.0, + "license_expression": "isc", + "spdx_license_expression": "ISC", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "isc", - "rule_identifier": "spdx-license-identifier-isc-fd23252ced2c9184cff91208f30a380cf105f995", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-isc-fd23252ced2c9184cff91208f30a380cf105f995", "rule_url": null, "matched_text": "isc" } @@ -1280,17 +1304,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -1364,17 +1391,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "zlib", - "rule_identifier": "spdx-license-identifier-zlib-2023583c09c2e5aa14d564036e304041c0f1ace3", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-zlib-2023583c09c2e5aa14d564036e304041c0f1ace3", "rule_url": null, "matched_text": "zlib" } @@ -1457,17 +1487,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 50.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 50.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl2_bare_word_only.RULE", "rule_relevance": 50, + "rule_identifier": "gpl2_bare_word_only.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl2_bare_word_only.RULE", "matched_text": "gpl2" } @@ -1541,17 +1574,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_gpl-2.0-only_for_gpl-2.0.RULE", "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", "matched_text": "gpl-2.0-only" } @@ -1625,22 +1661,25 @@ "license_detections": [ { "license_expression": "mit AND bsd-new AND gpl-2.0-plus", + "license_expression_spdx": "MIT AND BSD-3-Clause AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "mit AND bsd-new AND gpl-2.0-plus", + "spdx_license_expression": "MIT AND BSD-3-Clause AND GPL-2.0-or-later", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit AND bsd-new AND gpl-2.0-plus", - "rule_identifier": "spdx-license-identifier-mit AND bsd-new AND gpl-2.0-plus-a42688b31c355df3bef97265e8ca20360250716e", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit_and_bsd_new_and_gpl_2_0_plus-a42688b31c355df3bef97265e8ca20360250716e", "rule_url": null, "matched_text": "mit AND bsd-3-clause AND gpl-2.0-or-later" } ], - "identifier": "mit_and_bsd_new_and_gpl_2_0_plus-57deb96b-d294-ad77-12c0-3e0e3c5d55f3" + "identifier": "mit_and_bsd_new_and_gpl_2_0_plus-f5dc1480-e57f-fd40-8614-8d2a83cd4bb9" } ], "other_license_expression": null, @@ -1756,17 +1795,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_10.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_10.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_10.RULE", "matched_text": "bsd-3-clause" } diff --git a/tests/packagedcode/data/bower/author-objects/expected.json b/tests/packagedcode/data/bower/author-objects/expected.json index 44ccc965e3..f2e1c7f3ef 100644 --- a/tests/packagedcode/data/bower/author-objects/expected.json +++ b/tests/packagedcode/data/bower/author-objects/expected.json @@ -47,15 +47,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -66,15 +69,18 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", @@ -85,15 +91,18 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_10.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_10.RULE", diff --git a/tests/packagedcode/data/bower/basic/expected.json b/tests/packagedcode/data/bower/basic/expected.json index f9d491cb97..a822fa36e5 100644 --- a/tests/packagedcode/data/bower/basic/expected.json +++ b/tests/packagedcode/data/bower/basic/expected.json @@ -40,15 +40,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/bower/list-of-licenses/expected.json b/tests/packagedcode/data/bower/list-of-licenses/expected.json index e6e21eaf2b..5da76ef57b 100644 --- a/tests/packagedcode/data/bower/list-of-licenses/expected.json +++ b/tests/packagedcode/data/bower/list-of-licenses/expected.json @@ -40,15 +40,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -59,15 +62,18 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", @@ -78,15 +84,18 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_10.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_10.RULE", diff --git a/tests/packagedcode/data/bower/scan-expected.json b/tests/packagedcode/data/bower/scan-expected.json index 0383ecab8a..67a6d4e05e 100644 --- a/tests/packagedcode/data/bower/scan-expected.json +++ b/tests/packagedcode/data/bower/scan-expected.json @@ -48,17 +48,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "scan/bower.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -67,17 +70,20 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "scan/bower.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "Apache 2.0" } @@ -86,17 +92,20 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "scan/bower.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_10.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_10.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_10.RULE", "matched_text": "BSD-3-Clause" } @@ -228,17 +237,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "scan/bower.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -247,17 +259,20 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "scan/bower.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "Apache 2.0" } @@ -266,17 +281,20 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "scan/bower.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_10.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_10.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_10.RULE", "matched_text": "BSD-3-Clause" } diff --git a/tests/packagedcode/data/build/buck/end2end-expected.json b/tests/packagedcode/data/build/buck/end2end-expected.json index c1a3c2d34f..70f7b32131 100644 --- a/tests/packagedcode/data/build/buck/end2end-expected.json +++ b/tests/packagedcode/data/build/buck/end2end-expected.json @@ -75,17 +75,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "apache-2.0" } diff --git a/tests/packagedcode/data/cargo/cargo_toml/clap/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/clap/Cargo.toml.expected index 9066335cee..fc87d164f1 100644 --- a/tests/packagedcode/data/cargo/cargo_toml/clap/Cargo.toml.expected +++ b/tests/packagedcode/data/cargo/cargo_toml/clap/Cargo.toml.expected @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/cargo/cargo_toml/clippy/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/clippy/Cargo.toml.expected index 50e8705c3d..a858550803 100644 --- a/tests/packagedcode/data/cargo/cargo_toml/clippy/Cargo.toml.expected +++ b/tests/packagedcode/data/cargo/cargo_toml/clippy/Cargo.toml.expected @@ -64,15 +64,18 @@ "license_detections": [ { "license_expression": "mit OR apache-2.0", + "license_expression_spdx": "MIT OR Apache-2.0", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit OR apache-2.0", + "spdx_license_expression": "MIT OR Apache-2.0", "rule_identifier": "mit_or_apache-2.0_1.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_1.RULE", diff --git a/tests/packagedcode/data/cargo/cargo_toml/mdbook/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/mdbook/Cargo.toml.expected index 74ccff851c..120a987ea5 100644 --- a/tests/packagedcode/data/cargo/cargo_toml/mdbook/Cargo.toml.expected +++ b/tests/packagedcode/data/cargo/cargo_toml/mdbook/Cargo.toml.expected @@ -50,15 +50,18 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", "rule_identifier": "spdx_license_id_mpl-2.0_for_mpl-2.0.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_mpl-2.0_for_mpl-2.0.RULE", diff --git a/tests/packagedcode/data/cargo/cargo_toml/rustfmt/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/rustfmt/Cargo.toml.expected index a005083f5a..34f798d039 100644 --- a/tests/packagedcode/data/cargo/cargo_toml/rustfmt/Cargo.toml.expected +++ b/tests/packagedcode/data/cargo/cargo_toml/rustfmt/Cargo.toml.expected @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "apache-2.0 OR mit", + "license_expression_spdx": "Apache-2.0 OR MIT", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", "rule_identifier": "apache-2.0_or_mit_48.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_48.RULE", diff --git a/tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.expected index c1801c22e2..52724647f0 100644 --- a/tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.expected +++ b/tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.expected @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit OR apache-2.0", + "license_expression_spdx": "MIT OR Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit OR apache-2.0", + "spdx_license_expression": "MIT OR Apache-2.0", "rule_identifier": "mit_or_apache-2.0_15.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_15.RULE", diff --git a/tests/packagedcode/data/cargo/scan.expected.json b/tests/packagedcode/data/cargo/scan.expected.json index bf4c6c1c86..b0207904e3 100644 --- a/tests/packagedcode/data/cargo/scan.expected.json +++ b/tests/packagedcode/data/cargo/scan.expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 50.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": "scan/Cargo.toml", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 50.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "rule_identifier": "spdx_license_id_mpl-2.0_for_mpl-2.0.RULE", "rule_relevance": 50, + "rule_identifier": "spdx_license_id_mpl-2.0_for_mpl-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_mpl-2.0_for_mpl-2.0.RULE", "matched_text": "MPL-2.0" } @@ -118,17 +121,20 @@ "license_detections": [ { "license_expression": "mit OR apache-2.0", + "license_expression_spdx": "MIT OR Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mit OR apache-2.0", + "spdx_license_expression": "MIT OR Apache-2.0", + "from_file": "scan/dac/Cargo.toml", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit OR apache-2.0", - "rule_identifier": "mit_or_apache-2.0_15.RULE", "rule_relevance": 100, + "rule_identifier": "mit_or_apache-2.0_15.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_15.RULE", "matched_text": "MIT OR Apache-2.0" } @@ -764,17 +770,20 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 50.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": "scan/Cargo.toml", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 50.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "rule_identifier": "spdx_license_id_mpl-2.0_for_mpl-2.0.RULE", "rule_relevance": 50, + "rule_identifier": "spdx_license_id_mpl-2.0_for_mpl-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_mpl-2.0_for_mpl-2.0.RULE", "matched_text": "MPL-2.0" } @@ -858,17 +867,20 @@ "license_detections": [ { "license_expression": "mit OR apache-2.0", + "license_expression_spdx": "MIT OR Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mit OR apache-2.0", + "spdx_license_expression": "MIT OR Apache-2.0", + "from_file": "scan/dac/Cargo.toml", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit OR apache-2.0", - "rule_identifier": "mit_or_apache-2.0_15.RULE", "rule_relevance": 100, + "rule_identifier": "mit_or_apache-2.0_15.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_15.RULE", "matched_text": "MIT OR Apache-2.0" } diff --git a/tests/packagedcode/data/chef/basic/metadata.json.expected b/tests/packagedcode/data/chef/basic/metadata.json.expected index 9c6ed15be2..c07e50b4e3 100644 --- a/tests/packagedcode/data/chef/basic/metadata.json.expected +++ b/tests/packagedcode/data/chef/basic/metadata.json.expected @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/chef/basic/metadata.rb.expected b/tests/packagedcode/data/chef/basic/metadata.rb.expected index fff6b1af0b..4d16b005d9 100644 --- a/tests/packagedcode/data/chef/basic/metadata.rb.expected +++ b/tests/packagedcode/data/chef/basic/metadata.rb.expected @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/chef/basic/test_package.json.expected b/tests/packagedcode/data/chef/basic/test_package.json.expected index 6dcff234b0..ec4e1ae121 100644 --- a/tests/packagedcode/data/chef/basic/test_package.json.expected +++ b/tests/packagedcode/data/chef/basic/test_package.json.expected @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { "score": 70.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", diff --git a/tests/packagedcode/data/chef/basic/test_package_code_view_url_and_bug_tracking_url.json.expected b/tests/packagedcode/data/chef/basic/test_package_code_view_url_and_bug_tracking_url.json.expected index af10466cee..28ef05e355 100644 --- a/tests/packagedcode/data/chef/basic/test_package_code_view_url_and_bug_tracking_url.json.expected +++ b/tests/packagedcode/data/chef/basic/test_package_code_view_url_and_bug_tracking_url.json.expected @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { "score": 70.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", diff --git a/tests/packagedcode/data/chef/basic/test_package_dependencies.json.expected b/tests/packagedcode/data/chef/basic/test_package_dependencies.json.expected index a9a8a202b3..030f6f5550 100644 --- a/tests/packagedcode/data/chef/basic/test_package_dependencies.json.expected +++ b/tests/packagedcode/data/chef/basic/test_package_dependencies.json.expected @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { "score": 70.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", diff --git a/tests/packagedcode/data/chef/basic/test_package_parties.json.expected b/tests/packagedcode/data/chef/basic/test_package_parties.json.expected index 723047ecba..1be3d365f2 100644 --- a/tests/packagedcode/data/chef/basic/test_package_parties.json.expected +++ b/tests/packagedcode/data/chef/basic/test_package_parties.json.expected @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { "score": 70.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", diff --git a/tests/packagedcode/data/chef/dependencies/metadata.rb.expected b/tests/packagedcode/data/chef/dependencies/metadata.rb.expected index df1ab60354..274497fa62 100644 --- a/tests/packagedcode/data/chef/dependencies/metadata.rb.expected +++ b/tests/packagedcode/data/chef/dependencies/metadata.rb.expected @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", diff --git a/tests/packagedcode/data/chef/package.scan.expected.json b/tests/packagedcode/data/chef/package.scan.expected.json index 394344548a..06e7dac074 100644 --- a/tests/packagedcode/data/chef/package.scan.expected.json +++ b/tests/packagedcode/data/chef/package.scan.expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package/metadata.rb", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -156,17 +159,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package/metadata.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -247,17 +253,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package/metadata.rb", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } diff --git a/tests/packagedcode/data/cocoapods/assemble/many-podspecs-expected.json b/tests/packagedcode/data/cocoapods/assemble/many-podspecs-expected.json index a56583b479..57ef920e15 100644 --- a/tests/packagedcode/data/cocoapods/assemble/many-podspecs-expected.json +++ b/tests/packagedcode/data/cocoapods/assemble/many-podspecs-expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/CoreMLPredictionsPlugin.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -111,17 +114,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/Amplify.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -185,17 +191,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AmplifyPlugins.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -259,17 +268,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AmplifyTestCommon.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -333,17 +345,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AWSPluginsCore.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -407,17 +422,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AWSPredictionsPlugin.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -608,17 +626,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AWSPluginsCore.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -688,17 +709,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AWSPredictionsPlugin.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -768,17 +792,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/Amplify.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -848,17 +875,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AmplifyPlugins.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -928,17 +958,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AmplifyTestCommon.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -1008,17 +1041,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/CoreMLPredictionsPlugin.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } diff --git a/tests/packagedcode/data/cocoapods/assemble/many-podspecs-with-license-expected.json b/tests/packagedcode/data/cocoapods/assemble/many-podspecs-with-license-expected.json index 1c9a70fa43..3a2a30b8db 100644 --- a/tests/packagedcode/data/cocoapods/assemble/many-podspecs-with-license-expected.json +++ b/tests/packagedcode/data/cocoapods/assemble/many-podspecs-with-license-expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/CoreMLPredictionsPlugin.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -111,17 +114,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/Amplify.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -185,17 +191,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AmplifyPlugins.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -259,17 +268,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AmplifyTestCommon.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -333,17 +345,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AWSPluginsCore.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -407,17 +422,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AWSPredictionsPlugin.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -563,17 +581,68 @@ { "identifier": "apache_2_0-428c1364-ecb5-f806-7a2e-77d10737a7ce", "license_expression": "apache-2.0", - "detection_count": 6 + "license_expression_spdx": "Apache-2.0", + "detection_count": 6, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "many-podspecs/Amplify.podspec", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE" + } + ] }, { "identifier": "apache_2_0-d310abb3-4d20-b3be-830d-ee37b30a997f", "license_expression": "apache-2.0", - "detection_count": 6 + "license_expression_spdx": "Apache-2.0", + "detection_count": 6, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "many-podspecs/Amplify.podspec", + "start_line": 21, + "end_line": 21, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 6, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_68.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_68.RULE" + } + ] }, { "identifier": "apache_2_0-08479bef-4de5-8be8-0987-1bec0c232b20", "license_expression": "apache-2.0", - "detection_count": 3 + "license_expression_spdx": "Apache-2.0", + "detection_count": 3, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "many-podspecs/amplify-ios.LICENSE", + "start_line": 2, + "end_line": 175, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 1405, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_70.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_70.RULE" + } + ] } ], "files": [ @@ -630,17 +699,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AWSPluginsCore.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -672,17 +744,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AWSPluginsCore.podspec", "start_line": 25, "end_line": 25, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_68.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_68.RULE" } ], @@ -734,17 +809,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AWSPredictionsPlugin.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -776,17 +854,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AWSPredictionsPlugin.podspec", "start_line": 17, "end_line": 17, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_68.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_68.RULE" } ], @@ -838,17 +919,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/Amplify.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -880,17 +964,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/Amplify.podspec", "start_line": 21, "end_line": 21, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_68.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_68.RULE" } ], @@ -942,17 +1029,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AmplifyPlugins.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -984,17 +1074,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AmplifyPlugins.podspec", "start_line": 24, "end_line": 24, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_68.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_68.RULE" } ], @@ -1046,17 +1139,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AmplifyTestCommon.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -1088,17 +1184,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/AmplifyTestCommon.podspec", "start_line": 24, "end_line": 24, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_68.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_68.RULE" } ], @@ -1150,17 +1249,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/CoreMLPredictionsPlugin.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "Apache License, Version 2.0" } @@ -1192,17 +1294,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/CoreMLPredictionsPlugin.podspec", "start_line": 14, "end_line": 14, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_68.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_68.RULE" } ], @@ -1246,17 +1351,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/amplify-ios.LICENSE", "start_line": 2, "end_line": 175, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1405, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_70.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_70.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_70.RULE" } ], @@ -1322,17 +1430,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/amplify-ios.LICENSE", "start_line": 2, "end_line": 175, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1405, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_70.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_70.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_70.RULE" } ], @@ -1456,17 +1567,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "many-podspecs/amplify-ios.LICENSE", "start_line": 2, "end_line": 175, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1405, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_70.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_70.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_70.RULE" } ], diff --git a/tests/packagedcode/data/cocoapods/assemble/multiple-podspec-expected.json b/tests/packagedcode/data/cocoapods/assemble/multiple-podspec-expected.json index 32da3deccc..68022a7027 100644 --- a/tests/packagedcode/data/cocoapods/assemble/multiple-podspec-expected.json +++ b/tests/packagedcode/data/cocoapods/assemble/multiple-podspec-expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "multiple-podspec/RxDataSources.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -111,17 +114,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "multiple-podspec/Differentiator.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -242,17 +248,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "multiple-podspec/Differentiator.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -457,17 +466,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "multiple-podspec/RxDataSources.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } diff --git a/tests/packagedcode/data/cocoapods/assemble/single-podspec-expected.json b/tests/packagedcode/data/cocoapods/assemble/single-podspec-expected.json index 6def03c677..ddb4b0d072 100644 --- a/tests/packagedcode/data/cocoapods/assemble/single-podspec-expected.json +++ b/tests/packagedcode/data/cocoapods/assemble/single-podspec-expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "single-podspec/RxDataSources.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -303,17 +306,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "single-podspec/RxDataSources.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } diff --git a/tests/packagedcode/data/cocoapods/assemble/solo/RxDataSources.podspec-expected.json b/tests/packagedcode/data/cocoapods/assemble/solo/RxDataSources.podspec-expected.json index cbd667882f..3c5305e93e 100644 --- a/tests/packagedcode/data/cocoapods/assemble/solo/RxDataSources.podspec-expected.json +++ b/tests/packagedcode/data/cocoapods/assemble/solo/RxDataSources.podspec-expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "RxDataSources.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -118,17 +121,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "RxDataSources.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } diff --git a/tests/packagedcode/data/cocoapods/podspec.json/FirebaseAnalytics.podspec.json.expected.json b/tests/packagedcode/data/cocoapods/podspec.json/FirebaseAnalytics.podspec.json.expected.json index c81838d43c..e933d8e958 100644 --- a/tests/packagedcode/data/cocoapods/podspec.json/FirebaseAnalytics.podspec.json.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec.json/FirebaseAnalytics.podspec.json.expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", "rule_identifier": "package-manifest-unknown-d2754fbb513aa8b758a4d140049dd6bef0aedd05", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-d2754fbb513aa8b758a4d140049dd6bef0aedd05", diff --git a/tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec.expected.json index 3e5adce789..93b6bf1083 100644 --- a/tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec.expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_in_manifest.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_in_manifest.RULE", diff --git a/tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec.expected.json index d683b25aeb..897962b47d 100644 --- a/tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec.expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_in_manifest.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_in_manifest.RULE", diff --git a/tests/packagedcode/data/cocoapods/podspec/PayTabsSDK.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/PayTabsSDK.podspec.expected.json index 52f69fb184..a85a021279 100644 --- a/tests/packagedcode/data/cocoapods/podspec/PayTabsSDK.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/PayTabsSDK.podspec.expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/cocoapods/podspec/RxDataSources.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/RxDataSources.podspec.expected.json index 91ba696d0b..0e86af9794 100644 --- a/tests/packagedcode/data/cocoapods/podspec/RxDataSources.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/RxDataSources.podspec.expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/cocoapods/podspec/Starscream.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/Starscream.podspec.expected.json index 194fa00b6c..8f88504461 100644 --- a/tests/packagedcode/data/cocoapods/podspec/Starscream.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/Starscream.podspec.expected.json @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", diff --git a/tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec.expected.json index 7a0be572db..1c3e2e34ce 100644 --- a/tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec.expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_in_manifest.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_in_manifest.RULE", diff --git a/tests/packagedcode/data/cocoapods/podspec/flutter_paytabs_bridge.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/flutter_paytabs_bridge.podspec.expected.json index c0d08a9d3a..175b1657f0 100644 --- a/tests/packagedcode/data/cocoapods/podspec/flutter_paytabs_bridge.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/flutter_paytabs_bridge.podspec.expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", "rule_identifier": "unknown-license-reference_see_license_at_manifest_1.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_1.RULE", diff --git a/tests/packagedcode/data/cocoapods/podspec/kmmWebSocket.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/kmmWebSocket.podspec.expected.json index cd5558c378..be7c37f7c2 100644 --- a/tests/packagedcode/data/cocoapods/podspec/kmmWebSocket.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/kmmWebSocket.podspec.expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_in_manifest.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_in_manifest.RULE", diff --git a/tests/packagedcode/data/cocoapods/podspec/nanopb.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/nanopb.podspec.expected.json index 9586419c64..eb04492b6c 100644 --- a/tests/packagedcode/data/cocoapods/podspec/nanopb.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/nanopb.podspec.expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "zlib", + "spdx_license_expression": "Zlib", "rule_identifier": "zlib_in_manifest.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_in_manifest.RULE", diff --git a/tests/packagedcode/data/conda/meta.yaml.expected.json b/tests/packagedcode/data/conda/meta.yaml.expected.json index 3716767347..9fb3cdbfcb 100644 --- a/tests/packagedcode/data/conda/meta.yaml.expected.json +++ b/tests/packagedcode/data/conda/meta.yaml.expected.json @@ -28,15 +28,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_292.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_292.RULE", diff --git a/tests/packagedcode/data/cran/codetools/package.json.expected b/tests/packagedcode/data/cran/codetools/package.json.expected index 1aa73ff23c..aa9ce12214 100644 --- a/tests/packagedcode/data/cran/codetools/package.json.expected +++ b/tests/packagedcode/data/cran/codetools/package.json.expected @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", diff --git a/tests/packagedcode/data/cran/geometry/package.json.expected b/tests/packagedcode/data/cran/geometry/package.json.expected index 632c647e61..06edd97780 100644 --- a/tests/packagedcode/data/cran/geometry/package.json.expected +++ b/tests/packagedcode/data/cran/geometry/package.json.expected @@ -85,15 +85,18 @@ "license_detections": [ { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", "rule_identifier": "gpl-3.0_25.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_25.RULE", diff --git a/tests/packagedcode/data/debian/basic-rootfs-expected.json b/tests/packagedcode/data/debian/basic-rootfs-expected.json index 101e0bcab8..2d4b56f6fa 100644 --- a/tests/packagedcode/data/debian/basic-rootfs-expected.json +++ b/tests/packagedcode/data/debian/basic-rootfs-expected.json @@ -41,17 +41,20 @@ "license_detections": [ { "license_expression": "x11-fsf", + "license_expression_spdx": "X11-distribute-modifications-variant", "matches": [ { - "score": 100.0, + "license_expression": "x11-fsf", + "spdx_license_expression": "X11-distribute-modifications-variant", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libncurses5/copyright", "start_line": 23, "end_line": 45, + "matcher": "2-aho", + "score": 100.0, "matched_length": 200, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-fsf", - "rule_identifier": "x11-fsf.LICENSE", "rule_relevance": 100, + "rule_identifier": "x11-fsf.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-fsf.LICENSE", "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." } @@ -60,17 +63,20 @@ }, { "license_expression": "x11-xconsortium", + "license_expression_spdx": "X11", "matches": [ { - "score": 100.0, + "license_expression": "x11-xconsortium", + "spdx_license_expression": "X11", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libncurses5/copyright", "start_line": 50, "end_line": 70, + "matcher": "2-aho", + "score": 100.0, "matched_length": 201, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium", - "rule_identifier": "x11-xconsortium_2.RULE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE", "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." } @@ -79,17 +85,20 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libncurses5/copyright", "start_line": 76, "end_line": 98, + "matcher": "2-aho", + "score": 100.0, "matched_length": 213, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_19.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_19.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE", "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." } @@ -98,17 +107,20 @@ }, { "license_expression": "x11-xconsortium", + "license_expression_spdx": "X11", "matches": [ { - "score": 100.0, + "license_expression": "x11-xconsortium", + "spdx_license_expression": "X11", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libncurses5/copyright", "start_line": 105, "end_line": 127, + "matcher": "2-aho", + "score": 100.0, "matched_length": 199, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium", - "rule_identifier": "x11-xconsortium_41.RULE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_41.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_41.RULE", "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." } @@ -225,43 +237,50 @@ "other_license_detections": [ { "license_expression": "lgpl-2.1-plus AND lgpl-2.1", + "license_expression_spdx": "LGPL-2.1-or-later AND LGPL-2.1-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libndp0/copyright", "start_line": 13, "end_line": 13, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", "matched_text": "License: lgpl-2.1+" }, { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libndp0/copyright", "start_line": 14, "end_line": 26, + "matcher": "2-aho", + "score": 100.0, "matched_length": 117, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_93.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_93.RULE", "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" }, { - "score": 100.0, + "license_expression": "lgpl-2.1", + "spdx_license_expression": "LGPL-2.1-only", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libndp0/copyright", "start_line": 24, "end_line": 30, + "matcher": "2-aho", + "score": 100.0, "matched_length": 64, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1", - "rule_identifier": "lgpl-2.1_314.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1_314.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_314.RULE", "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'." } @@ -384,17 +403,20 @@ "license_detections": [ { "license_expression": "x11-fsf", + "license_expression_spdx": "X11-distribute-modifications-variant", "matches": [ { - "score": 100.0, + "license_expression": "x11-fsf", + "spdx_license_expression": "X11-distribute-modifications-variant", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libncurses5/copyright", "start_line": 23, "end_line": 45, + "matcher": "2-aho", + "score": 100.0, "matched_length": 200, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-fsf", - "rule_identifier": "x11-fsf.LICENSE", "rule_relevance": 100, + "rule_identifier": "x11-fsf.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-fsf.LICENSE", "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." } @@ -403,17 +425,20 @@ }, { "license_expression": "x11-xconsortium", + "license_expression_spdx": "X11", "matches": [ { - "score": 100.0, + "license_expression": "x11-xconsortium", + "spdx_license_expression": "X11", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libncurses5/copyright", "start_line": 50, "end_line": 70, + "matcher": "2-aho", + "score": 100.0, "matched_length": 201, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium", - "rule_identifier": "x11-xconsortium_2.RULE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE", "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." } @@ -422,17 +447,20 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libncurses5/copyright", "start_line": 76, "end_line": 98, + "matcher": "2-aho", + "score": 100.0, "matched_length": 213, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_19.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_19.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE", "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." } @@ -441,17 +469,20 @@ }, { "license_expression": "x11-xconsortium", + "license_expression_spdx": "X11", "matches": [ { - "score": 100.0, + "license_expression": "x11-xconsortium", + "spdx_license_expression": "X11", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libncurses5/copyright", "start_line": 105, "end_line": 127, + "matcher": "2-aho", + "score": 100.0, "matched_length": 199, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium", - "rule_identifier": "x11-xconsortium_41.RULE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_41.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_41.RULE", "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." } @@ -523,43 +554,50 @@ "other_license_detections": [ { "license_expression": "lgpl-2.1-plus AND lgpl-2.1", + "license_expression_spdx": "LGPL-2.1-or-later AND LGPL-2.1-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libndp0/copyright", "start_line": 13, "end_line": 13, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", "matched_text": "License: lgpl-2.1+" }, { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libndp0/copyright", "start_line": 14, "end_line": 26, + "matcher": "2-aho", + "score": 100.0, "matched_length": 117, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_93.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_93.RULE", "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" }, { - "score": 100.0, + "license_expression": "lgpl-2.1", + "spdx_license_expression": "LGPL-2.1-only", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libndp0/copyright", "start_line": 24, "end_line": 30, + "matcher": "2-aho", + "score": 100.0, "matched_length": 64, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1", - "rule_identifier": "lgpl-2.1_314.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1_314.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_314.RULE", "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'." } diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/a/acme-tiny/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/a/acme-tiny/stable_copyright-detailed.expected.yml index 45caaa7927..4a152b05c8 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/a/acme-tiny/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/a/acme-tiny/stable_copyright-detailed.expected.yml @@ -9,16 +9,19 @@ other_license_expression_spdx: MIT AND MIT license_detections: [] other_license_detections: - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 16 end_line: 33 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/a/apache2/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/a/apache2/stable_copyright-detailed.expected.yml index 4d5b9d0c4c..50c20e2c50 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/a/apache2/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/a/apache2/stable_copyright-detailed.expected.yml @@ -46,27 +46,32 @@ other_license_expression_spdx: (Apache-2.0 AND Apache-2.0) AND ((Apache-2.0 AND license_detections: [] other_license_detections: - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 71 end_line: 71 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_65.RULE rule_relevance: 100 + rule_identifier: apache-2.0_65.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE matched_text: 'License: apache-2.0' - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 72 end_line: 88 + matcher: 1-hash + score: '100.0' matched_length: 145 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_971.RULE rule_relevance: 100 + rule_identifier: apache-2.0_971.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_971.RULE matched_text: | Licensed to the Apache Software Foundation (ASF) under one or more @@ -88,16 +93,19 @@ other_license_detections: be found in the file `/usr/share/common-licenses/Apache-2.0'. identifier: apache_2_0-54a3cb61-dd1f-a43e-0748-862fb858b0d2 - license_expression: zeusbench + license_expression_spdx: LicenseRef-scancode-zeusbench matches: - - score: '100.0' + - license_expression: zeusbench + spdx_license_expression: LicenseRef-scancode-zeusbench + from_file: start_line: 94 end_line: 103 + matcher: 2-aho + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 2-aho - license_expression: zeusbench - rule_identifier: zeusbench_1.RULE rule_relevance: 100 + rule_identifier: zeusbench_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zeusbench_1.RULE matched_text: | This software is provided "as is" and any express or implied warranties, @@ -112,16 +120,19 @@ other_license_detections: possibility of such damage identifier: zeusbench-015480ab-358c-46e9-b585-8bc7330ace50 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 118 end_line: 142 + matcher: 2-aho + score: '100.0' matched_length: 214 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_879.RULE rule_relevance: 100 + rule_identifier: bsd-new_879.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_879.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -151,16 +162,19 @@ other_license_detections: POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-bd6a26eb-db9d-de45-5d56-8c5674ddfb3f - license_expression: x11-keith-packard AND metamail + license_expression_spdx: HPND-sell-variant AND metamail matches: - - score: '100.0' + - license_expression: x11-keith-packard + spdx_license_expression: HPND-sell-variant + from_file: start_line: 172 end_line: '191' + matcher: 2-aho + score: '100.0' matched_length: 168 match_coverage: '100.0' - matcher: 2-aho - license_expression: x11-keith-packard - rule_identifier: x11-keith-packard3.RULE rule_relevance: 100 + rule_identifier: x11-keith-packard3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-keith-packard3.RULE matched_text: | Permission to use, copy, modify, distribute, and sell this software @@ -183,15 +197,17 @@ other_license_detections: AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - score: '100.0' + - license_expression: metamail + spdx_license_expression: metamail + from_file: start_line: '197' end_line: 206 + matcher: 2-aho + score: '100.0' matched_length: 87 match_coverage: '100.0' - matcher: 2-aho - license_expression: metamail - rule_identifier: metamail.LICENSE rule_relevance: 100 + rule_identifier: metamail.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/metamail.LICENSE matched_text: | Permission to use, copy, modify, and distribute this material @@ -206,27 +222,32 @@ other_license_detections: WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. identifier: x11_keith_packard_and_metamail-34a511f5-3e81-16a2-de12-7fbbb7e0f5c7 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 209 end_line: 209 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '99.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 210 end_line: 222 + matcher: 1-hash + score: '99.0' matched_length: 105 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_483.RULE rule_relevance: 99 + rule_identifier: gpl-3.0-plus_483.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_483.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -244,27 +265,32 @@ other_license_detections: `/usr/share/common-licenses/GPL-3'. identifier: gpl_3_0_plus-19d9def9-e12c-2282-ca9d-6b65b77eb924 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 224 end_line: 224 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 225 end_line: 237 + matcher: 1-hash + score: '100.0' matched_length: 105 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_986.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_986.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_986.RULE matched_text: | This program is free software; you can redistribute it and/or @@ -282,16 +308,19 @@ other_license_detections: `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus-54a2dc03-8069-9f58-8fd2-21a866d843f8 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 240 end_line: 272 + matcher: 1-hash + score: '100.0' matched_length: 211 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_361.RULE rule_relevance: 100 + rule_identifier: public-domain_361.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_361.RULE matched_text: | This imagemap module started as a port of the original imagemap.c @@ -329,16 +358,19 @@ other_license_detections: Mark Cox, mark@ukweb.com, Allow relative URLs even when no base specified identifier: public_domain-a7ae1690-4f60-4902-e6d2-15dc3a028b4c - license_expression: bsd-simplified-darwin + license_expression_spdx: LicenseRef-scancode-bsd-simplified-darwin matches: - - score: '100.0' + - license_expression: bsd-simplified-darwin + spdx_license_expression: LicenseRef-scancode-bsd-simplified-darwin + from_file: start_line: 279 end_line: 302 + matcher: 2-aho + score: '100.0' matched_length: 217 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified-darwin - rule_identifier: bsd-simplified-darwin.LICENSE rule_relevance: 100 + rule_identifier: bsd-simplified-darwin.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-simplified-darwin.LICENSE matched_text: | This software is not subject to any export provision of the United States @@ -367,31 +399,36 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_simplified_darwin-9a2496b0-cc3a-2546-8280-ca8b6b3383c6 - license_expression: apache-2.0 AND hs-regexp + license_expression_spdx: Apache-2.0 AND Spencer-94 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 306 end_line: 309 + matcher: 2-aho + score: '100.0' matched_length: 47 match_coverage: '100.0' - matcher: 2-aho - license_expression: apache-2.0 - rule_identifier: apache-2.0_1021.RULE rule_relevance: 100 + rule_identifier: apache-2.0_1021.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1021.RULE matched_text: | This software was submitted by Cisco Systems to the Apache Software Foundation in July 1997. Future revisions and derivatives of this source code must acknowledge Cisco Systems as the original contributor of this module. All other licensing and usage conditions are those of the Apache Software Foundation. - - score: '100.0' + - license_expression: hs-regexp + spdx_license_expression: Spencer-94 + from_file: start_line: 317 end_line: 335 + matcher: 2-aho + score: '100.0' matched_length: 148 match_coverage: '100.0' - matcher: 2-aho - license_expression: hs-regexp - rule_identifier: hs-regexp_1.RULE rule_relevance: 100 + rule_identifier: hs-regexp_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/hs-regexp_1.RULE matched_text: | This software is not subject to any license of the American Telephone and @@ -415,16 +452,19 @@ other_license_detections: 4. This notice may not be removed or altered. identifier: apache_2_0_and_hs_regexp-418b8fd9-1905-1ad7-6930-311a90aaf0a7 - license_expression: bsd-unchanged + license_expression_spdx: LicenseRef-scancode-bsd-unchanged matches: - - score: '100.0' + - license_expression: bsd-unchanged + spdx_license_expression: LicenseRef-scancode-bsd-unchanged + from_file: start_line: 370 end_line: 391 + matcher: 1-hash + score: '100.0' matched_length: 208 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-unchanged - rule_identifier: bsd-unchanged_4.RULE rule_relevance: 100 + rule_identifier: bsd-unchanged_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-unchanged_4.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -451,16 +491,19 @@ other_license_detections: THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_unchanged-b3a50ceb-2258-90d8-693d-32de170e8f80 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 395 end_line: 419 + matcher: 1-hash + score: '100.0' matched_length: 214 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_879.RULE rule_relevance: 100 + rule_identifier: bsd-new_879.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_879.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -490,16 +533,19 @@ other_license_detections: POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-bd6a26eb-db9d-de45-5d56-8c5674ddfb3f - license_expression: bison-exception-2.2 + license_expression_spdx: Bison-exception-2.2 matches: - - score: '100.0' + - license_expression: bison-exception-2.2 + spdx_license_expression: Bison-exception-2.2 + from_file: start_line: 422 end_line: 433 + matcher: 2-aho + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 2-aho - license_expression: bison-exception-2.2 - rule_identifier: bison-exception-2.2.LICENSE rule_relevance: 100 + rule_identifier: bison-exception-2.2.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bison-exception-2.2.LICENSE matched_text: | As a special exception, you may create a larger work that contains @@ -516,16 +562,19 @@ other_license_detections: version 2.2 of Bison. */ identifier: bison_exception_2_2-b8782f6d-6348-8be8-bb53-4f79d1684277 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 439 end_line: 454 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy of diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/a/appstream/appstream_0.12.5-1_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/a/appstream/appstream_0.12.5-1_copyright-detailed.expected.yml index 3ea7b27369..26aedb9452 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/a/appstream/appstream_0.12.5-1_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/a/appstream/appstream_0.12.5-1_copyright-detailed.expected.yml @@ -31,27 +31,32 @@ other_license_expression_spdx: ((GPL-2.0-or-later AND GPL-2.0-or-later) AND (LGP license_detections: [] other_license_detections: - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 67 end_line: 67 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 68 end_line: 82 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_846.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_846.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_846.RULE matched_text: | This package is free software; you can redistribute it and/or modify @@ -71,27 +76,32 @@ other_license_detections: Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". identifier: gpl_2_0_plus-00217b75-1a81-9ffa-8aed-0d1bd2f9756b - license_expression: lgpl-2.1-plus AND lgpl-2.1 + license_expression_spdx: LGPL-2.1-or-later AND LGPL-2.1-only matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 84 end_line: 84 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 85 end_line: 96 + matcher: 2-aho + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_36.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_36.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_36.RULE matched_text: | This library is free software: you can redistribute it and/or modify @@ -106,15 +116,17 @@ other_license_detections: You should have received a copy of the GNU Lesser General Public License along with this library. If not, see . - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 98 end_line: 99 + matcher: 2-aho + score: '100.0' matched_length: 27 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_293.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_293.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_293.RULE matched_text: | On Debian systems, the complete text of the GNU Lesser General diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/a/asterisk/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/a/asterisk/stable_copyright-detailed.expected.yml index 00cef7365c..c667351a48 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/a/asterisk/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/a/asterisk/stable_copyright-detailed.expected.yml @@ -81,16 +81,19 @@ other_license_expression_spdx: GPL-2.0-only AND GPL-2.0-only AND GPL-2.0-only AN license_detections: [] other_license_detections: - license_expression: autoconf-simple-exception-2.0 + license_expression_spdx: Autoconf-exception-generic matches: - - score: '100.0' + - license_expression: autoconf-simple-exception-2.0 + spdx_license_expression: Autoconf-exception-generic + from_file: start_line: 109 end_line: 112 + matcher: 1-hash + score: '100.0' matched_length: 42 match_coverage: '100.0' - matcher: 1-hash - license_expression: autoconf-simple-exception-2.0 - rule_identifier: autoconf-simple-exception-2.0.LICENSE rule_relevance: 100 + rule_identifier: autoconf-simple-exception-2.0.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/autoconf-simple-exception-2.0.LICENSE matched_text: | As a special exception to the GNU General Public License, if you @@ -99,78 +102,93 @@ other_license_detections: distribution terms that you use for the rest of that program. identifier: autoconf_simple_exception_2_0-9f49705d-f825-5107-3217-345df57f18c4 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 242 end_line: 243 + matcher: 1-hash + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_492.RULE rule_relevance: 100 + rule_identifier: public-domain_492.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_492.RULE matched_text: | This file is in the public domain, so clarified as of 1996-06-05 by Arthur David Olson. identifier: public_domain-1f8bbf4c-14a2-f656-073e-b7f150683f85 - license_expression: public-domain-disclaimer + license_expression_spdx: LicenseRef-scancode-public-domain-disclaimer matches: - - score: '100.0' + - license_expression: public-domain-disclaimer + spdx_license_expression: LicenseRef-scancode-public-domain-disclaimer + from_file: start_line: 296 end_line: 297 + matcher: 1-hash + score: '100.0' matched_length: 13 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain-disclaimer - rule_identifier: public-domain-disclaimer_73.RULE rule_relevance: 100 + rule_identifier: public-domain-disclaimer_73.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain-disclaimer_73.RULE matched_text: | This code is released into public domain without any warranty of any kind. identifier: public_domain_disclaimer-55ffa672-4ca7-dee0-c2e7-272a0f534dea - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 314 end_line: 314 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: other-permissive - rule_identifier: other-permissive_2.RULE rule_relevance: 100 + rule_identifier: other-permissive_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_2.RULE matched_text: This code is released by the author with no restrictions on usage. identifier: other_permissive-f3b400be-ace2-fed7-d629-910346d268ab - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 333 end_line: 334 + matcher: 2-aho + score: '100.0' matched_length: 9 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_357.RULE rule_relevance: 100 + rule_identifier: other-permissive_357.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_357.RULE matched_text: | is distributed with no restrictions on usage or redistribution. identifier: other_permissive-ddeff00e-f9b3-ce6d-ddf0-a5f456a285be - license_expression: bison-exception-2.2 + license_expression_spdx: Bison-exception-2.2 matches: - - score: '100.0' + - license_expression: bison-exception-2.2 + spdx_license_expression: Bison-exception-2.2 + from_file: start_line: 361 end_line: 369 + matcher: 1-hash + score: '100.0' matched_length: 90 match_coverage: '100.0' - matcher: 1-hash - license_expression: bison-exception-2.2 - rule_identifier: bison-exception-2.2_2.RULE rule_relevance: 100 + rule_identifier: bison-exception-2.2_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bison-exception-2.2_2.RULE matched_text: | As a special exception, you may create a larger work that contains part @@ -184,32 +202,38 @@ other_license_detections: special exception. identifier: bison_exception_2_2-62db0610-72a0-b2fc-f701-b0b81629c32f - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 407 end_line: 408 + matcher: 1-hash + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_303.RULE rule_relevance: 100 + rule_identifier: public-domain_303.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_303.RULE matched_text: | This code was written by Colin Plumb in 1993, no copyright is claimed. This code is in the public domain; do with it what you wish. identifier: public_domain-12604376-43c0-ec4b-0941-067570a4db40 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '96.07' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 464 end_line: 509 + matcher: 3-seq + score: '96.07' matched_length: 342 match_coverage: '96.07' - matcher: 3-seq - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1121.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1121.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1121.RULE matched_text: | is distributed under the GNU General Public License version 2 @@ -260,16 +284,19 @@ other_license_detections: steps you must take. identifier: gpl_2_0-3a84c865-d3ef-b5e3-0f84-3e3de333342d - license_expression: mit + license_expression_spdx: MIT matches: - - score: '80.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 521 end_line: 530 + matcher: 1-hash + score: '80.0' matched_length: 86 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit_17.RULE rule_relevance: 80 + rule_identifier: mit_17.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_17.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -284,16 +311,19 @@ other_license_detections: in all copies or substantial portions of the Software. identifier: mit-19e92631-4a50-0b43-f7f7-3c6b7d44ec18 - license_expression: mit-0 + license_expression_spdx: MIT-0 matches: - - score: '100.0' + - license_expression: mit-0 + spdx_license_expression: MIT-0 + from_file: start_line: 533 end_line: 547 + matcher: 1-hash + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit-0 - rule_identifier: mit-0_7.RULE rule_relevance: 100 + rule_identifier: mit-0_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-0_7.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -313,16 +343,19 @@ other_license_detections: SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: mit_0-e97e8050-686d-72b3-c2a6-113468d402c0 - license_expression: mit-old-style-no-advert + license_expression_spdx: NTP matches: - - score: '100.0' + - license_expression: mit-old-style-no-advert + spdx_license_expression: NTP + from_file: start_line: 550 end_line: 558 + matcher: 1-hash + score: '100.0' matched_length: 96 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit-old-style-no-advert - rule_identifier: mit-old-style-no-advert_3.RULE rule_relevance: 100 + rule_identifier: mit-old-style-no-advert_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style-no-advert_3.RULE matched_text: | Permission to use, copy, modify, distribute, and sell this software and @@ -336,16 +369,19 @@ other_license_detections: It is provided "as is" without express or implied warranty. identifier: mit_old_style_no_advert-469a8f5b-14cb-1cf1-ac4f-fd7a23bb63e5 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 561 end_line: 583 + matcher: 1-hash + score: '100.0' matched_length: 203 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_98.RULE rule_relevance: 100 + rule_identifier: bsd-new_98.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_98.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -373,16 +409,19 @@ other_license_detections: POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-ddbdf2af-d93f-9912-6c83-1167bb9d3f80 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 586 end_line: 608 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_1015.RULE rule_relevance: 100 + rule_identifier: bsd-new_1015.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1015.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -410,16 +449,19 @@ other_license_detections: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-48383578-475e-5654-be6f-877cdb4e161f - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 611 end_line: 635 + matcher: 1-hash + score: '100.0' matched_length: 216 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_49.RULE rule_relevance: 100 + rule_identifier: bsd-new_49.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_49.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -449,16 +491,19 @@ other_license_detections: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-df894017-a635-e03d-12c4-50658ae65a4b - license_expression: bsd-original-uc + license_expression_spdx: BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 638 end_line: 665 + matcher: 1-hash + score: '100.0' matched_length: 242 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_30.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_30.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_30.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -491,16 +536,19 @@ other_license_detections: ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_original_uc-95995244-8a5e-7b1d-621e-a9ab16cc826a - license_expression: bsd-original + license_expression_spdx: BSD-4-Clause matches: - - score: '100.0' + - license_expression: bsd-original + spdx_license_expression: BSD-4-Clause + from_file: start_line: 668 end_line: 696 + matcher: 1-hash + score: '100.0' matched_length: 245 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-original - rule_identifier: bsd-original_32.RULE rule_relevance: 100 + rule_identifier: bsd-original_32.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original_32.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -534,16 +582,19 @@ other_license_detections: DAMAGE. identifier: bsd_original-07212ebb-4bc6-b4e9-de7c-a4d294184c21 - license_expression: brian-clapper + license_expression_spdx: LicenseRef-scancode-brian-clapper matches: - - score: '68.51' + - license_expression: brian-clapper + spdx_license_expression: LicenseRef-scancode-brian-clapper + from_file: start_line: 699 end_line: 719 + matcher: 3-seq + score: '68.51' matched_length: 124 match_coverage: '68.51' - matcher: 3-seq - license_expression: brian-clapper - rule_identifier: brian-clapper.LICENSE rule_relevance: 100 + rule_identifier: brian-clapper.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/brian-clapper.LICENSE matched_text: | Redistribution and use in source and binary forms are permitted @@ -569,16 +620,19 @@ other_license_detections: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. identifier: brian_clapper-7c8f1880-18e3-227a-0c44-13ed19b3b5fc - license_expression: tu-berlin + license_expression_spdx: TU-Berlin-1.0 matches: - - score: '100.0' + - license_expression: tu-berlin + spdx_license_expression: TU-Berlin-1.0 + from_file: start_line: 722 end_line: 731 + matcher: 1-hash + score: '100.0' matched_length: 90 match_coverage: '100.0' - matcher: 1-hash - license_expression: tu-berlin - rule_identifier: tu-berlin.LICENSE rule_relevance: 100 + rule_identifier: tu-berlin.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/tu-berlin.LICENSE matched_text: | Any use of this software is permitted provided that this notice is not @@ -593,16 +647,19 @@ other_license_detections: improvements that may be of general interest. identifier: tu_berlin-15bd3bf9-723b-4803-c7ef-1e76399dcbac - license_expression: isc + license_expression_spdx: ISC matches: - - score: '99.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 734 end_line: 736 + matcher: 1-hash + score: '99.0' matched_length: 33 match_coverage: '100.0' - matcher: 1-hash - license_expression: isc - rule_identifier: isc_truncated.RULE rule_relevance: 99 + rule_identifier: isc_truncated.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_truncated.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -610,16 +667,19 @@ other_license_detections: copyright notice and this permission notice appear in all copies. identifier: isc-5f45f5f1-73e1-c745-cdd8-9491f9450d2d - license_expression: wol + license_expression_spdx: LicenseRef-scancode-wol matches: - - score: '90.77' + - license_expression: wol + spdx_license_expression: LicenseRef-scancode-wol + from_file: start_line: 739 end_line: 745 + matcher: 3-seq + score: '90.77' matched_length: 59 match_coverage: '90.77' - matcher: 3-seq - license_expression: wol - rule_identifier: wol.LICENSE rule_relevance: 100 + rule_identifier: wol.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/wol.LICENSE matched_text: | The Wide Open License (WOL) @@ -631,46 +691,55 @@ other_license_detections: IMPLIED WARRANTY OF ANY KIND. See http://www.dspguru.com/ identifier: wol-268a1b47-4ac9-4074-797d-6622b7de15ee - license_expression: fsf-free + license_expression_spdx: FSFUL matches: - - score: '100.0' + - license_expression: fsf-free + spdx_license_expression: FSFUL + from_file: start_line: 749 end_line: 750 + matcher: 1-hash + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-free - rule_identifier: fsf-free.LICENSE rule_relevance: 100 + rule_identifier: fsf-free.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-free.LICENSE matched_text: | This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. identifier: fsf_free-95bff5c5-ed9b-1c78-0dd8-4c05168176ba - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 94 end_line: 94 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_620.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_620.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_620.RULE matched_text: GPL-2 identifier: gpl_2_0-73650a7c-ed7f-7e77-df4a-654c89d9a1a6 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 89 end_line: 91 + matcher: 1-hash + score: '100.0' matched_length: 28 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1333.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1333.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1333.RULE matched_text: | This program is free software, distributed under the terms of the GNU @@ -678,16 +747,19 @@ other_license_detections: the source tree. identifier: gpl_2_0-43983640-24ee-7fcd-5762-77ac455bbaf7 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 104 end_line: 107 + matcher: 1-hash + score: '100.0' matched_length: 39 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_165.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_165.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_165.RULE matched_text: | This program is free software; you can redistribute it and/or modify it @@ -696,88 +768,106 @@ other_license_detections: later version. identifier: gpl_2_0_plus-b2201fb7-5a21-89a3-4ab2-5486f22b89aa - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '80.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 145 end_line: 145 + matcher: 1-hash + score: '80.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1153.RULE rule_relevance: 80 + rule_identifier: gpl-2.0_1153.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1153.RULE matched_text: Version of license not mentioned. Assumed to be version 2. identifier: gpl_2_0-eb0b9bcf-0157-49dd-cb2e-d511ffc33cb0 - license_expression: gpl-1.0-plus + license_expression_spdx: GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 141 end_line: 142 + matcher: 2-aho + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_469.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_469.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_469.RULE matched_text: | distributed under the terms of the GNU General Public License identifier: gpl_1_0_plus-df8dc57b-9ffe-5d74-afd6-5514ed17578c - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '80.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 168 end_line: 168 + matcher: 1-hash + score: '80.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1153.RULE rule_relevance: 80 + rule_identifier: gpl-2.0_1153.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1153.RULE matched_text: Version of license not mentioned. Assumed to be version 2. identifier: gpl_2_0-eb0b9bcf-0157-49dd-cb2e-d511ffc33cb0 - license_expression: gpl-1.0-plus + license_expression_spdx: GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 165 end_line: 165 + matcher: 1-hash + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_469.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_469.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_469.RULE matched_text: Distributed under the terms of the GNU General Public License identifier: gpl_1_0_plus-df8dc57b-9ffe-5d74-afd6-5514ed17578c - license_expression: unknown + license_expression_spdx: LicenseRef-scancode-unknown matches: - - score: '100.0' + - license_expression: unknown + spdx_license_expression: LicenseRef-scancode-unknown + from_file: start_line: 178 end_line: 178 + matcher: 1-hash + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 1-hash - license_expression: unknown - rule_identifier: unknown_9.RULE rule_relevance: 100 + rule_identifier: unknown_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown_9.RULE matched_text: 'License: none' identifier: unknown-f774baab-edec-ae58-59f7-6560caa7b354 - license_expression: free-unknown + license_expression_spdx: LicenseRef-scancode-free-unknown matches: - - score: '100.0' + - license_expression: free-unknown + spdx_license_expression: LicenseRef-scancode-free-unknown + from_file: start_line: '194' end_line: '197' + matcher: 1-hash + score: '100.0' matched_length: 44 match_coverage: '100.0' - matcher: 1-hash - license_expression: free-unknown - rule_identifier: free-unknown_109.RULE rule_relevance: 100 + rule_identifier: free-unknown_109.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown_109.RULE matched_text: | This software is furnished under an open source license and may be used @@ -786,30 +876,36 @@ other_license_detections: installation in the COPYING file. identifier: free_unknown-f1e785fc-6c3c-c65c-210c-f20466d01e3f - license_expression: unknown + license_expression_spdx: LicenseRef-scancode-unknown matches: - - score: '100.0' + - license_expression: unknown + spdx_license_expression: LicenseRef-scancode-unknown + from_file: start_line: 247 end_line: 247 + matcher: 1-hash + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 1-hash - license_expression: unknown - rule_identifier: unknown_9.RULE rule_relevance: 100 + rule_identifier: unknown_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown_9.RULE matched_text: 'License: none' identifier: unknown-f774baab-edec-ae58-59f7-6560caa7b354 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 249 end_line: 267 + matcher: 1-hash + score: '100.0' matched_length: 145 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_362.RULE rule_relevance: 100 + rule_identifier: public-domain_362.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_362.RULE matched_text: | File lacks copyright and licensing, but contains the comment @@ -833,16 +929,19 @@ other_license_detections: See also . identifier: public_domain-8b03c0c6-7f43-0f68-f5ed-25816ff9abb5 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 277 end_line: 284 + matcher: 1-hash + score: '100.0' matched_length: 69 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_848.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_848.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_848.RULE matched_text: | Have you intended for that package to be released under a Free @@ -855,16 +954,19 @@ other_license_detections: fine. Please add the appropriate text to the file for me, in my name. identifier: gpl_2_0_plus-9a2b5cf4-1756-166b-792e-fd20299b5cca - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 324 end_line: 327 + matcher: 1-hash + score: '100.0' matched_length: 42 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_64.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_64.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_64.RULE matched_text: | This program is free software; you can redistribute it and/or modify it @@ -873,16 +975,19 @@ other_license_detections: option) any later version. identifier: gpl_2_0_plus-fae85b38-a7df-a9b9-e042-839c0951b0f2 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 341 end_line: 343 + matcher: 1-hash + score: '100.0' matched_length: 28 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1333.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1333.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1333.RULE matched_text: | This program is free software, distributed under the terms of the GNU @@ -890,16 +995,19 @@ other_license_detections: the source tree. identifier: gpl_2_0-43983640-24ee-7fcd-5762-77ac455bbaf7 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 356 end_line: 359 + matcher: 1-hash + score: '100.0' matched_length: 42 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_7.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_7.RULE matched_text: | This program is free software: you can redistribute it and/or modify it @@ -908,44 +1016,53 @@ other_license_detections: option) any later version. identifier: gpl_3_0_plus-df55e3fd-7413-e35e-759e-e485d35d8709 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '80.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 381 end_line: 381 + matcher: 1-hash + score: '80.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1153.RULE rule_relevance: 80 + rule_identifier: gpl-2.0_1153.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1153.RULE matched_text: Version of license not mentioned. Assumed to be version 2. identifier: gpl_2_0-eb0b9bcf-0157-49dd-cb2e-d511ffc33cb0 - license_expression: gpl-1.0-plus + license_expression_spdx: GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 378 end_line: 378 + matcher: 1-hash + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_470.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_470.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_470.RULE matched_text: you may use this source under GPL terms! identifier: gpl_1_0_plus-02a5caf2-d20c-3df8-10d3-6013622398d3 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 387 end_line: 389 + matcher: 1-hash + score: '100.0' matched_length: 28 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1333.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1333.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1333.RULE matched_text: | This program is free software, distributed under the terms of the GNU @@ -953,30 +1070,36 @@ other_license_detections: the source tree. identifier: gpl_2_0-43983640-24ee-7fcd-5762-77ac455bbaf7 - license_expression: lgpl-2.1 + license_expression_spdx: LGPL-2.1-only matches: - - score: '90.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 402 end_line: 402 + matcher: 1-hash + score: '90.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_384.RULE rule_relevance: 90 + rule_identifier: lgpl-2.1_384.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_384.RULE matched_text: Version of LGPL license not mentioned. Assumed to be version 2.1. identifier: lgpl_2_1-9d65d7eb-28e6-86d4-7cd1-3511a4874ff0 - license_expression: gpl-2.0 OR lgpl-2.0-plus + license_expression_spdx: GPL-2.0-only OR LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0 OR lgpl-2.0-plus + spdx_license_expression: GPL-2.0-only OR LGPL-2.0-or-later + from_file: start_line: 395 end_line: 399 + matcher: 1-hash + score: '100.0' matched_length: 39 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 OR lgpl-2.0-plus - rule_identifier: gpl-2.0_or_lgpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_or_lgpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_or_lgpl-2.0-plus_1.RULE matched_text: | This program is free software, distributed under the terms of the GNU @@ -986,76 +1109,91 @@ other_license_detections: This version may be optionally licenced under the GNU LGPL licence. identifier: gpl_2_0_or_lgpl_2_0_plus-206cbc1f-fed9-7e50-e2a9-4f46f9c7e00b - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '80.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 430 end_line: 430 + matcher: 2-aho + score: '80.0' matched_length: 10 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1153.RULE rule_relevance: 80 + rule_identifier: gpl-2.0_1153.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1153.RULE matched_text: Version of license not mentioned. Assumed to be version 2. identifier: gpl_2_0-eb0b9bcf-0157-49dd-cb2e-d511ffc33cb0 - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 426 end_line: 427 + matcher: 1-hash + score: '100.0' matched_length: 17 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_86.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_86.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_86.RULE matched_text: | This program is free software, distributed under the terms of the GNU Lesser (Library) General Public License identifier: lgpl_2_0_plus-3e10ba6d-0bbf-e152-fb34-825bba879c49 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 435 end_line: 436 + matcher: 2-aho + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_1064.RULE rule_relevance: 100 + rule_identifier: mit_1064.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1064.RULE matched_text: | Prototype is freely distributable under the terms of an MIT-style license. identifier: mit-e2868c72-df76-6a12-abb5-ab69764643a3 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '80.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 461 end_line: 461 + matcher: 1-hash + score: '80.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1153.RULE rule_relevance: 80 + rule_identifier: gpl-2.0_1153.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1153.RULE matched_text: Version of license not mentioned. Assumed to be version 2. identifier: gpl_2_0-eb0b9bcf-0157-49dd-cb2e-d511ffc33cb0 - license_expression: gpl-1.0-plus + license_expression_spdx: GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 458 end_line: 458 + matcher: 1-hash + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_469.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_469.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_469.RULE matched_text: Distributed under the terms of the GNU General Public License identifier: gpl_1_0_plus-df8dc57b-9ffe-5d74-afd6-5514ed17578c diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/b/backup-manager/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/b/backup-manager/stable_copyright-detailed.expected.yml index e5484becf5..b96c4d4f18 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/b/backup-manager/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/b/backup-manager/stable_copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 20 end_line: 26 + matcher: 2-aho + score: '100.0' matched_length: 66 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_842.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_842.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_842.RULE matched_text: | This program is free software; you can redistribute it and/or diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/c/clamav/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/c/clamav/stable_copyright-detailed.expected.yml index 92358cada6..6be47e8048 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/c/clamav/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/c/clamav/stable_copyright-detailed.expected.yml @@ -71,27 +71,32 @@ other_license_expression_spdx: (GPL-2.0-only AND GPL-2.0-only) AND GPL-2.0-only license_detections: [] other_license_detections: - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 24 end_line: 24 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 25 end_line: 32 + matcher: 1-hash + score: '100.0' matched_length: 68 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_121.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_121.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_121.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -104,16 +109,19 @@ other_license_detections: GNU General Public License for more details. identifier: gpl_2_0-13c8cd4f-352a-44e7-e48a-515a025ad21a - license_expression: gpl-2.0 AND openssl-exception-gpl-3.0-plus + license_expression_spdx: GPL-2.0-only AND cryptsetup-OpenSSL-exception matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 50 end_line: 57 + matcher: 2-aho + score: '100.0' matched_length: 68 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_121.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_121.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_121.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -124,15 +132,17 @@ other_license_detections: 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. - - score: '100.0' + - license_expression: openssl-exception-gpl-3.0-plus + spdx_license_expression: cryptsetup-OpenSSL-exception + from_file: start_line: 59 end_line: 71 + matcher: 2-aho + score: '100.0' matched_length: 121 match_coverage: '100.0' - matcher: 2-aho - license_expression: openssl-exception-gpl-3.0-plus - rule_identifier: openssl-exception-gpl-3.0-plus.LICENSE rule_relevance: 100 + rule_identifier: openssl-exception-gpl-3.0-plus.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/openssl-exception-gpl-3.0-plus.LICENSE matched_text: | In addition, as a special exception, the copyright holders give @@ -148,15 +158,17 @@ other_license_detections: do not wish to do so, delete this exception statement from your version. If you delete this exception statement from all source files in the program, then also delete it here. - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 73 end_line: 79 + matcher: 1-hash + score: '100.0' matched_length: 60 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1140.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1140.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1140.RULE matched_text: | You should have received a copy of the GNU General Public License @@ -168,16 +180,19 @@ other_license_detections: version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_and_openssl_exception_gpl_3_0_plus-4bfc23da-ba7f-0034-0c4a-76df54fb9c6c - license_expression: gpl-2.0-plus AND autoconf-simple-exception-2.0 AND gpl-2.0 + license_expression_spdx: GPL-2.0-or-later AND Autoconf-exception-generic AND GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 155 end_line: 163 + matcher: 2-aho + score: '100.0' matched_length: 76 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_3.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_3.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -189,30 +204,34 @@ other_license_detections: 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. - - score: '100.0' + - license_expression: autoconf-simple-exception-2.0 + spdx_license_expression: Autoconf-exception-generic + from_file: start_line: 165 end_line: 168 + matcher: 2-aho + score: '100.0' matched_length: 42 match_coverage: '100.0' - matcher: 2-aho - license_expression: autoconf-simple-exception-2.0 - rule_identifier: autoconf-simple-exception-2.0.LICENSE rule_relevance: 100 + rule_identifier: autoconf-simple-exception-2.0.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/autoconf-simple-exception-2.0.LICENSE matched_text: | As a special exception to the GNU General Public License, if you distribute this file as part of a program that contains a configuration script generated by Autoconf, you may include it under the same distribution terms that you use for the rest of that program. - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 170 end_line: 176 + matcher: 1-hash + score: '100.0' matched_length: 60 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1140.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1140.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1140.RULE matched_text: | You should have received a copy of the GNU General Public License @@ -224,16 +243,19 @@ other_license_detections: version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus_and_autoconf_simple_exception_2_0_and_gpl_2_0-9c440fc6-c89d-eac9-984f-9afc3517a2bc - license_expression: gpl-3.0-plus WITH autoconf-simple-exception AND gpl-3.0 + license_expression_spdx: GPL-3.0-or-later WITH Autoconf-exception-generic-3.0 AND GPL-3.0-only matches: - - score: '100.0' + - license_expression: gpl-3.0-plus WITH autoconf-simple-exception + spdx_license_expression: GPL-3.0-or-later WITH Autoconf-exception-generic-3.0 + from_file: start_line: 186 end_line: 201 + matcher: 1-hash + score: '100.0' matched_length: 139 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus WITH autoconf-simple-exception - rule_identifier: gpl-3.0-plus_with_autoconf-simple-exception_2.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_with_autoconf-simple-exception_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_autoconf-simple-exception_2.RULE matched_text: | This file is free software; you can redistribute it and/or modify it @@ -252,15 +274,17 @@ other_license_detections: the same distribution terms that you use for the rest of that program. This Exception is an additional permission under section 7 of the GNU General Public License, version 3 ("GPLv3"). - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 203 end_line: 209 + matcher: 1-hash + score: '100.0' matched_length: 60 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_404.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_404.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_404.RULE matched_text: | You should have received a copy of the GNU General Public License @@ -272,16 +296,19 @@ other_license_detections: version 3 can be found in the file `/usr/share/common-licenses/GPL-3. identifier: gpl_3_0_plus_with_autoconf_simple_exception_and_gpl_3_0-e49c9732-fd54-b06b-2294-0f61ae2e1dd0 - license_expression: gpl-2.0-plus WITH libtool-exception-2.0 AND gpl-2.0 + license_expression_spdx: GPL-2.0-or-later WITH Libtool-exception AND GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0-plus WITH libtool-exception-2.0 + spdx_license_expression: GPL-2.0-or-later WITH Libtool-exception + from_file: start_line: 217 end_line: 230 + matcher: 1-hash + score: '100.0' matched_length: 124 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus WITH libtool-exception-2.0 - rule_identifier: gpl-2.0-plus_with_libtool-exception-2.0_2.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_with_libtool-exception-2.0_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_libtool-exception-2.0_2.RULE matched_text: | GNU Libtool is free software; you can redistribute it and/or modify @@ -298,15 +325,17 @@ other_license_detections: 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. - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 232 end_line: 238 + matcher: 1-hash + score: '100.0' matched_length: 60 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1140.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1140.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1140.RULE matched_text: | You should have received a copy of the GNU General Public License @@ -318,16 +347,19 @@ other_license_detections: version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus_with_libtool_exception_2_0_and_gpl_2_0-48888805-4960-c49a-d793-4fb6f61d046a - license_expression: lgpl-2.0-plus WITH libtool-exception-2.0 AND lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later WITH Libtool-exception AND LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus WITH libtool-exception-2.0 + spdx_license_expression: LGPL-2.0-or-later WITH Libtool-exception + from_file: start_line: 245 end_line: 258 + matcher: 1-hash + score: '100.0' matched_length: 127 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus WITH libtool-exception-2.0 - rule_identifier: lgpl-2.0-plus_with_libtool-exception-2.0_4.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_with_libtool-exception-2.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_with_libtool-exception-2.0_4.RULE matched_text: | GNU Libltdl is free software; you can redistribute it and/or @@ -344,15 +376,17 @@ other_license_detections: but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 260 end_line: 266 + matcher: 1-hash + score: '100.0' matched_length: 62 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_452.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_452.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_452.RULE matched_text: | You should have received a copy of the GNU Lesser General Public License @@ -364,16 +398,19 @@ other_license_detections: version 2 can be found in the file `/usr/share/common-licenses/LGPL-2'. identifier: lgpl_2_0_plus_with_libtool_exception_2_0_and_lgpl_2_0_plus-ffe3027e-56b0-cee0-d997-bbd2a4c2f1b9 - license_expression: isc + license_expression_spdx: ISC matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 376 end_line: 386 + matcher: 1-hash + score: '100.0' matched_length: 111 match_coverage: '100.0' - matcher: 1-hash - license_expression: isc - rule_identifier: isc_14.RULE rule_relevance: 100 + rule_identifier: isc_14.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_14.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -389,16 +426,19 @@ other_license_detections: OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. identifier: isc-ea6c318e-91a9-413d-027a-507b2cebec2c - license_expression: fsf-unlimited + license_expression_spdx: FSFULLR matches: - - score: '100.0' + - license_expression: fsf-unlimited + spdx_license_expression: FSFULLR + from_file: start_line: 407 end_line: 409 + matcher: 1-hash + score: '100.0' matched_length: 29 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-unlimited - rule_identifier: fsf-unlimited.LICENSE rule_relevance: 100 + rule_identifier: fsf-unlimited.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-unlimited.LICENSE matched_text: | This file is free software; the Free Software Foundation gives @@ -406,32 +446,38 @@ other_license_detections: modifications, as long as this notice is preserved. identifier: fsf_unlimited-ed3d6762-95f0-131d-94c5-834f10d192a2 - license_expression: fsf-free + license_expression_spdx: FSFUL matches: - - score: '100.0' + - license_expression: fsf-free + spdx_license_expression: FSFUL + from_file: start_line: 417 end_line: 418 + matcher: 1-hash + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-free - rule_identifier: fsf-free.LICENSE rule_relevance: 100 + rule_identifier: fsf-free.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-free.LICENSE matched_text: | This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. identifier: fsf_free-95bff5c5-ed9b-1c78-0dd8-4c05168176ba - license_expression: fsf-unlimited-no-warranty + license_expression_spdx: FSFULLRWD matches: - - score: '100.0' + - license_expression: fsf-unlimited-no-warranty + spdx_license_expression: FSFULLRWD + from_file: start_line: 446 end_line: 453 + matcher: 1-hash + score: '100.0' matched_length: 63 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-unlimited-no-warranty - rule_identifier: fsf-unlimited-no-warranty.LICENSE rule_relevance: 100 + rule_identifier: fsf-unlimited-no-warranty.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-unlimited-no-warranty.LICENSE matched_text: | This file is free software; the Free Software Foundation @@ -444,16 +490,19 @@ other_license_detections: PARTICULAR PURPOSE. identifier: fsf_unlimited_no_warranty-0823c9f0-6e4b-8cf0-64e1-5165a09dfa45 - license_expression: fsf-ap + license_expression_spdx: FSFAP matches: - - score: '100.0' + - license_expression: fsf-ap + spdx_license_expression: FSFAP + from_file: start_line: 460 end_line: 463 + matcher: 1-hash + score: '100.0' matched_length: 37 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-ap - rule_identifier: fsf-ap_4.RULE rule_relevance: 100 + rule_identifier: fsf-ap_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-ap_4.RULE matched_text: | Copying and distribution of this file, with or without modification, @@ -462,16 +511,19 @@ other_license_detections: without warranty of any kind. identifier: fsf_ap-6e2950ec-5e19-6eae-7b74-d4a2741381b9 - license_expression: fsf-ap + license_expression_spdx: FSFAP matches: - - score: '100.0' + - license_expression: fsf-ap + spdx_license_expression: FSFAP + from_file: start_line: 470 end_line: 473 + matcher: 1-hash + score: '100.0' matched_length: 35 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-ap - rule_identifier: fsf-ap.LICENSE rule_relevance: 100 + rule_identifier: fsf-ap.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-ap.LICENSE matched_text: | Copying and distribution of this file, with or without modification, are @@ -480,16 +532,19 @@ other_license_detections: warranty. identifier: fsf_ap-a7d380d0-4462-458a-36c1-1852bdcbf538 - license_expression: bzip2-libbzip-2010 + license_expression_spdx: bzip2-1.0.6 matches: - - score: '100.0' + - license_expression: bzip2-libbzip-2010 + spdx_license_expression: bzip2-1.0.6 + from_file: start_line: 482 end_line: 511 + matcher: 1-hash + score: '100.0' matched_length: 233 match_coverage: '100.0' - matcher: 1-hash - license_expression: bzip2-libbzip-2010 - rule_identifier: bzip2-libbzip-2010.LICENSE rule_relevance: 100 + rule_identifier: bzip2-libbzip-2010.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bzip2-libbzip-2010.LICENSE matched_text: | Redistribution and use in source and binary forms, with or without @@ -524,69 +579,83 @@ other_license_detections: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bzip2_libbzip_2010-72b4db44-6142-9aeb-acd2-1d8f2447148c - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '70.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 518 end_line: 518 + matcher: 2-aho + score: '70.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_bare_words.RULE rule_relevance: 70 + rule_identifier: public-domain_bare_words.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE matched_text: public domain - - score: '70.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 519 end_line: 519 + matcher: 2-aho + score: '70.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_bare_words.RULE rule_relevance: 70 + rule_identifier: public-domain_bare_words.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE matched_text: Public Domain identifier: public_domain-3a08f30b-d5be-6da1-ff9f-8c48b649c6c7 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 526 end_line: 526 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_38.RULE rule_relevance: 100 + rule_identifier: public-domain_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_38.RULE matched_text: is public domain identifier: public_domain-7d49b7ad-8b9e-60cd-5fde-397e63b65786 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 533 end_line: 533 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_45.RULE rule_relevance: 100 + rule_identifier: public-domain_45.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_45.RULE matched_text: placed in the public domain identifier: public_domain-f03547dd-ab14-17f3-8260-38458dca67ee - license_expression: x11-tiff + license_expression_spdx: libtiff matches: - - score: '100.0' + - license_expression: x11-tiff + spdx_license_expression: libtiff + from_file: start_line: 543 end_line: 560 + matcher: 1-hash + score: '100.0' matched_length: 168 match_coverage: '100.0' - matcher: 1-hash - license_expression: x11-tiff - rule_identifier: x11-tiff.LICENSE rule_relevance: 100 + rule_identifier: x11-tiff.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-tiff.LICENSE matched_text: | Permission to use, copy, modify, distribute, and sell this software and @@ -609,41 +678,49 @@ other_license_detections: OF THIS SOFTWARE. identifier: x11_tiff-5ce7e7c5-68de-6124-c361-eb1e45ac5ec7 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 565 end_line: 565 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_38.RULE rule_relevance: 100 + rule_identifier: public-domain_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_38.RULE matched_text: is public domain. - - score: '70.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 569 end_line: 569 + matcher: 2-aho + score: '70.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_bare_words.RULE rule_relevance: 70 + rule_identifier: public-domain_bare_words.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE matched_text: public domain. identifier: public_domain-12719e81-b9e7-3b20-5ec2-b0cc7eebb090 - license_expression: apache-2.0 AND apache-2.0 WITH generic-exception + license_expression_spdx: Apache-2.0 AND Apache-2.0 WITH LicenseRef-scancode-generic-exception matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 579 end_line: 589 + matcher: 1-hash + score: '100.0' matched_length: 85 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_7.RULE rule_relevance: 100 + rule_identifier: apache-2.0_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_7.RULE matched_text: | Licensed under the Apache License, Version 2.0 (the "License"); @@ -657,15 +734,17 @@ other_license_detections: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. - - score: '100.0' + - license_expression: apache-2.0 WITH generic-exception + spdx_license_expression: Apache-2.0 WITH LicenseRef-scancode-generic-exception + from_file: start_line: 591 end_line: 602 + matcher: 1-hash + score: '100.0' matched_length: 137 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 WITH generic-exception - rule_identifier: apache-2.0_with_generic-exception_1.RULE rule_relevance: 100 + rule_identifier: apache-2.0_with_generic-exception_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_with_generic-exception_1.RULE matched_text: | See COPYING.YARA. The GPL exception has been granted by upstream in @@ -682,16 +761,19 @@ other_license_detections: found in the file `/usr/share/common-licenses/Apache-2.0'. identifier: apache_2_0_and_apache_2_0_with_generic_exception-a8c6f17d-1661-8453-bad0-5cae80a43f41 - license_expression: gpl-3.0-plus WITH bison-exception-2.2 AND gpl-3.0 + license_expression_spdx: GPL-3.0-or-later WITH Bison-exception-2.2 AND GPL-3.0-only matches: - - score: '100.0' + - license_expression: gpl-3.0-plus WITH bison-exception-2.2 + spdx_license_expression: GPL-3.0-or-later WITH Bison-exception-2.2 + from_file: start_line: 610 end_line: 628 + matcher: 1-hash + score: '100.0' matched_length: 169 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus WITH bison-exception-2.2 - rule_identifier: gpl-3.0-plus_with_bison-exception-2.2_6.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_with_bison-exception-2.2_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_bison-exception-2.2_6.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -713,15 +795,17 @@ other_license_detections: special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 630 end_line: 636 + matcher: 1-hash + score: '100.0' matched_length: 60 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_404.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_404.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_404.RULE matched_text: | You should have received a copy of the GNU General Public License @@ -733,27 +817,32 @@ other_license_detections: version 3 can be found in the file `/usr/share/common-licenses/GPL-3. identifier: gpl_3_0_plus_with_bison_exception_2_2_and_gpl_3_0-89877544-461a-1807-d39e-e7828b16809d - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 638 end_line: 638 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 639 end_line: 647 + matcher: 1-hash + score: '100.0' matched_length: 79 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_90.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_90.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_90.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -767,27 +856,32 @@ other_license_detections: GNU General Public License for more details. identifier: gpl_2_0_plus-fd645ea4-8c55-2e5f-ed83-f732efae58db - license_expression: lgpl-2.1 + license_expression_spdx: LGPL-2.1-only matches: - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 649 end_line: 649 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_38.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_38.RULE matched_text: 'License: lgpl-2.1' - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 650 end_line: 657 + matcher: 1-hash + score: '100.0' matched_length: 71 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_302.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_302.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_302.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -800,16 +894,19 @@ other_license_detections: Lesser General Public License for more details. identifier: lgpl_2_1-b259c323-2b92-43df-e588-943699e0bf8f - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 668 end_line: 683 + matcher: 1-hash + score: '100.0' matched_length: 160 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit_1063.RULE rule_relevance: 100 + rule_identifier: mit_1063.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1063.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -830,16 +927,19 @@ other_license_detections: TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: mit-61fd06a2-aa8b-6f8b-d7a6-d21c4378a12a - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 686 end_line: 705 + matcher: 1-hash + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified - rule_identifier: bsd-simplified_28.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_28.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_28.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -864,16 +964,19 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_simplified-0babbbff-d6dd-6741-97f3-c930c052317f - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 708 end_line: 730 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -901,16 +1004,19 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98 - license_expression: zlib + license_expression_spdx: Zlib matches: - - score: '100.0' + - license_expression: zlib + spdx_license_expression: Zlib + from_file: start_line: 733 end_line: 747 + matcher: 1-hash + score: '100.0' matched_length: 132 match_coverage: '100.0' - matcher: 1-hash - license_expression: zlib - rule_identifier: zlib.LICENSE rule_relevance: 100 + rule_identifier: zlib.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE matched_text: | This software is provided 'as-is', without any express or implied @@ -930,16 +1036,19 @@ other_license_detections: 3. This notice may not be removed or altered from any source distribution. identifier: zlib-f32ae987-c66a-44ce-bd13-c90e0c59aab8 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 34 end_line: 40 + matcher: 1-hash + score: '100.0' matched_length: 60 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1140.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1140.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1140.RULE matched_text: | You should have received a copy of the GNU General Public License @@ -951,16 +1060,19 @@ other_license_detections: version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-31fbee1e-1dbb-ab54-755a-9520b4bece5f - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 73 end_line: 79 + matcher: 1-hash + score: '100.0' matched_length: 60 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1140.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1140.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1140.RULE matched_text: | You should have received a copy of the GNU General Public License @@ -972,16 +1084,19 @@ other_license_detections: version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-31fbee1e-1dbb-ab54-755a-9520b4bece5f - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 121 end_line: 127 + matcher: 1-hash + score: '100.0' matched_length: 60 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1140.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1140.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1140.RULE matched_text: | You should have received a copy of the GNU General Public License @@ -993,16 +1108,19 @@ other_license_detections: version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-31fbee1e-1dbb-ab54-755a-9520b4bece5f - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 135 end_line: 141 + matcher: 1-hash + score: '100.0' matched_length: 60 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1140.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1140.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1140.RULE matched_text: | You should have received a copy of the GNU General Public License @@ -1014,16 +1132,19 @@ other_license_detections: version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-31fbee1e-1dbb-ab54-755a-9520b4bece5f - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 170 end_line: 176 + matcher: 1-hash + score: '100.0' matched_length: 60 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1140.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1140.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1140.RULE matched_text: | You should have received a copy of the GNU General Public License @@ -1035,16 +1156,19 @@ other_license_detections: version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-31fbee1e-1dbb-ab54-755a-9520b4bece5f - license_expression: gpl-3.0 + license_expression_spdx: GPL-3.0-only matches: - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 203 end_line: 209 + matcher: 1-hash + score: '100.0' matched_length: 60 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_404.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_404.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_404.RULE matched_text: | You should have received a copy of the GNU General Public License @@ -1056,16 +1180,19 @@ other_license_detections: version 3 can be found in the file `/usr/share/common-licenses/GPL-3. identifier: gpl_3_0-e668b2f1-84da-940b-2a7d-b9bf66e9244b - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 232 end_line: 238 + matcher: 1-hash + score: '100.0' matched_length: 60 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1140.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1140.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1140.RULE matched_text: | You should have received a copy of the GNU General Public License @@ -1077,16 +1204,19 @@ other_license_detections: version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-31fbee1e-1dbb-ab54-755a-9520b4bece5f - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 260 end_line: 266 + matcher: 1-hash + score: '100.0' matched_length: 62 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_452.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_452.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_452.RULE matched_text: | You should have received a copy of the GNU Lesser General Public License @@ -1098,45 +1228,53 @@ other_license_detections: version 2 can be found in the file `/usr/share/common-licenses/LGPL-2'. identifier: lgpl_2_0_plus-5963c0a6-6f43-d89e-43e3-189423b8461a - license_expression: x11-xconsortium AND public-domain + license_expression_spdx: X11 AND LicenseRef-scancode-public-domain matches: - - score: '20.2' + - license_expression: x11-xconsortium + spdx_license_expression: X11 + from_file: start_line: 293 end_line: 296 + matcher: 3-seq + score: '20.2' matched_length: 41 match_coverage: '20.2' - matcher: 3-seq - license_expression: x11-xconsortium - rule_identifier: x11-xconsortium_21.RULE rule_relevance: 100 + rule_identifier: x11-xconsortium_21.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_21.RULE matched_text: | Except as contained in this notice, the name of the X Consortium shall not be used in advertising or otherwise to promote the sale, use or other deal- ings in this Software without prior written authorization from the X Consor- tium. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 298 end_line: 298 + matcher: 2-aho + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_58.RULE rule_relevance: 100 + rule_identifier: public-domain_58.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_58.RULE matched_text: FSF changes to this file are in the public domain. identifier: x11_xconsortium_and_public_domain-d9561273-6993-908f-b782-aed5836bd09b - license_expression: apache-2.0 WITH generic-exception + license_expression_spdx: Apache-2.0 WITH LicenseRef-scancode-generic-exception matches: - - score: '100.0' + - license_expression: apache-2.0 WITH generic-exception + spdx_license_expression: Apache-2.0 WITH LicenseRef-scancode-generic-exception + from_file: start_line: 591 end_line: 602 + matcher: 1-hash + score: '100.0' matched_length: 137 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 WITH generic-exception - rule_identifier: apache-2.0_with_generic-exception_1.RULE rule_relevance: 100 + rule_identifier: apache-2.0_with_generic-exception_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_with_generic-exception_1.RULE matched_text: | See COPYING.YARA. The GPL exception has been granted by upstream in @@ -1153,16 +1291,19 @@ other_license_detections: found in the file `/usr/share/common-licenses/Apache-2.0'. identifier: apache_2_0_with_generic_exception-a512f441-dab3-b8eb-e03a-3851ccfd84b9 - license_expression: gpl-3.0 + license_expression_spdx: GPL-3.0-only matches: - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 630 end_line: 636 + matcher: 1-hash + score: '100.0' matched_length: 60 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_404.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_404.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_404.RULE matched_text: | You should have received a copy of the GNU General Public License diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/c/clamavmini/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/c/clamavmini/stable_copyright-detailed.expected.yml index 11b7244840..05d2f2e4d6 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/c/clamavmini/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/c/clamavmini/stable_copyright-detailed.expected.yml @@ -7,27 +7,32 @@ other_license_expression_spdx: (GPL-2.0-only AND GPL-2.0-only) AND GPL-2.0-only license_detections: [] other_license_detections: - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 24 end_line: 24 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 25 end_line: 32 + matcher: 1-hash + score: '100.0' matched_length: 68 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_121.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_121.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_121.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -40,16 +45,19 @@ other_license_detections: GNU General Public License for more details. identifier: gpl_2_0-13c8cd4f-352a-44e7-e48a-515a025ad21a - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 34 end_line: 40 + matcher: 1-hash + score: '100.0' matched_length: 60 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1140.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1140.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1140.RULE matched_text: | You should have received a copy of the GNU General Public License diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/c/cryptsetup/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/c/cryptsetup/stable_copyright-detailed.expected.yml index d6ab9a6bd5..54cbf84e8e 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/c/cryptsetup/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/c/cryptsetup/stable_copyright-detailed.expected.yml @@ -40,43 +40,51 @@ other_license_expression_spdx: GPL-2.0-or-later WITH cryptsetup-OpenSSL-exceptio license_detections: [] other_license_detections: - license_expression: gary-s-brown + license_expression_spdx: LicenseRef-scancode-gary-s-brown matches: - - score: '100.0' + - license_expression: gary-s-brown + spdx_license_expression: LicenseRef-scancode-gary-s-brown + from_file: start_line: 81 end_line: 82 + matcher: 2-aho + score: '100.0' matched_length: 16 match_coverage: '100.0' - matcher: 2-aho - license_expression: gary-s-brown - rule_identifier: gary-s-brown.LICENSE rule_relevance: 100 + rule_identifier: gary-s-brown.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/gary-s-brown.LICENSE matched_text: | You may use this program, or code or tables extracted from it, as desired without restriction. identifier: gary_s_brown-00cc5fb9-1775-705c-7cef-d16939c33621 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 84 end_line: 84 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 85 end_line: 100 + matcher: 1-hash + score: '100.0' matched_length: 136 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_807.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_807.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_807.RULE matched_text: | This package is free software; you can redistribute it and/or modify @@ -97,16 +105,19 @@ other_license_detections: License v2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus-4e79540c-e313-dd16-f163-61e6669029cb - license_expression: gpl-2.0-plus WITH openssl-exception-gpl-3.0-plus + license_expression_spdx: GPL-2.0-or-later WITH cryptsetup-OpenSSL-exception matches: - - score: '100.0' + - license_expression: gpl-2.0-plus WITH openssl-exception-gpl-3.0-plus + spdx_license_expression: GPL-2.0-or-later WITH cryptsetup-OpenSSL-exception + from_file: start_line: 103 end_line: 130 + matcher: 1-hash + score: '100.0' matched_length: 257 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus WITH openssl-exception-gpl-3.0-plus - rule_identifier: gpl-2.0-plus_with_openssl-exception-gpl-3.0-plus_3.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_with_openssl-exception-gpl-3.0-plus_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_openssl-exception-gpl-3.0-plus_3.RULE matched_text: | This package is free software; you can redistribute it and/or modify @@ -139,27 +150,32 @@ other_license_detections: then also delete it here. identifier: gpl_2_0_plus_with_openssl_exception_gpl_3_0_plus-cd0a53c3-195e-8aaa-a52a-63cdd0ec060b - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 132 end_line: 132 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 133 end_line: 149 + matcher: 1-hash + score: '100.0' matched_length: 143 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_293.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_293.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_293.RULE matched_text: | This package is free software; you can redistribute it and/or modify it @@ -181,16 +197,19 @@ other_license_detections: License v2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. identifier: lgpl_2_1_plus-92524a9d-fa24-4473-c0bd-9db8994678c0 - license_expression: lgpl-2.1-plus WITH openssl-exception-gpl-3.0-plus + license_expression_spdx: LGPL-2.1-or-later WITH cryptsetup-OpenSSL-exception matches: - - score: '95.0' + - license_expression: lgpl-2.1-plus WITH openssl-exception-gpl-3.0-plus + spdx_license_expression: LGPL-2.1-or-later WITH cryptsetup-OpenSSL-exception + from_file: start_line: 152 end_line: 180 + matcher: 1-hash + score: '95.0' matched_length: 265 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus WITH openssl-exception-gpl-3.0-plus - rule_identifier: lgpl-2.1-plus_with_openssl-exception-gpl-3.0-plus_3.RULE rule_relevance: 95 + rule_identifier: lgpl-2.1-plus_with_openssl-exception-gpl-3.0-plus_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_with_openssl-exception-gpl-3.0-plus_3.RULE matched_text: | This package is free software; you can redistribute it and/or modify it @@ -224,16 +243,19 @@ other_license_detections: program, then also delete it here. identifier: lgpl_2_1_plus_with_openssl_exception_gpl_3_0_plus-e204903f-6e59-75fe-0a89-535375db6e93 - license_expression: cc0-1.0 + license_expression_spdx: CC0-1.0 matches: - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 183 end_line: 187 + matcher: 1-hash + score: '100.0' matched_length: 42 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_129.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_129.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_129.RULE matched_text: | You may use this work under the terms of a Creative Commons CC0 1.0 @@ -243,27 +265,32 @@ other_license_detections: Universal license can be found in `/usr/share/common-licenses/CC0-1.0'. identifier: cc0_1_0-5beade1d-aaaa-0e66-b349-bf4292c3ebff - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 189 end_line: 189 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_65.RULE rule_relevance: 100 + rule_identifier: apache-2.0_65.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE matched_text: 'License: apache-2.0' - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: '190' end_line: 203 + matcher: 1-hash + score: '100.0' matched_length: 109 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_845.RULE rule_relevance: 100 + rule_identifier: apache-2.0_845.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_845.RULE matched_text: | Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/c/cups/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/c/cups/stable_copyright-detailed.expected.yml index 0ee04bae69..9c221265ee 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/c/cups/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/c/cups/stable_copyright-detailed.expected.yml @@ -14,16 +14,19 @@ other_license_expression_spdx: LicenseRef-scancode-cups AND LicenseRef-scancode- license_detections: [] other_license_detections: - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 26 end_line: 48 + matcher: 1-hash + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified - rule_identifier: bsd-simplified_70.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_70.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_70.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -51,16 +54,19 @@ other_license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_simplified-ec301da4-ee99-7256-688b-0e0ca57ab6eb - license_expression: cups + license_expression_spdx: LicenseRef-scancode-cups matches: - - score: '100.0' + - license_expression: cups + spdx_license_expression: LicenseRef-scancode-cups + from_file: start_line: 51 end_line: 107 + matcher: 1-hash + score: '100.0' matched_length: 356 match_coverage: '100.0' - matcher: 1-hash - license_expression: cups - rule_identifier: cups_6.RULE rule_relevance: 100 + rule_identifier: cups_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cups_6.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -122,16 +128,19 @@ other_license_detections: derived work. identifier: cups-6d04e430-ddd5-a021-eef2-53103e172a4a - license_expression: cups + license_expression_spdx: LicenseRef-scancode-cups matches: - - score: '100.0' + - license_expression: cups + spdx_license_expression: LicenseRef-scancode-cups + from_file: start_line: 110 end_line: 166 + matcher: 1-hash + score: '100.0' matched_length: 357 match_coverage: '100.0' - matcher: 1-hash - license_expression: cups - rule_identifier: cups_4.RULE rule_relevance: 100 + rule_identifier: cups_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cups_4.RULE matched_text: | This program is free software; you can redistribute it and/or modify it @@ -193,27 +202,32 @@ other_license_detections: derived work. identifier: cups-a1c6fe77-1eeb-f76a-7b3e-a0867d417450 - license_expression: zlib + license_expression_spdx: Zlib matches: - - score: '100.0' + - license_expression: zlib + spdx_license_expression: Zlib + from_file: start_line: 169 end_line: 169 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: zlib - rule_identifier: zlib_7.RULE rule_relevance: 100 + rule_identifier: zlib_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_7.RULE matched_text: zlib License - - score: '100.0' + - license_expression: zlib + spdx_license_expression: Zlib + from_file: start_line: 171 end_line: 188 + matcher: 2-aho + score: '100.0' matched_length: 132 match_coverage: '100.0' - matcher: 2-aho - license_expression: zlib - rule_identifier: zlib.LICENSE rule_relevance: 100 + rule_identifier: zlib.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE matched_text: | This software is provided 'as-is', without any express or implied diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/dbconfig-common/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/dbconfig-common/stable_copyright-detailed.expected.yml index adb6a66a84..78595651cd 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/dbconfig-common/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/dbconfig-common/stable_copyright-detailed.expected.yml @@ -8,27 +8,32 @@ other_license_expression_spdx: (GPL-2.0-or-later AND GPL-2.0-or-later) AND (AFL- license_detections: [] other_license_detections: - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 10 end_line: 10 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 11 end_line: 16 + matcher: 1-hash + score: '100.0' matched_length: 40 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_754.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_754.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_754.RULE matched_text: | all software (original and derived) is covered under the GPL (version 2 or @@ -39,27 +44,32 @@ other_license_detections: /usr/share/common-licenses/GPL-2. identifier: gpl_2_0_plus-8b07b509-5e22-a4f6-31f8-ca7a10f27b4b - license_expression: afl-2.1 + license_expression_spdx: AFL-2.1 matches: - - score: '100.0' + - license_expression: afl-2.1 + spdx_license_expression: AFL-2.1 + from_file: start_line: 21 end_line: 21 + matcher: 2-aho + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 2-aho - license_expression: afl-2.1 - rule_identifier: afl-2.1_12.RULE rule_relevance: 100 + rule_identifier: afl-2.1_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/afl-2.1_12.RULE matched_text: This document is licensed under the Academic Free License, Version 2.1 - - score: '100.0' + - license_expression: afl-2.1 + spdx_license_expression: AFL-2.1 + from_file: start_line: 26 end_line: 181 + matcher: 2-aho + score: '100.0' matched_length: 1411 match_coverage: '100.0' - matcher: 2-aho - license_expression: afl-2.1 - rule_identifier: afl-2.1_6.RULE rule_relevance: 100 + rule_identifier: afl-2.1_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/afl-2.1_6.RULE matched_text: | The Academic Free License v. 2.1 diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/devscripts/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/devscripts/stable_copyright-detailed.expected.yml index 451c7fde41..988b2ba579 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/devscripts/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/devscripts/stable_copyright-detailed.expected.yml @@ -159,27 +159,32 @@ other_license_expression_spdx: (GPL-2.0-or-later AND GPL-2.0-or-later AND GPL-2. license_detections: [] other_license_detections: - license_expression: artistic-perl-1.0 + license_expression_spdx: Artistic-1.0-Perl matches: - - score: '99.0' + - license_expression: artistic-perl-1.0 + spdx_license_expression: Artistic-1.0-Perl + from_file: start_line: 355 end_line: 355 + matcher: 1-hash + score: '99.0' matched_length: 2 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 - rule_identifier: artistic-perl-1.0_26.RULE rule_relevance: 99 + rule_identifier: artistic-perl-1.0_26.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_26.RULE matched_text: 'License: artistic' - - score: '100.0' + - license_expression: artistic-perl-1.0 + spdx_license_expression: Artistic-1.0-Perl + from_file: start_line: 356 end_line: 360 + matcher: 1-hash + score: '100.0' matched_length: 43 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 - rule_identifier: artistic-perl-1.0_13.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_13.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_13.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -189,16 +194,19 @@ other_license_detections: found in `/usr/share/common-licenses/Artistic'. identifier: artistic_perl_1_0-e9ef718c-d03b-c86e-d9fc-fda61d7cdf41 - license_expression: artistic-2.0 + license_expression_spdx: Artistic-2.0 matches: - - score: '99.93' + - license_expression: artistic-2.0 + spdx_license_expression: Artistic-2.0 + from_file: start_line: 363 end_line: 551 + matcher: 3-seq + score: '99.93' matched_length: 1353 match_coverage: '99.93' - matcher: 3-seq - license_expression: artistic-2.0 - rule_identifier: artistic-2.0_36.RULE rule_relevance: 100 + rule_identifier: artistic-2.0_36.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_36.RULE matched_text: | Copyright (c) 2000-2006, The Perl Foundation. @@ -392,268 +400,314 @@ other_license_detections: IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: artistic_2_0-da505167-7963-b6e8-5f04-2ffe855ea5e9 - license_expression: gpl-1.0-plus AND gpl-1.0 + license_expression_spdx: GPL-1.0-or-later AND GPL-1.0-only matches: - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 553 end_line: 553 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_395.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_395.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_395.RULE matched_text: 'License: gpl-1+' - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 554 end_line: 557 + matcher: 2-aho + score: '100.0' matched_length: 39 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_2.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_2.RULE matched_text: | 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 1, or (at your option) any later version. - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 559 end_line: 560 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_33.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_33.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_33.RULE matched_text: | the GNU General Public License - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 560 end_line: 560 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_424.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_424.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_424.RULE matched_text: usr/share/common-licenses/GPL- - - score: '60.0' + - license_expression: gpl-1.0 + spdx_license_expression: GPL-1.0-only + from_file: start_line: 560 end_line: 560 + matcher: 2-aho + score: '60.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0 - rule_identifier: gpl-1.0_15.RULE rule_relevance: 60 + rule_identifier: gpl-1.0_15.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0_15.RULE matched_text: GPL-1' identifier: gpl_1_0_plus_and_gpl_1_0-40cd1f34-7ef5-dd7b-2ab9-7f0a899d139c - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 562 end_line: 562 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 563 end_line: 565 + matcher: 2-aho + score: '100.0' matched_length: 31 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_396.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_396.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_396.RULE matched_text: | 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; version 2. - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 567 end_line: 568 + matcher: 2-aho + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1295.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1295.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1295.RULE matched_text: | On Debian systems, the complete text of version 2 of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2' identifier: gpl_2_0-558b8bf3-eeb8-2a7a-6f28-55f4c2aa111f - license_expression: gpl-2.0-plus AND gpl-2.0 + license_expression_spdx: GPL-2.0-or-later AND GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 570 end_line: 570 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 571 end_line: 574 + matcher: 2-aho + score: '100.0' matched_length: 39 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_165.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_165.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_165.RULE matched_text: | 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, or (at your option) any later version. - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 576 end_line: 577 + matcher: 2-aho + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1295.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1295.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1295.RULE matched_text: | On Debian systems, the complete text of version 2 of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2' identifier: gpl_2_0_plus_and_gpl_2_0-b73d5e9f-2938-57e1-de18-818469af1109 - license_expression: gpl-3.0 AND gpl-1.0-plus + license_expression_spdx: GPL-3.0-only AND GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 579 end_line: 579 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_rdesc_1.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_rdesc_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_rdesc_1.RULE matched_text: 'License: gpl-3' - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 580 end_line: 582 + matcher: 2-aho + score: '100.0' matched_length: 29 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus - rule_identifier: gpl_91.RULE rule_relevance: 100 + rule_identifier: gpl_91.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_91.RULE matched_text: | 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; - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 584 end_line: 585 + matcher: 2-aho + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_237.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_237.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_237.RULE matched_text: | version 3 of the GNU General Public License - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 585 end_line: 585 + matcher: 2-aho + score: '100.0' matched_length: 6 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_93.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_93.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_93.RULE matched_text: usr/share/common-licenses/GPL-3' identifier: gpl_3_0_and_gpl_1_0_plus-9c11f207-d3a8-a6a3-d2a6-46552a959726 - license_expression: gpl-3.0-plus AND gpl-3.0 + license_expression_spdx: GPL-3.0-or-later AND GPL-3.0-only matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 587 end_line: 587 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 588 end_line: 591 + matcher: 2-aho + score: '100.0' matched_length: 39 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_284.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_284.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_284.RULE matched_text: | 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 3, or (at your option) any later version. - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 593 end_line: 594 + matcher: 2-aho + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_237.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_237.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_237.RULE matched_text: | version 3 of the GNU General Public License - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 594 end_line: 594 + matcher: 2-aho + score: '100.0' matched_length: 6 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_93.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_93.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_93.RULE matched_text: usr/share/common-licenses/GPL-3' identifier: gpl_3_0_plus_and_gpl_3_0-3e5fdf20-1437-7ca2-c0cd-475f7307fbbb - license_expression: isc + license_expression_spdx: ISC matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 597 end_line: 607 + matcher: 1-hash + score: '100.0' matched_length: 112 match_coverage: '100.0' - matcher: 1-hash - license_expression: isc - rule_identifier: isc.LICENSE rule_relevance: 100 + rule_identifier: isc.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/isc.LICENSE matched_text: | Permission to use, copy, modify, and/or distribute this software for any @@ -669,16 +723,19 @@ other_license_detections: PERFORMANCE OF THIS SOFTWARE. identifier: isc-58175475-cc81-cb6a-8921-4daa3f26b3e8 - license_expression: public-domain-disclaimer + license_expression_spdx: LicenseRef-scancode-public-domain-disclaimer matches: - - score: '100.0' + - license_expression: public-domain-disclaimer + spdx_license_expression: LicenseRef-scancode-public-domain-disclaimer + from_file: start_line: 610 end_line: 612 + matcher: 1-hash + score: '100.0' matched_length: 33 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain-disclaimer - rule_identifier: public-domain-disclaimer_16.RULE rule_relevance: 100 + rule_identifier: public-domain-disclaimer_16.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain-disclaimer_16.RULE matched_text: | To the extent possible under law, the author(s) have dedicated all copyright diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/dma/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/dma/stable_copyright-detailed.expected.yml index 8ec03add53..148d608e8a 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/dma/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/dma/stable_copyright-detailed.expected.yml @@ -19,16 +19,19 @@ other_license_expression_spdx: BSD-3-Clause AND BSD-3-Clause AND BSD-3-Clause AN license_detections: [] other_license_detections: - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '90.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 47 end_line: 59 + matcher: 1-hash + score: '90.0' matched_length: 101 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_1036.RULE rule_relevance: 90 + rule_identifier: bsd-new_1036.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1036.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -46,16 +49,19 @@ other_license_detections: from this software without specific, prior written permission. identifier: bsd_new-075516ae-8349-5cd8-e103-e7e7fee3a471 - license_expression: isc + license_expression_spdx: ISC matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 62 end_line: 72 + matcher: 1-hash + score: '100.0' matched_length: 111 match_coverage: '100.0' - matcher: 1-hash - license_expression: isc - rule_identifier: isc_14.RULE rule_relevance: 100 + rule_identifier: isc_14.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_14.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -71,16 +77,19 @@ other_license_detections: OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. identifier: isc-ea6c318e-91a9-413d-027a-507b2cebec2c - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 75 end_line: 94 + matcher: 1-hash + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/dovecot/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/dovecot/stable_copyright-detailed.expected.yml index ea562d6e66..179982b24b 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/dovecot/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/dovecot/stable_copyright-detailed.expected.yml @@ -45,16 +45,19 @@ other_license_expression_spdx: (LGPL-2.1-only AND LGPL-2.1-or-later AND LGPL-2.1 license_detections: [] other_license_detections: - license_expression: beerware + license_expression_spdx: Beerware matches: - - score: '100.0' + - license_expression: beerware + spdx_license_expression: Beerware + from_file: start_line: 32 end_line: 35 + matcher: 1-hash + score: '100.0' matched_length: 52 match_coverage: '100.0' - matcher: 1-hash - license_expression: beerware - rule_identifier: beerware_1.RULE rule_relevance: 100 + rule_identifier: beerware_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/beerware_1.RULE matched_text: | THE BEER-WARE LICENSE" (Revision 42): @@ -63,32 +66,38 @@ other_license_detections: this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp identifier: beerware-efdd2cec-6f7c-7fe1-5157-6baa71f63497 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 46 end_line: 47 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_45.RULE rule_relevance: 100 + rule_identifier: public-domain_45.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_45.RULE matched_text: | placed in the public domain. identifier: public_domain-f03547dd-ab14-17f3-8260-38458dca67ee - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 121 end_line: 137 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -110,27 +119,32 @@ other_license_detections: DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: lgpl-2.1 AND lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-only AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 139 end_line: 139 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_38.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_38.RULE matched_text: 'License: lgpl-2.1' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 140 end_line: 152 + matcher: 2-aho + score: '100.0' matched_length: 117 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_239.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_239.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_239.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -146,51 +160,60 @@ other_license_detections: You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 154 end_line: 154 + matcher: 2-aho + score: '100.0' matched_length: 6 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_83_1.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_83_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_83_1.RULE matched_text: the GNU Lesser General Public License - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 155 end_line: 155 + matcher: 2-aho + score: '100.0' matched_length: 7 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_82.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_82.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_82.RULE matched_text: usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_and_lgpl_2_1_plus-590ac42f-f1ba-031e-45bf-938f9dd5041a - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 157 end_line: 157 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_65.RULE rule_relevance: 100 + rule_identifier: apache-2.0_65.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE matched_text: 'License: apache-2.0' - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 158 end_line: 171 + matcher: 1-hash + score: '100.0' matched_length: 109 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_951.RULE rule_relevance: 100 + rule_identifier: apache-2.0_951.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_951.RULE matched_text: | Licensed under the Apache License, Version 2.0 (the "License"); @@ -209,16 +232,19 @@ other_license_detections: found at /usr/share/common-licenses/Apache-2.0. identifier: apache_2_0-53bae3a1-895b-b5e0-ddd9-bd842e305a3c - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 176 end_line: '198' + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -246,16 +272,19 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98 - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 201 end_line: 220 + matcher: 1-hash + score: '100.0' matched_length: 185 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified - rule_identifier: bsd-simplified_16.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_16.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_16.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -280,27 +309,32 @@ other_license_detections: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_simplified-25075703-83ad-f419-e8fc-55c5ce7e67a5 - license_expression: gpl-2.0-plus AND gpl-2.0 + license_expression_spdx: GPL-2.0-or-later AND GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 222 end_line: 222 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 223 end_line: 235 + matcher: 2-aho + score: '100.0' matched_length: 113 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_420.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_420.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_420.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -316,40 +350,47 @@ other_license_detections: 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. - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 237 end_line: 237 + matcher: 2-aho + score: '100.0' matched_length: 7 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_660.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_660.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_660.RULE matched_text: the GNU General Public License version 2 - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 238 end_line: 238 + matcher: 2-aho + score: '100.0' matched_length: 6 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_621.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_621.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_621.RULE matched_text: usr/share/common-licenses/GPL-2. identifier: gpl_2_0_plus_and_gpl_2_0-b1883257-dfa5-afb6-71d5-85fe839662ba - license_expression: unicode + license_expression_spdx: LicenseRef-scancode-unicode matches: - - score: '100.0' + - license_expression: unicode + spdx_license_expression: LicenseRef-scancode-unicode + from_file: start_line: 241 end_line: 273 + matcher: 2-aho + score: '100.0' matched_length: 300 match_coverage: '100.0' - matcher: 2-aho - license_expression: unicode - rule_identifier: unicode_35.RULE rule_relevance: 100 + rule_identifier: unicode_35.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unicode_35.RULE matched_text: | Distributed under the diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/dpdk/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/dpdk/stable_copyright-detailed.expected.yml index 3fb0fee5f9..c2ca76deed 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/dpdk/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/d/dpdk/stable_copyright-detailed.expected.yml @@ -26,43 +26,51 @@ other_license_expression_spdx: BSD-3-Clause AND (GPL-2.0-only AND GPL-2.0-only) license_detections: [] other_license_detections: - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 66 end_line: 66 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 67 end_line: 68 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1120.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1120.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1120.RULE matched_text: | On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". identifier: gpl_2_0-416557e2-c2f7-99b4-8ab7-8a3ea02df364 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 71 end_line: 77 + matcher: 1-hash + score: '100.0' matched_length: 66 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_1040.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_1040.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_1040.RULE matched_text: | This package is free software; you can redistribute it and/or modify @@ -74,70 +82,83 @@ other_license_detections: License version 2 can be found in "/usr/share/common-licenses/GPL-2". identifier: gpl_2_0_plus-dd877c58-59e3-3806-1e07-d20a246adf43 - license_expression: gpl-3.0 + license_expression_spdx: GPL-3.0-only matches: - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 79 end_line: 79 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_rdesc_1.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_rdesc_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_rdesc_1.RULE matched_text: 'License: gpl-3' - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 80 end_line: 81 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_394.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_394.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_394.RULE matched_text: | On Debian systems, the complete text of the GNU General Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". identifier: gpl_3_0-2db1569e-9bb3-297f-fa07-cccfb39c4a09 - license_expression: lgpl-2.1 + license_expression_spdx: LGPL-2.1-only matches: - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 83 end_line: 83 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_38.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_38.RULE matched_text: 'License: lgpl-2.1' - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 84 end_line: 85 + matcher: 1-hash + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_307.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_307.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_307.RULE matched_text: | On Debian systems, the complete text of the GNU Library General Public License can be found in the file `/usr/share/common-licenses/LGPL-2.1'. identifier: lgpl_2_1-e422cbf7-cc72-fc90-ad06-06d6fdec2919 - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 88 end_line: 111 + matcher: 1-hash + score: '100.0' matched_length: 185 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified - rule_identifier: bsd-simplified_16.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_16.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_16.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -166,16 +187,19 @@ other_license_detections: POSSIBILITY OF SUCH DAMAGE. identifier: bsd_simplified-25075703-83ad-f419-e8fc-55c5ce7e67a5 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 114 end_line: 138 + matcher: 1-hash + score: '100.0' matched_length: 212 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-intel_4.RULE rule_relevance: 100 + rule_identifier: bsd-intel_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-intel_4.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_copyright-detailed.expected.yml index 6ca09097ea..6517e12a76 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_copyright-detailed.expected.yml @@ -7,16 +7,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0 AND lgpl-2.0 AND bsd-new AND mit-old-style-no-advert + license_expression_spdx: GPL-2.0-only AND LGPL-2.0-only AND BSD-3-Clause AND NTP matches: - - score: '99.02' + - license_expression: gpl-2.0 AND lgpl-2.0 AND bsd-new AND mit-old-style-no-advert + spdx_license_expression: GPL-2.0-only AND LGPL-2.0-only AND BSD-3-Clause AND NTP + from_file: start_line: 17 end_line: 30 + matcher: 3-seq + score: '99.02' matched_length: 101 match_coverage: '99.02' - matcher: 3-seq - license_expression: gpl-2.0 AND lgpl-2.0 AND bsd-new AND mit-old-style-no-advert - rule_identifier: gpl-2.0_and_lgpl-2.0_and_bsd-new_and_mit_1.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_and_lgpl-2.0_and_bsd-new_and_mit_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_and_lgpl-2.0_and_bsd-new_and_mit_1.RULE matched_text: "This package, the EXT2 filesystem utilities, are made available under\n\ the GNU General Public License version 2, with the exception of the\nlib/ext2fs and\ @@ -29,16 +32,19 @@ license_detections: \ The\ncomplete text of the GNU Library General Public License can be found\nin '/usr/share/common-licenses/LGPL-2'." identifier: gpl_2_0_and_lgpl_2_0_and_bsd_new_and_mit_old_style_no_advert-aed55561-0504-0265-5986-832cc7f7bbf2 - license_expression: ntp-0 AND bsd-new + license_expression_spdx: NTP-0 AND BSD-3-Clause matches: - - score: '100.0' + - license_expression: ntp-0 + spdx_license_expression: NTP-0 + from_file: start_line: 38 end_line: 45 + matcher: 2-aho + score: '100.0' matched_length: 85 match_coverage: '100.0' - matcher: 2-aho - license_expression: ntp-0 - rule_identifier: ntp-0.LICENSE rule_relevance: 100 + rule_identifier: ntp-0.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ntp-0.LICENSE matched_text: | Permission to use, copy, modify, and distribute this software and @@ -49,15 +55,17 @@ license_detections: M.I.T. S.I.P.B. make no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 49 end_line: 73 + matcher: 2-aho + score: '100.0' matched_length: 210 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_117.RULE rule_relevance: 100 + rule_identifier: bsd-new_117.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_117.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_e2fsck-static.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_e2fsck-static.copyright-detailed.expected.yml index 2bd991a639..75f46eb8ff 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_e2fsck-static.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_e2fsck-static.copyright-detailed.expected.yml @@ -5,32 +5,38 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 18 end_line: '19' + matcher: 2-aho + score: '100.0' matched_length: 14 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1137.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1137.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1137.RULE matched_text: | This package, the EXT2 filesystem utilities, is protected by the GNU General Public License. identifier: gpl_2_0-aefa39b0-a76b-6c60-5a18-f680bc579b0d - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 24 end_line: 25 + matcher: 2-aho + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_563.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_563.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_563.RULE matched_text: | On Debian GNU systems, the complete text of the GNU General diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_e2fsprogs-l10n.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_e2fsprogs-l10n.copyright-detailed.expected.yml index 2bd991a639..75f46eb8ff 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_e2fsprogs-l10n.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_e2fsprogs-l10n.copyright-detailed.expected.yml @@ -5,32 +5,38 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 18 end_line: '19' + matcher: 2-aho + score: '100.0' matched_length: 14 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1137.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1137.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1137.RULE matched_text: | This package, the EXT2 filesystem utilities, is protected by the GNU General Public License. identifier: gpl_2_0-aefa39b0-a76b-6c60-5a18-f680bc579b0d - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 24 end_line: 25 + matcher: 2-aho + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_563.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_563.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_563.RULE matched_text: | On Debian GNU systems, the complete text of the GNU General diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_libblkid.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_libblkid.copyright-detailed.expected.yml index 63906d93c4..a1710dca4b 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_libblkid.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_libblkid.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: lgpl-2.0 + license_expression_spdx: LGPL-2.0-only matches: - - score: '100.0' + - license_expression: lgpl-2.0 + spdx_license_expression: LGPL-2.0-only + from_file: start_line: 15 end_line: '19' + matcher: 2-aho + score: '100.0' matched_length: 42 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0 - rule_identifier: lgpl-2.0_24.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0_24.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0_24.RULE matched_text: | You are free to distribute this software under the terms of the GNU diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_libcom-err2.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_libcom-err2.copyright-detailed.expected.yml index 7f2954171d..cfba6a19b8 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_libcom-err2.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_libcom-err2.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: mit-old-style-no-advert + license_expression_spdx: NTP matches: - - score: '100.0' + - license_expression: mit-old-style-no-advert + spdx_license_expression: NTP + from_file: start_line: 14 end_line: 24 + matcher: 2-aho + score: '100.0' matched_length: 112 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-old-style-no-advert - rule_identifier: mit-old-style-no-advert_5.RULE rule_relevance: 100 + rule_identifier: mit-old-style-no-advert_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style-no-advert_5.RULE matched_text: | Permission to use, copy, modify, and distribute this software diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_libss2.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_libss2.copyright-detailed.expected.yml index 71be22212c..820a1963ad 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_libss2.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_libss2.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: mit-old-style-no-advert + license_expression_spdx: NTP matches: - - score: '100.0' + - license_expression: mit-old-style-no-advert + spdx_license_expression: NTP + from_file: start_line: 15 end_line: 25 + matcher: 2-aho + score: '100.0' matched_length: 112 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-old-style-no-advert - rule_identifier: mit-old-style-no-advert_5.RULE rule_relevance: 100 + rule_identifier: mit-old-style-no-advert_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style-no-advert_5.RULE matched_text: | Permission to use, copy, modify, and distribute this software diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_libuuid1.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_libuuid1.copyright-detailed.expected.yml index 2ecccab859..0abd2d898b 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_libuuid1.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_libuuid1.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 14 end_line: 38 + matcher: 2-aho + score: '100.0' matched_length: 210 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_117.RULE rule_relevance: 100 + rule_identifier: bsd-new_117.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_117.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_uuid-dev.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_uuid-dev.copyright-detailed.expected.yml index 2ecccab859..0abd2d898b 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_uuid-dev.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_uuid-dev.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 14 end_line: 38 + matcher: 2-aho + score: '100.0' matched_length: 210 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_117.RULE rule_relevance: 100 + rule_identifier: bsd-new_117.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_117.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_uuid-runtime.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_uuid-runtime.copyright-detailed.expected.yml index e6fbba44e9..04d88023fb 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_uuid-runtime.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/e2fsprogs/stable_uuid-runtime.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 15 end_line: 39 + matcher: 2-aho + score: '100.0' matched_length: 210 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_117.RULE rule_relevance: 100 + rule_identifier: bsd-new_117.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_117.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/enigmail/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/enigmail/stable_copyright-detailed.expected.yml index 2b2a7e2deb..a8a6bb1aab 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/enigmail/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/enigmail/stable_copyright-detailed.expected.yml @@ -18,27 +18,32 @@ other_license_expression_spdx: (MPL-2.0 AND MPL-2.0) AND (MPL-2.0 AND MPL-2.0) A license_detections: [] other_license_detections: - license_expression: mpl-2.0 + license_expression_spdx: MPL-2.0 matches: - - score: '100.0' + - license_expression: mpl-2.0 + spdx_license_expression: MPL-2.0 + from_file: start_line: 38 end_line: 38 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: mpl-2.0 - rule_identifier: mpl-2.0_75.RULE rule_relevance: 100 + rule_identifier: mpl-2.0_75.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_75.RULE matched_text: 'License: mpl-2.0' - - score: '100.0' + - license_expression: mpl-2.0 + spdx_license_expression: MPL-2.0 + from_file: start_line: 39 end_line: 411 + matcher: 1-hash + score: '100.0' matched_length: 2371 match_coverage: '100.0' - matcher: 1-hash - license_expression: mpl-2.0 - rule_identifier: mpl-2.0.LICENSE rule_relevance: 100 + rule_identifier: mpl-2.0.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mpl-2.0.LICENSE matched_text: | Mozilla Public License Version 2.0 @@ -416,16 +421,19 @@ other_license_detections: defined by the Mozilla Public License, v. 2.0. identifier: mpl_2_0-a4e80716-0ace-81d4-b4b0-3d29c3a0f1e2 - license_expression: bsd-2-clause-views + license_expression_spdx: BSD-2-Clause-Views matches: - - score: '100.0' + - license_expression: bsd-2-clause-views + spdx_license_expression: BSD-2-Clause-Views + from_file: start_line: 414 end_line: 441 + matcher: 1-hash + score: '100.0' matched_length: 215 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-2-clause-views - rule_identifier: bsd-2-clause-views_1.RULE rule_relevance: 100 + rule_identifier: bsd-2-clause-views_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-2-clause-views_1.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -458,16 +466,19 @@ other_license_detections: Foundation. identifier: bsd_2_clause_views-1d997716-afbf-cd29-cb1e-420af00fe852 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '99.04' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 446 end_line: 470 + matcher: 3-seq + score: '99.04' matched_length: 207 match_coverage: '100.0' - matcher: 3-seq - license_expression: bsd-new - rule_identifier: bsd-new_784.RULE rule_relevance: 100 + rule_identifier: bsd-new_784.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_784.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -497,27 +508,32 @@ other_license_detections: POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-2b3a5518-e8a8-d9b2-be49-79747be815eb - license_expression: cc0-1.0 + license_expression_spdx: CC0-1.0 matches: - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 472 end_line: 472 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_12.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_12.RULE matched_text: 'License: cc0-1.0' - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 473 end_line: 481 + matcher: 1-hash + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_99.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_99.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_99.RULE matched_text: | To the extent possible under law, the author(s) have dedicated all copyright diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/epiphany-browser/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/epiphany-browser/stable_copyright-detailed.expected.yml index d0035c6420..5f175197b9 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/epiphany-browser/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/epiphany-browser/stable_copyright-detailed.expected.yml @@ -34,27 +34,32 @@ other_license_expression_spdx: (GPL-3.0-or-later AND GPL-3.0-or-later) AND (CC0- license_detections: [] other_license_detections: - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 93 end_line: 93 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_65.RULE rule_relevance: 100 + rule_identifier: apache-2.0_65.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE matched_text: 'License: apache-2.0' - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 94 end_line: 107 + matcher: 1-hash + score: '100.0' matched_length: 107 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_949.RULE rule_relevance: 100 + rule_identifier: apache-2.0_949.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_949.RULE matched_text: | Licensed under the Apache License, Version 2.0 (the "License"); @@ -73,27 +78,32 @@ other_license_detections: found in /usr/share/common-licenses/Apache-2.0 identifier: apache_2_0-48f1cb7d-5851-8285-69a3-25dbd96819f7 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 109 end_line: 109 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 110 end_line: 124 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_839.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_839.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_839.RULE matched_text: | This package is free software; you can redistribute it and/or modify @@ -113,27 +123,32 @@ other_license_detections: Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". identifier: gpl_2_0_plus-cc17af11-ba60-7b3d-40d0-91bc262b80f8 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 126 end_line: 126 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 127 end_line: 141 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_385.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_385.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_385.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -153,27 +168,32 @@ other_license_detections: Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". identifier: gpl_3_0_plus-d32e0b16-ec08-400f-7308-94bab4d18d11 - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 143 end_line: 143 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_61.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_61.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_61.RULE matched_text: 'License: lgpl-2+' - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 144 end_line: 155 + matcher: 1-hash + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_457.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_457.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_457.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -190,27 +210,32 @@ other_license_detections: License version 2 can be found in "/usr/share/common-licenses/LGPL-2". identifier: lgpl_2_0_plus-d3782433-aa9a-99c9-ba7e-875a7ee9c1c7 - license_expression: cc0-1.0 + license_expression_spdx: CC0-1.0 matches: - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 157 end_line: 157 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_12.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_12.RULE matched_text: 'License: cc0-1.0' - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 158 end_line: 179 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_186.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_186.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_186.RULE matched_text: | Certain owners wish to permanently relinquish those rights to a Work for @@ -237,16 +262,19 @@ other_license_detections: can be found in `/usr/share/common-licenses/CC0-1.0'. identifier: cc0_1_0-3aab8d22-5239-2e29-95d3-367a0090d037 - license_expression: cc-by-sa-3.0 + license_expression_spdx: CC-BY-SA-3.0 matches: - - score: '97.8' + - license_expression: cc-by-sa-3.0 + spdx_license_expression: CC-BY-SA-3.0 + from_file: start_line: 182 end_line: 488 + matcher: 3-seq + score: '97.8' matched_length: 3074 match_coverage: '97.8' - matcher: 3-seq - license_expression: cc-by-sa-3.0 - rule_identifier: cc-by-sa-3.0_35.RULE rule_relevance: 100 + rule_identifier: cc-by-sa-3.0_35.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-3.0_35.RULE matched_text: | THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS @@ -558,27 +586,32 @@ other_license_detections: rights under applicable law. identifier: cc_by_sa_3_0-e7ec5d5a-0fab-6861-22fd-9f2bbf2329d1 - license_expression: cc-by-sa-4.0 + license_expression_spdx: CC-BY-SA-4.0 matches: - - score: '100.0' + - license_expression: cc-by-sa-4.0 + spdx_license_expression: CC-BY-SA-4.0 + from_file: start_line: 491 end_line: 491 + matcher: 2-aho + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 2-aho - license_expression: cc-by-sa-4.0 - rule_identifier: cc-by-sa-4.0_36.RULE rule_relevance: 100 + rule_identifier: cc-by-sa-4.0_36.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-4.0_36.RULE matched_text: http://creativecommons.org/licenses/by-sa/4.0/ - - score: '99.82' + - license_expression: cc-by-sa-4.0 + spdx_license_expression: CC-BY-SA-4.0 + from_file: start_line: 493 end_line: 914 + matcher: 3-seq + score: '99.82' matched_length: 2766 match_coverage: '99.82' - matcher: 3-seq - license_expression: cc-by-sa-4.0 - rule_identifier: cc-by-sa-4.0.LICENSE rule_relevance: 100 + rule_identifier: cc-by-sa-4.0.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/cc-by-sa-4.0.LICENSE matched_text: | Creative Commons Corporation ("Creative Commons") is not a law firm and diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/erlang-p1-pkix/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/erlang-p1-pkix/stable_copyright-detailed.expected.yml index 77a38d8570..20862decf6 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/erlang-p1-pkix/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/e/erlang-p1-pkix/stable_copyright-detailed.expected.yml @@ -9,27 +9,32 @@ other_license_expression_spdx: (Apache-2.0 AND Apache-2.0) AND (Apache-2.0 AND A license_detections: [] other_license_detections: - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 14 end_line: 14 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_65.RULE rule_relevance: 100 + rule_identifier: apache-2.0_65.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE matched_text: 'License: apache-2.0' - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 15 end_line: 28 + matcher: 1-hash + score: '100.0' matched_length: 109 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_845.RULE rule_relevance: 100 + rule_identifier: apache-2.0_845.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_845.RULE matched_text: | Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/f/fig2dev/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/f/fig2dev/stable_copyright-detailed.expected.yml index a1c5a1e3ed..523f93cd2b 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/f/fig2dev/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/f/fig2dev/stable_copyright-detailed.expected.yml @@ -15,16 +15,19 @@ other_license_expression_spdx: Xfig AND (GPL-2.0-or-later AND (GPL-2.0-only OR G license_detections: [] other_license_detections: - license_expression: mit-xfig + license_expression_spdx: Xfig matches: - - score: '100.0' + - license_expression: mit-xfig + spdx_license_expression: Xfig + from_file: start_line: 28 end_line: 35 + matcher: 1-hash + score: '100.0' matched_length: 85 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit-xfig - rule_identifier: mit-xfig_3.RULE rule_relevance: 100 + rule_identifier: mit-xfig_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-xfig_3.RULE matched_text: | Any party obtaining a copy of these files is granted, free of charge, a @@ -37,27 +40,32 @@ other_license_detections: and this permission notice remain intact. identifier: mit_xfig-68304201-7efe-7547-fced-118d30e23a28 - license_expression: gpl-2.0-plus AND (gpl-2.0 OR gpl-3.0) + license_expression_spdx: GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 53 end_line: 53 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0 OR gpl-3.0 + spdx_license_expression: GPL-2.0-only OR GPL-3.0-only + from_file: start_line: 54 end_line: 69 + matcher: 1-hash + score: '100.0' matched_length: 130 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 OR gpl-3.0 - rule_identifier: gpl-2.0_or_gpl-3.0_19.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_or_gpl-3.0_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_or_gpl-3.0_19.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -78,16 +86,19 @@ other_license_detections: `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus_and__gpl_2_0_or_gpl_3_0-8218f179-4b24-48cf-64bb-43e3681ddaa0 - license_expression: mit-old-style-no-advert + license_expression_spdx: NTP matches: - - score: '100.0' + - license_expression: mit-old-style-no-advert + spdx_license_expression: NTP + from_file: start_line: 75 end_line: 83 + matcher: 1-hash + score: '100.0' matched_length: 96 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit-old-style-no-advert - rule_identifier: mit-old-style-no-advert_3.RULE rule_relevance: 100 + rule_identifier: mit-old-style-no-advert_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style-no-advert_3.RULE matched_text: | Permission to use, copy, modify, distribute, and sell this software and its @@ -101,27 +112,32 @@ other_license_detections: without express or implied warranty. identifier: mit_old_style_no_advert-469a8f5b-14cb-1cf1-ac4f-fd7a23bb63e5 - license_expression: gpl-3.0 AND gpl-3.0-plus + license_expression_spdx: GPL-3.0-only AND GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 88 end_line: 88 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_rdesc_1.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_rdesc_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_rdesc_1.RULE matched_text: 'License: gpl-3' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 89 end_line: 97 + matcher: 2-aho + score: '100.0' matched_length: 79 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_96.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_96.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_96.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -133,15 +149,17 @@ other_license_detections: 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. - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 99 end_line: 101 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_405.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_405.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_405.RULE matched_text: | On Debian systems, the full text of the GNU General Public diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/f/freeorion/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/f/freeorion/stable_copyright-detailed.expected.yml index fe83c031bc..8afc71498f 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/f/freeorion/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/f/freeorion/stable_copyright-detailed.expected.yml @@ -30,27 +30,32 @@ other_license_expression_spdx: (GPL-2.0-only AND GPL-2.0-only) AND CC-BY-SA-3.0 license_detections: [] other_license_detections: - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 69 end_line: 69 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 70 end_line: 83 + matcher: 1-hash + score: '100.0' matched_length: 114 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1149.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1149.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1149.RULE matched_text: | This package is free software; you can redistribute it and/or modify @@ -69,27 +74,32 @@ other_license_detections: Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". identifier: gpl_2_0-b917de81-5bba-1d0f-2db7-5318a537b85c - license_expression: lgpl-2.1-plus AND lgpl-2.0-plus AND lgpl-2.1 + license_expression_spdx: LGPL-2.1-or-later AND LGPL-2.0-or-later AND LGPL-2.1-only matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 85 end_line: 85 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 86 end_line: 94 + matcher: 2-aho + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_34.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_34.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -101,40 +111,47 @@ other_license_detections: but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 96 end_line: 96 + matcher: 2-aho + score: '100.0' matched_length: 6 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_215.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_215.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_215.RULE matched_text: the GNU Library General Public License - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 97 end_line: 97 + matcher: 2-aho + score: '100.0' matched_length: 7 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_82.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_82.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_82.RULE matched_text: usr/share/common-licenses/LGPL-2.1'. identifier: lgpl_2_1_plus_and_lgpl_2_0_plus_and_lgpl_2_1-2059e657-b017-b289-bd23-348b4f78bc71 - license_expression: boost-1.0 + license_expression_spdx: BSL-1.0 matches: - - score: '100.0' + - license_expression: boost-1.0 + spdx_license_expression: BSL-1.0 + from_file: start_line: 100 end_line: 122 + matcher: 1-hash + score: '100.0' matched_length: 211 match_coverage: '100.0' - matcher: 1-hash - license_expression: boost-1.0 - rule_identifier: boost-1.0.LICENSE rule_relevance: 100 + rule_identifier: boost-1.0.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/boost-1.0.LICENSE matched_text: | Boost Software License - Version 1.0 - August 17th, 2003 @@ -162,16 +179,19 @@ other_license_detections: DEALINGS IN THE SOFTWARE. identifier: boost_1_0-dcd1a22a-7766-abc4-a96d-eefedae4fbf2 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 125 end_line: 139 + matcher: 1-hash + score: '100.0' matched_length: 101 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_1073.RULE rule_relevance: 100 + rule_identifier: bsd-new_1073.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1073.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -191,43 +211,51 @@ other_license_detections: permission. identifier: bsd_new-aff84c79-b8ad-af44-8c02-73d6e6a799a0 - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 141 end_line: 141 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_65.RULE rule_relevance: 100 + rule_identifier: apache-2.0_65.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE matched_text: 'License: apache-2.0' - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 142 end_line: 143 + matcher: 1-hash + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_1020.RULE rule_relevance: 100 + rule_identifier: apache-2.0_1020.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1020.RULE matched_text: | On Debian systems the complete license text of the Apache license version 2.0 can be found at /usr/share/common-licenses/Apache-2.0. identifier: apache_2_0-f9ae1f00-9945-c0a9-e6bb-cebf07aec6f2 - license_expression: cc-by-sa-3.0 + license_expression_spdx: CC-BY-SA-3.0 matches: - - score: '99.82' + - license_expression: cc-by-sa-3.0 + spdx_license_expression: CC-BY-SA-3.0 + from_file: start_line: 146 end_line: 521 + matcher: 3-seq + score: '99.82' matched_length: 3348 match_coverage: '99.82' - matcher: 3-seq - license_expression: cc-by-sa-3.0 - rule_identifier: cc-by-sa-3.0_41.RULE rule_relevance: 100 + rule_identifier: cc-by-sa-3.0_41.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-3.0_41.RULE matched_text: | Creative Commons Attribution-ShareAlike 3.0 Unported @@ -608,16 +636,19 @@ other_license_detections: Creative Commons may be contacted at http://creativecommons.org/. identifier: cc_by_sa_3_0-33d6e24f-4dca-f73d-ade0-52b78a9bc1e8 - license_expression: bitstream + license_expression_spdx: Bitstream-Vera matches: - - score: '100.0' + - license_expression: bitstream + spdx_license_expression: Bitstream-Vera + from_file: start_line: 524 end_line: 566 + matcher: 2-aho + score: '100.0' matched_length: 364 match_coverage: '100.0' - matcher: 2-aho - license_expression: bitstream - rule_identifier: bitstream_11.RULE rule_relevance: 100 + rule_identifier: bitstream_11.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bitstream_11.RULE matched_text: | Bitstream Vera is @@ -663,15 +694,17 @@ other_license_detections: without prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information, contact: fonts at gnome dot org. - - score: '99.0' + - license_expression: bitstream + spdx_license_expression: Bitstream-Vera + from_file: start_line: 573 end_line: 614 + matcher: 2-aho + score: '99.0' matched_length: 349 match_coverage: '100.0' - matcher: 2-aho - license_expression: bitstream - rule_identifier: bitstream_9.RULE rule_relevance: 99 + rule_identifier: bitstream_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bitstream_9.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining @@ -718,30 +751,35 @@ other_license_detections: fr. identifier: bitstream-6eb1644f-4007-7683-5ade-46612c3b481f - license_expression: cc-by-sa-3.0 AND gpl-2.0 + license_expression_spdx: CC-BY-SA-3.0 AND GPL-2.0-only matches: - - score: '100.0' + - license_expression: cc-by-sa-3.0 + spdx_license_expression: CC-BY-SA-3.0 + from_file: start_line: '19' end_line: 21 + matcher: 2-aho + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 2-aho - license_expression: cc-by-sa-3.0 - rule_identifier: cc-by-sa-3.0_85.RULE rule_relevance: 100 + rule_identifier: cc-by-sa-3.0_85.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-3.0_85.RULE matched_text: | Artistic or creative content is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license. (http://creativecommons.org/licenses/by-sa/3.0/) - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 26 end_line: 27 + matcher: 2-aho + score: '100.0' matched_length: 9 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_822.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_822.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_822.RULE matched_text: | licensed diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/f/fuse-emulator/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/f/fuse-emulator/stable_copyright-detailed.expected.yml index d6d69a20c7..986f3f1eb7 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/f/fuse-emulator/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/f/fuse-emulator/stable_copyright-detailed.expected.yml @@ -17,27 +17,32 @@ other_license_expression_spdx: (GPL-2.0-or-later AND GPL-2.0-or-later) AND (LGPL license_detections: [] other_license_detections: - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 34 end_line: 34 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 35 end_line: 45 + matcher: 1-hash + score: '100.0' matched_length: 91 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_655.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_655.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_655.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -53,27 +58,32 @@ other_license_detections: the file /usr/share/common-licenses/GPL-2 identifier: gpl_2_0_plus-54c2522e-ad9a-3fb1-7ef4-964ecea834d4 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 47 end_line: 47 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 48 end_line: 58 + matcher: 1-hash + score: '100.0' matched_length: 94 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_202.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_202.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_202.RULE matched_text: | This module is free software; you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/f/fusiondirectory/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/f/fusiondirectory/stable_copyright-detailed.expected.yml index 8a4b63a292..0c3867df9b 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/f/fusiondirectory/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/f/fusiondirectory/stable_copyright-detailed.expected.yml @@ -71,27 +71,32 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 1523 end_line: 1523 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 1524 end_line: 1539 + matcher: 1-hash + score: '100.0' matched_length: 136 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_1038.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_1038.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_1038.RULE matched_text: | This package is free software; you can redistribute it and/or modify @@ -112,27 +117,32 @@ license_detections: Public License 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus-841292a1-755d-28a2-e988-9335e1ab78af - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1541 end_line: 1541 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1542 end_line: 1557 + matcher: 1-hash + score: '100.0' matched_length: 136 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_512.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_512.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_512.RULE matched_text: | This package is free software; you can redistribute it and/or modify @@ -153,27 +163,32 @@ license_detections: Public License 3 can be found in `/usr/share/common-licenses/GPL-3'. identifier: gpl_3_0_plus-dd3fa3fa-0f02-d622-9751-b34998421a05 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 1559 end_line: 1559 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 1560 end_line: 1577 + matcher: 1-hash + score: '100.0' matched_length: 146 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_418.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_418.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_418.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -196,16 +211,19 @@ license_detections: `/usr/share/common-licenses/LGPL-2.1'. identifier: lgpl_2_1_plus-f25c3ccd-f8e8-1ec3-cce3-8fe504f23993 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 1580 end_line: 1596 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy of @@ -227,16 +245,19 @@ license_detections: SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1599 end_line: 1621 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_577.RULE rule_relevance: 100 + rule_identifier: bsd-new_577.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_577.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -264,16 +285,19 @@ license_detections: OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-5be47247-8ec7-7f95-1b90-0aaa3275e0c2 - license_expression: bsd-original + license_expression_spdx: BSD-4-Clause matches: - - score: '100.0' + - license_expression: bsd-original + spdx_license_expression: BSD-4-Clause + from_file: start_line: 1624 end_line: 1649 + matcher: 1-hash + score: '100.0' matched_length: 236 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-original - rule_identifier: bsd-original_71.RULE rule_relevance: 100 + rule_identifier: bsd-original_71.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original_71.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -304,27 +328,32 @@ license_detections: ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_original-351c901f-5810-bf40-e98b-65d5c070c643 - license_expression: lgpl-3.0-plus + license_expression_spdx: LGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 1651 end_line: 1651 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_166.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE matched_text: 'License: lgpl-3+' - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 1652 end_line: 1663 + matcher: 1-hash + score: '100.0' matched_length: 105 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_189.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_189.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_189.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -341,16 +370,19 @@ license_detections: Public License 3 can be found in `/usr/share/common-licenses/LGPL-3'. identifier: lgpl_3_0_plus-1efe4ad9-3fe0-d0d3-abd8-c522d921e751 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 1666 end_line: 1669 + matcher: 1-hash + score: '100.0' matched_length: 40 match_coverage: '100.0' - matcher: 1-hash - license_expression: other-permissive - rule_identifier: other-permissive_325.RULE rule_relevance: 100 + rule_identifier: other-permissive_325.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_325.RULE matched_text: | This file is in the public domain. You may use and modify it as @@ -359,45 +391,54 @@ license_detections: made (if any). identifier: other_permissive-f5dd09cb-3a00-86dd-63d7-a576f4dd0415 - license_expression: free-unknown + license_expression_spdx: LicenseRef-scancode-free-unknown matches: - - score: '100.0' + - license_expression: free-unknown + spdx_license_expression: LicenseRef-scancode-free-unknown + from_file: start_line: 413 end_line: 413 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: free-unknown - rule_identifier: free-unknown-package_2.RULE rule_relevance: 100 + rule_identifier: free-unknown-package_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE matched_text: This file is distributed under the same license as the PACKAGE package. identifier: free_unknown-6489a264-9d51-ad5f-94b9-6939d54b4036 - license_expression: free-unknown + license_expression_spdx: LicenseRef-scancode-free-unknown matches: - - score: '91.67' + - license_expression: free-unknown + spdx_license_expression: LicenseRef-scancode-free-unknown + from_file: start_line: 562 end_line: 562 + matcher: 1-hash + score: '91.67' matched_length: 11 match_coverage: '100.0' - matcher: 1-hash - license_expression: free-unknown - rule_identifier: free-unknown-package_1.RULE rule_relevance: 100 + rule_identifier: free-unknown-package_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_1.RULE matched_text: This file is distributed under the same license as the fusiondirectory package. identifier: free_unknown-bdda6baa-90ff-18b3-96c9-89a930a6cf8d - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 1099 end_line: 1099 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_67.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_67.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_67.RULE matched_text: GPL-2+). identifier: gpl_2_0_plus-fed2dc38-09ac-103e-1b86-4a4f5c00614a diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/ghostscript/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/ghostscript/stable_copyright-detailed.expected.yml index 052115ffe7..7379bbfbf2 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/ghostscript/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/ghostscript/stable_copyright-detailed.expected.yml @@ -89,16 +89,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: agpl-3.0 WITH ps-or-pdf-font-exception-20170817 + license_expression_spdx: AGPL-3.0-only WITH PS-or-PDF-font-exception-20170817 matches: - - score: '100.0' + - license_expression: agpl-3.0 WITH ps-or-pdf-font-exception-20170817 + spdx_license_expression: AGPL-3.0-only WITH PS-or-PDF-font-exception-20170817 + from_file: start_line: 173 end_line: 178 + matcher: 1-hash + score: '100.0' matched_length: 42 match_coverage: '100.0' - matcher: 1-hash - license_expression: agpl-3.0 WITH ps-or-pdf-font-exception-20170817 - rule_identifier: agpl-3.0_with_ps-or-pdf-font-exception-20170817_4.RULE rule_relevance: 100 + rule_identifier: agpl-3.0_with_ps-or-pdf-font-exception-20170817_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/agpl-3.0_with_ps-or-pdf-font-exception-20170817_4.RULE matched_text: | As a special exception, @@ -109,16 +112,19 @@ license_detections: applying to the document itself. identifier: agpl_3_0_with_ps_or_pdf_font_exception_20170817-ed1e1d48-5cd6-fc20-cff3-d572cc902a51 - license_expression: sunsoft + license_expression_spdx: LicenseRef-scancode-sunsoft matches: - - score: '95.0' + - license_expression: sunsoft + spdx_license_expression: LicenseRef-scancode-sunsoft + from_file: start_line: 294 end_line: 298 + matcher: 1-hash + score: '95.0' matched_length: 36 match_coverage: '100.0' - matcher: 1-hash - license_expression: sunsoft - rule_identifier: sunsoft_3.RULE rule_relevance: 95 + rule_identifier: sunsoft_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/sunsoft_3.RULE matched_text: | Except as contained in this notice, @@ -128,16 +134,19 @@ license_detections: without written authorization from SunSoft Inc. identifier: sunsoft-9e170ca7-5eab-6023-c890-1ba3851e8a55 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 309 end_line: 313 + matcher: 1-hash + score: '100.0' matched_length: 32 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_383.RULE rule_relevance: 100 + rule_identifier: public-domain_383.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_383.RULE matched_text: | This file, unlike the rest of Ghostscript, @@ -147,16 +156,19 @@ license_detections: it is in the public domain. identifier: public_domain-a8f3e8b6-d79b-1fc8-30fd-9518354ad221 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 448 end_line: 451 + matcher: 1-hash + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 1-hash - license_expression: other-permissive - rule_identifier: other-permissive_358.RULE rule_relevance: 100 + rule_identifier: other-permissive_358.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_358.RULE matched_text: | This file may be freely distributed @@ -165,30 +177,36 @@ license_detections: and copyright notices are not removed. identifier: other_permissive-a020883d-5da3-dfe5-3a09-0e477097d983 - license_expression: gpl-1.0-plus + license_expression_spdx: GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 497 end_line: 497 + matcher: 1-hash + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus - rule_identifier: gpl_72.RULE rule_relevance: 100 + rule_identifier: gpl_72.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_72.RULE matched_text: 'License: gpl' identifier: gpl_1_0_plus-0f8d8911-0b73-cb68-4903-af37c6fa7204 - license_expression: agpl-3.0 + license_expression_spdx: AGPL-3.0-only matches: - - score: '100.0' + - license_expression: agpl-3.0 + spdx_license_expression: AGPL-3.0-only + from_file: start_line: 501 end_line: 1350 + matcher: 1-hash + score: '100.0' matched_length: 5386 match_coverage: '100.0' - matcher: 1-hash - license_expression: agpl-3.0 - rule_identifier: agpl-3.0.SPDX.RULE rule_relevance: 100 + rule_identifier: agpl-3.0.SPDX.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/agpl-3.0.SPDX.RULE matched_text: | GNU AFFERO GENERAL PUBLIC LICENSE @@ -1043,16 +1061,19 @@ license_detections: see . identifier: agpl_3_0-0bed8dea-334f-6bb4-5c12-6df57a2f51e9 - license_expression: fsf-free + license_expression_spdx: FSFUL matches: - - score: '100.0' + - license_expression: fsf-free + spdx_license_expression: FSFUL + from_file: start_line: 1371 end_line: 1373 + matcher: 1-hash + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-free - rule_identifier: fsf-free.LICENSE rule_relevance: 100 + rule_identifier: fsf-free.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-free.LICENSE matched_text: | This configure script is free software; @@ -1060,16 +1081,19 @@ license_detections: to copy, distribute and modify it. identifier: fsf_free-95bff5c5-ed9b-1c78-0dd8-4c05168176ba - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 1376 end_line: 1398 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, @@ -1097,16 +1121,19 @@ license_detections: OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 1401 end_line: 1423 + matcher: 1-hash + score: '100.0' matched_length: 162 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit_1062.RULE rule_relevance: 100 + rule_identifier: mit_1062.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1062.RULE matched_text: | Permission is hereby granted, free of charge, @@ -1134,16 +1161,19 @@ license_detections: OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: mit-2b241477-a3d9-e41f-880b-5c807b093521 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 1426 end_line: 1442 + matcher: 1-hash + score: '100.0' matched_length: 124 match_coverage: '100.0' - matcher: 1-hash - license_expression: other-permissive - rule_identifier: other-permissive_ghostgum.RULE rule_relevance: 100 + rule_identifier: other-permissive_ghostgum.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_ghostgum.RULE matched_text: | Permission is hereby granted, free of charge, @@ -1165,16 +1195,19 @@ license_detections: in all copies or substantial portions of the Software. identifier: other_permissive-fd855fe2-d5ca-1ed7-01f5-b2c174d38d41 - license_expression: x11-opengroup + license_expression_spdx: MIT-open-group matches: - - score: '99.0' + - license_expression: x11-opengroup + spdx_license_expression: MIT-open-group + from_file: start_line: 1445 end_line: 1464 + matcher: 1-hash + score: '99.0' matched_length: 138 match_coverage: '100.0' - matcher: 1-hash - license_expression: x11-opengroup - rule_identifier: x11-opengroup_7.RULE rule_relevance: 99 + rule_identifier: x11-opengroup_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-opengroup_7.RULE matched_text: | Permission to use, copy, modify, distribute, and sell @@ -1199,16 +1232,19 @@ license_detections: OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: x11_opengroup-c0baba15-36ec-f739-435b-4ef2c266d8e6 - license_expression: ghostpdl-permissive + license_expression_spdx: LicenseRef-scancode-ghostpdl-permissive matches: - - score: '100.0' + - license_expression: ghostpdl-permissive + spdx_license_expression: LicenseRef-scancode-ghostpdl-permissive + from_file: start_line: 1467 end_line: 1471 + matcher: 1-hash + score: '100.0' matched_length: 32 match_coverage: '100.0' - matcher: 1-hash - license_expression: ghostpdl-permissive - rule_identifier: ghostpdl-permissive.LICENSE rule_relevance: 100 + rule_identifier: ghostpdl-permissive.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ghostpdl-permissive.LICENSE matched_text: | Permission to use, copy, modify, and distribute @@ -1218,16 +1254,19 @@ license_detections: without express or implied warranty. identifier: ghostpdl_permissive-2177824a-095c-adda-efec-b4b3889ae253 - license_expression: x11-lucent-variant + license_expression_spdx: LicenseRef-scancode-x11-lucent-variant matches: - - score: '100.0' + - license_expression: x11-lucent-variant + spdx_license_expression: LicenseRef-scancode-x11-lucent-variant + from_file: start_line: 1474 end_line: 1485 + matcher: 1-hash + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 1-hash - license_expression: x11-lucent-variant - rule_identifier: x11-lucent-variant.LICENSE rule_relevance: 100 + rule_identifier: x11-lucent-variant.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-lucent-variant.LICENSE matched_text: | Permission to use, copy, modify, and distribute this software @@ -1244,16 +1283,19 @@ license_detections: FOR ANY PARTICULAR PURPOSE. identifier: x11_lucent_variant-0e88e176-7371-c813-4b40-735c84e7f166 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1488 end_line: 1519 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, @@ -1290,16 +1332,19 @@ license_detections: EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1522 end_line: 1558 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_686.RULE rule_relevance: 100 + rule_identifier: bsd-new_686.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_686.RULE matched_text: | Redistribution and use in source and binary forms, @@ -1341,16 +1386,19 @@ license_detections: EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-a5e44982-9f3e-5ae9-551e-f8d64cb0c9a4 - license_expression: freetype + license_expression_spdx: FTL matches: - - score: '100.0' + - license_expression: freetype + spdx_license_expression: FTL + from_file: start_line: 1561 end_line: 1740 + matcher: 1-hash + score: '100.0' matched_length: 929 match_coverage: '100.0' - matcher: 1-hash - license_expression: freetype - rule_identifier: freetype_13.RULE rule_relevance: 100 + rule_identifier: freetype_13.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/freetype_13.RULE matched_text: | The FreeType Project LICENSE @@ -1535,16 +1583,19 @@ license_detections: Our home page can be found at https://www.freetype.org identifier: freetype-157faafb-23f1-d344-a6d4-4d5e38b264e1 - license_expression: zlib + license_expression_spdx: Zlib matches: - - score: '100.0' + - license_expression: zlib + spdx_license_expression: Zlib + from_file: start_line: 1743 end_line: 1762 + matcher: 1-hash + score: '100.0' matched_length: 132 match_coverage: '100.0' - matcher: 1-hash - license_expression: zlib - rule_identifier: zlib.LICENSE rule_relevance: 100 + rule_identifier: zlib.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE matched_text: | This software is provided 'as-is', @@ -1569,16 +1620,19 @@ license_detections: from any source distribution. identifier: zlib-f32ae987-c66a-44ce-bd13-c90e0c59aab8 - license_expression: isc + license_expression_spdx: ISC matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 1765 end_line: 1779 + matcher: 1-hash + score: '100.0' matched_length: 111 match_coverage: '100.0' - matcher: 1-hash - license_expression: isc - rule_identifier: isc_14.RULE rule_relevance: 100 + rule_identifier: isc_14.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_14.RULE matched_text: | Permission to use, copy, modify, and distribute this software @@ -1598,41 +1652,49 @@ license_detections: THE USE OR PERFORMANCE OF THIS SOFTWARE. identifier: isc-ea6c318e-91a9-413d-027a-507b2cebec2c - license_expression: agpl-3.0 AND agpl-3.0-plus + license_expression_spdx: AGPL-3.0-only AND AGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: agpl-3.0 + spdx_license_expression: AGPL-3.0-only + from_file: start_line: 73 end_line: 73 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: agpl-3.0 - rule_identifier: agpl-3.0_191.RULE rule_relevance: 100 + rule_identifier: agpl-3.0_191.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/agpl-3.0_191.RULE matched_text: 'License: agpl-' - - score: '100.0' + - license_expression: agpl-3.0-plus + spdx_license_expression: AGPL-3.0-or-later + from_file: start_line: 73 end_line: 73 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: agpl-3.0-plus - rule_identifier: agpl-3.0-plus_28.RULE rule_relevance: 100 + rule_identifier: agpl-3.0-plus_28.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/agpl-3.0-plus_28.RULE matched_text: agpl-3+ identifier: agpl_3_0_and_agpl_3_0_plus-7568fcdd-6845-c873-3c58-56d8665789bf - license_expression: agpl-3.0-plus + license_expression_spdx: AGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: agpl-3.0-plus + spdx_license_expression: AGPL-3.0-or-later + from_file: start_line: 68 end_line: 72 + matcher: 1-hash + score: '100.0' matched_length: 44 match_coverage: '100.0' - matcher: 1-hash - license_expression: agpl-3.0-plus - rule_identifier: agpl-3.0-plus_247.RULE rule_relevance: 100 + rule_identifier: agpl-3.0-plus_247.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/agpl-3.0-plus_247.RULE matched_text: | GhostPDL and GPL Ghostscript are free software; @@ -1642,55 +1704,66 @@ license_detections: either version 3 of the License, or (at your option) any later version. identifier: agpl_3_0_plus-9790711c-f852-2e96-76d4-69d13b8d5c92 - license_expression: agpl-3.0-plus + license_expression_spdx: AGPL-3.0-or-later matches: - - score: '90.0' + - license_expression: agpl-3.0-plus + spdx_license_expression: AGPL-3.0-or-later + from_file: start_line: 76 end_line: 76 + matcher: 2-aho + score: '90.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: agpl-3.0-plus - rule_identifier: agpl-3.0-plus_143.RULE rule_relevance: 90 + rule_identifier: agpl-3.0-plus_143.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/agpl-3.0-plus_143.RULE matched_text: GPL Ghostscript, identifier: agpl_3_0_plus-02164878-d830-a722-7cb5-b3f8e9c993e7 - license_expression: agpl-3.0 AND agpl-3.0-plus + license_expression_spdx: AGPL-3.0-only AND AGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: agpl-3.0 + spdx_license_expression: AGPL-3.0-only + from_file: start_line: 91 end_line: 91 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: agpl-3.0 - rule_identifier: agpl-3.0_191.RULE rule_relevance: 100 + rule_identifier: agpl-3.0_191.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/agpl-3.0_191.RULE matched_text: 'License: agpl-' - - score: '100.0' + - license_expression: agpl-3.0-plus + spdx_license_expression: AGPL-3.0-or-later + from_file: start_line: 91 end_line: 91 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: agpl-3.0-plus - rule_identifier: agpl-3.0-plus_28.RULE rule_relevance: 100 + rule_identifier: agpl-3.0-plus_28.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/agpl-3.0-plus_28.RULE matched_text: agpl-3+ identifier: agpl_3_0_and_agpl_3_0_plus-7568fcdd-6845-c873-3c58-56d8665789bf - license_expression: agpl-3.0-plus + license_expression_spdx: AGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: agpl-3.0-plus + spdx_license_expression: AGPL-3.0-or-later + from_file: start_line: 86 end_line: 90 + matcher: 1-hash + score: '100.0' matched_length: 42 match_coverage: '100.0' - matcher: 1-hash - license_expression: agpl-3.0-plus - rule_identifier: agpl-3.0-plus_244.RULE rule_relevance: 100 + rule_identifier: agpl-3.0-plus_244.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/agpl-3.0-plus_244.RULE matched_text: | GPL Ghostscript is free software; @@ -1700,16 +1773,19 @@ license_detections: either version 3 of the License, or (at your option) any later version. identifier: agpl_3_0_plus-216d74e8-63ae-629e-d26a-b8864800db68 - license_expression: lgpl-2.1 + license_expression_spdx: LGPL-2.1-only matches: - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 96 end_line: 98 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_311.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_311.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_311.RULE matched_text: | is free software and can be used @@ -1717,16 +1793,19 @@ license_detections: Version 2.1 (February 1999). identifier: lgpl_2_1-a0030e83-84c9-0111-13c6-499f16bff294 - license_expression: freetype + license_expression_spdx: FTL matches: - - score: '100.0' + - license_expression: freetype + spdx_license_expression: FTL + from_file: start_line: 121 end_line: 126 + matcher: 1-hash + score: '100.0' matched_length: 49 match_coverage: '100.0' - matcher: 1-hash - license_expression: freetype - rule_identifier: freetype_4.RULE rule_relevance: 100 + rule_identifier: freetype_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/freetype_4.RULE matched_text: | This file is part of the FreeType project, @@ -1737,16 +1816,19 @@ license_detections: and understand and accept it fully. identifier: freetype-750b0ed3-8b16-be90-88db-6d5ee749211c - license_expression: gpl-1.0-plus + license_expression_spdx: GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 135 end_line: 142 + matcher: 1-hash + score: '100.0' matched_length: 54 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_464.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_464.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_464.RULE matched_text: | Everyone is granted permission @@ -1759,16 +1841,19 @@ license_detections: It should be in a file named COPYING. identifier: gpl_1_0_plus-75f07376-dadf-88fe-5af5-2593bbb6603e - license_expression: ghostscript-1988 + license_expression_spdx: LicenseRef-scancode-ghostscript-1988 matches: - - score: '100.0' + - license_expression: ghostscript-1988 + spdx_license_expression: LicenseRef-scancode-ghostscript-1988 + from_file: start_line: 151 end_line: 158 + matcher: 1-hash + score: '100.0' matched_length: 53 match_coverage: '100.0' - matcher: 1-hash - license_expression: ghostscript-1988 - rule_identifier: ghostscript-1988_4.RULE rule_relevance: 100 + rule_identifier: ghostscript-1988_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/ghostscript-1988_4.RULE matched_text: | Everyone is granted permission @@ -1781,16 +1866,19 @@ license_detections: It should be in a file named COPYING. identifier: ghostscript_1988-67d59ae6-361d-f29a-a644-76e5bf6c05dc - license_expression: agpl-3.0-plus + license_expression_spdx: AGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: agpl-3.0-plus + spdx_license_expression: AGPL-3.0-or-later + from_file: start_line: 167 end_line: 171 + matcher: 1-hash + score: '100.0' matched_length: 42 match_coverage: '100.0' - matcher: 1-hash - license_expression: agpl-3.0-plus - rule_identifier: agpl-3.0-plus_244.RULE rule_relevance: 100 + rule_identifier: agpl-3.0-plus_244.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/agpl-3.0-plus_244.RULE matched_text: | GPL Ghostscript is free software; @@ -1800,16 +1888,19 @@ license_detections: either version 3 of the License, or (at your option) any later version. identifier: agpl_3_0_plus-216d74e8-63ae-629e-d26a-b8864800db68 - license_expression: gpl-1.0-plus + license_expression_spdx: GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 183 end_line: '190' + matcher: 1-hash + score: '100.0' matched_length: 54 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_463.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_463.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_463.RULE matched_text: | Everyone is granted permission @@ -1822,16 +1913,19 @@ license_detections: It should be in a file named COPYING. identifier: gpl_1_0_plus-5a5c53bb-10ee-3fc2-72ac-7404350a4553 - license_expression: gpl-1.0-plus + license_expression_spdx: GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 201 end_line: 208 + matcher: 1-hash + score: '100.0' matched_length: 54 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_463.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_463.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_463.RULE matched_text: | Everyone is granted permission @@ -1844,16 +1938,19 @@ license_detections: It should be in a file named COPYING. identifier: gpl_1_0_plus-5a5c53bb-10ee-3fc2-72ac-7404350a4553 - license_expression: gpl-1.0-plus + license_expression_spdx: GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 225 end_line: 234 + matcher: 2-aho + score: '100.0' matched_length: 69 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_537.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_537.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_537.RULE matched_text: | Everyone is granted permission @@ -1868,30 +1965,36 @@ license_detections: the copyright notice and this notice must be preserved on all copies. identifier: gpl_1_0_plus-5cebdd5d-ef65-1bc4-1ab5-cfd96530b0e7 - license_expression: gpl-1.0-plus + license_expression_spdx: GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 236 end_line: 236 + matcher: 1-hash + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_292.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_292.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_292.RULE matched_text: This code is subject to the GNU General Public License identifier: gpl_1_0_plus-ba33abc1-a637-7834-15a3-a0081ce8d62b - license_expression: gpl-1.0-plus OR cups + license_expression_spdx: GPL-1.0-or-later OR LicenseRef-scancode-cups matches: - - score: '99.0' + - license_expression: gpl-1.0-plus OR cups + spdx_license_expression: GPL-1.0-or-later OR LicenseRef-scancode-cups + from_file: start_line: 243 end_line: 251 + matcher: 1-hash + score: '99.0' matched_length: 74 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR cups - rule_identifier: gpl-1.0-plus_or_cups_1.RULE rule_relevance: 99 + rule_identifier: gpl-1.0-plus_or_cups_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_cups_1.RULE matched_text: | Distribution and use rights are outlined in the file "LICENSE.txt" @@ -1905,16 +2008,19 @@ license_detections: is governed by the CUPS license agreement. identifier: gpl_1_0_plus_or_cups-0ea03678-cec8-ea5b-c2f8-2d93f14af275 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 262 end_line: 265 + matcher: 1-hash + score: '100.0' matched_length: 39 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_1037.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_1037.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_1037.RULE matched_text: | This program may be distributed and/or modified @@ -1923,16 +2029,19 @@ license_detections: either version 2 of the GPL, or (at your option) any later version. identifier: gpl_2_0_plus-3050483d-8797-ddfd-0e58-c58d226018f5 - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 320 end_line: 329 + matcher: 1-hash + score: '100.0' matched_length: 72 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_924.RULE rule_relevance: 100 + rule_identifier: apache-2.0_924.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_924.RULE matched_text: | Licensed to the Apache Software Foundation (ASF) @@ -1947,16 +2056,19 @@ license_detections: at identifier: apache_2_0-56fbcb40-d2a9-d37c-e19b-f2b75a3cf79f - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 338 end_line: 341 + matcher: 1-hash + score: '100.0' matched_length: 22 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_712.RULE rule_relevance: 100 + rule_identifier: apache-2.0_712.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_712.RULE matched_text: | Licensed under the Apache License, @@ -1965,55 +2077,66 @@ license_detections: except in compliance with the License. identifier: apache_2_0-e99ce2b4-baeb-173b-2ae8-7dd715246734 - license_expression: agpl-3.0 AND agpl-3.0-plus + license_expression_spdx: AGPL-3.0-only AND AGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: agpl-3.0 + spdx_license_expression: AGPL-3.0-only + from_file: start_line: 352 end_line: 352 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: agpl-3.0 - rule_identifier: agpl-3.0_191.RULE rule_relevance: 100 + rule_identifier: agpl-3.0_191.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/agpl-3.0_191.RULE matched_text: 'License: agpl-' - - score: '100.0' + - license_expression: agpl-3.0-plus + spdx_license_expression: AGPL-3.0-or-later + from_file: start_line: 352 end_line: 352 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: agpl-3.0-plus - rule_identifier: agpl-3.0-plus_28.RULE rule_relevance: 100 + rule_identifier: agpl-3.0-plus_28.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/agpl-3.0-plus_28.RULE matched_text: agpl-3+ identifier: agpl_3_0_and_agpl_3_0_plus-7568fcdd-6845-c873-3c58-56d8665789bf - license_expression: afpl-9.0 + license_expression_spdx: LicenseRef-scancode-afpl-9.0 matches: - - score: '90.0' + - license_expression: afpl-9.0 + spdx_license_expression: LicenseRef-scancode-afpl-9.0 + from_file: start_line: 350 end_line: 350 + matcher: 2-aho + score: '90.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: afpl-9.0 - rule_identifier: afpl-9.0_9.RULE rule_relevance: 90 + rule_identifier: afpl-9.0_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/afpl-9.0_9.RULE matched_text: AFPL Ghostscript, identifier: afpl_9_0-abf2c1de-3f64-cc21-be49-583ff4b55f69 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 363 end_line: 367 + matcher: 1-hash + score: '100.0' matched_length: 39 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_165.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_165.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_165.RULE matched_text: | This program is free software; @@ -2023,16 +2146,19 @@ license_detections: either version 2, or (at your option) any later version. identifier: gpl_2_0_plus-b2201fb7-5a21-89a3-4ab2-5486f22b89aa - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 375 end_line: 379 + matcher: 1-hash + score: '100.0' matched_length: 42 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_64.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_64.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_64.RULE matched_text: | This program is free software; @@ -2042,16 +2168,19 @@ license_detections: either version 2 of the License, or (at your option) any later version. identifier: gpl_2_0_plus-fae85b38-a7df-a9b9-e042-839c0951b0f2 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 390 end_line: 394 + matcher: 1-hash + score: '100.0' matched_length: 42 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_64.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_64.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_64.RULE matched_text: | This program is free software; @@ -2061,16 +2190,19 @@ license_detections: either version 2 of the License, or (at your option) any later version. identifier: gpl_2_0_plus-fae85b38-a7df-a9b9-e042-839c0951b0f2 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 402 end_line: 406 + matcher: 1-hash + score: '100.0' matched_length: 42 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_64.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_64.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_64.RULE matched_text: | This program is free software; @@ -2080,16 +2212,19 @@ license_detections: either version 2 of the License, or (at your option) any later version. identifier: gpl_2_0_plus-fae85b38-a7df-a9b9-e042-839c0951b0f2 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 412 end_line: 416 + matcher: 1-hash + score: '100.0' matched_length: 42 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_64.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_64.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_64.RULE matched_text: | This program is free software; @@ -2099,16 +2234,19 @@ license_detections: either version 2 of the License, or (at your option) any later version. identifier: gpl_2_0_plus-fae85b38-a7df-a9b9-e042-839c0951b0f2 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 422 end_line: 426 + matcher: 1-hash + score: '100.0' matched_length: 42 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_64.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_64.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_64.RULE matched_text: | This program is free software; @@ -2118,16 +2256,19 @@ license_detections: either version 2 of the License, or (at your option) any later version. identifier: gpl_2_0_plus-fae85b38-a7df-a9b9-e042-839c0951b0f2 - license_expression: gpl-1.0-plus + license_expression_spdx: GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 458 end_line: 465 + matcher: 1-hash + score: '100.0' matched_length: 54 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_463.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_463.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_463.RULE matched_text: | Everyone is granted permission @@ -2140,16 +2281,19 @@ license_detections: It should be in a file named COPYING. identifier: gpl_1_0_plus-5a5c53bb-10ee-3fc2-72ac-7404350a4553 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 488 end_line: 492 + matcher: 1-hash + score: '100.0' matched_length: 39 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_284.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_284.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_284.RULE matched_text: | This program is free software; diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/glib2.0/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/glib2.0/stable_copyright-detailed.expected.yml index 03d4a44578..0dae2062c9 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/glib2.0/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/glib2.0/stable_copyright-detailed.expected.yml @@ -7,16 +7,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 45 end_line: 60 + matcher: 2-aho + score: '100.0' matched_length: 138 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_18.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_18.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_18.RULE matched_text: | This package is free software; you can redistribute it and/or @@ -37,58 +40,69 @@ license_detections: Public License can be found in `/usr/share/common-licenses/LGPL'. identifier: lgpl_2_0_plus-c5f2b989-b7ac-a778-8c01-9fcfb9290933 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 66 end_line: 66 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_437.RULE rule_relevance: 100 + rule_identifier: mit_437.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_437.RULE matched_text: 'License: Expat' identifier: mit-1f9f2ae8-7020-0a13-7934-461c752929a4 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 74 end_line: 74 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: GPL-2+' identifier: gpl_2_0_plus-53a26be2-1f88-01ec-d294-921768a513c9 - license_expression: apache-2.0 AND mit AND gpl-2.0-plus + license_expression_spdx: Apache-2.0 AND MIT AND GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 80 end_line: 82 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: apache-2.0 - rule_identifier: apache-2.0_1214.RULE rule_relevance: 100 + rule_identifier: apache-2.0_1214.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1214.RULE matched_text: | License: Apache-2.0 License: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 82 end_line: 96 + matcher: 2-aho + score: '100.0' matched_length: 108 match_coverage: '100.0' - matcher: 2-aho - license_expression: apache-2.0 - rule_identifier: apache-2.0_1035.RULE rule_relevance: 100 + rule_identifier: apache-2.0_1035.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1035.RULE matched_text: | License: Apache-2.0 @@ -106,26 +120,30 @@ license_detections: . On Debian systems, a copy of the Apache license is available in . - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 98 end_line: 98 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_437.RULE rule_relevance: 100 + rule_identifier: mit_437.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_437.RULE matched_text: 'License: Expat' - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 99 end_line: 115 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -145,26 +163,30 @@ license_detections: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 117 end_line: 117 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: GPL-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 118 end_line: 129 + matcher: 2-aho + score: '100.0' matched_length: 99 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_124.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_124.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_124.RULE matched_text: | This program is free software; you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/gnome-bluetooth/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/gnome-bluetooth/stable_copyright-detailed.expected.yml index cd109e6e9d..c955f65681 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/gnome-bluetooth/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/gnome-bluetooth/stable_copyright-detailed.expected.yml @@ -15,27 +15,32 @@ other_license_expression_spdx: (LGPL-2.1-or-later AND LGPL-2.1-or-later) AND (GP license_detections: [] other_license_detections: - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 27 end_line: 27 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 28 end_line: 42 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_839.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_839.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_839.RULE matched_text: | This package is free software; you can redistribute it and/or modify @@ -55,27 +60,32 @@ other_license_detections: Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". identifier: gpl_2_0_plus-cc17af11-ba60-7b3d-40d0-91bc262b80f8 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 44 end_line: 44 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 45 end_line: 59 + matcher: 1-hash + score: '100.0' matched_length: 129 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_416.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_416.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_416.RULE matched_text: | This package is free software; you can redistribute it and/or diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/gnome-control-center/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/gnome-control-center/stable_copyright-detailed.expected.yml index 6f98d9f0da..0f86507e5c 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/gnome-control-center/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/gnome-control-center/stable_copyright-detailed.expected.yml @@ -17,27 +17,32 @@ other_license_expression_spdx: (GPL-2.0-or-later AND GPL-2.0-or-later AND GPL-2. license_detections: [] other_license_detections: - license_expression: gpl-2.0-plus AND gpl-2.0 + license_expression_spdx: GPL-2.0-or-later AND GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 105 end_line: 105 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 106 end_line: 114 + matcher: 1-hash + score: '100.0' matched_length: 79 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_90.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_90.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_90.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -49,31 +54,36 @@ other_license_detections: 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. - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 116 end_line: 117 + matcher: 1-hash + score: '100.0' matched_length: 22 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1092.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1092.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1092.RULE matched_text: | On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus_and_gpl_2_0-67d2f469-481f-0cd9-8ff9-534830b22de1 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 120 end_line: 136 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -95,27 +105,32 @@ other_license_detections: THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: lgpl-2.0-plus AND lgpl-2.1 + license_expression_spdx: LGPL-2.0-or-later AND LGPL-2.1-only matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 138 end_line: 138 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_61.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_61.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_61.RULE matched_text: 'License: lgpl-2+' - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 139 end_line: 147 + matcher: 1-hash + score: '100.0' matched_length: 81 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_530.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_530.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_530.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -127,42 +142,49 @@ other_license_detections: but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 149 end_line: 150 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_385.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_385.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_385.RULE matched_text: | On Debian systems, the complete text of the GNU Lesser General Public License can be found in `/usr/share/common-licenses/LGPL-2.1'. identifier: lgpl_2_0_plus_and_lgpl_2_1-b94eb3c2-132e-4a98-3f36-7d5883ed50d0 - license_expression: lgpl-2.1-plus AND lgpl-2.1 + license_expression_spdx: LGPL-2.1-or-later AND LGPL-2.1-only matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 152 end_line: 152 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 153 end_line: 161 + matcher: 1-hash + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_34.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_34.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -174,15 +196,17 @@ other_license_detections: but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 163 end_line: 164 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_385.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_385.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_385.RULE matched_text: | On Debian systems, the complete text of the GNU Lesser General diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/gnupg2/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/gnupg2/stable_copyright-detailed.expected.yml index cb73694dd9..7a3f286aaf 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/gnupg2/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/gnupg2/stable_copyright-detailed.expected.yml @@ -38,16 +38,19 @@ other_license_expression_spdx: (GPL-3.0-or-later AND GPL-3.0-or-later) AND (GPL- license_detections: [] other_license_detections: - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '99.05' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 85 end_line: 110 + matcher: 1-hash + score: '99.05' matched_length: 209 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_594.RULE rule_relevance: 100 + rule_identifier: bsd-new_594.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_594.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -78,16 +81,19 @@ other_license_detections: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-1529bb96-2d58-f678-a443-d3bbbf37a9ff - license_expression: fsf-unlimited-no-warranty + license_expression_spdx: FSFULLRWD matches: - - score: '100.0' + - license_expression: fsf-unlimited-no-warranty + spdx_license_expression: FSFULLRWD + from_file: start_line: 114 end_line: 121 + matcher: 1-hash + score: '100.0' matched_length: 64 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-unlimited-no-warranty - rule_identifier: fsf-unlimited-no-warranty.RULE rule_relevance: 100 + rule_identifier: fsf-unlimited-no-warranty.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-unlimited-no-warranty.RULE matched_text: | This file is free software; as a special exception the author gives @@ -100,16 +106,19 @@ other_license_detections: PURPOSE. identifier: fsf_unlimited_no_warranty-005cbd82-97e0-5c6c-e111-cd46d95d2c5a - license_expression: ietf + license_expression_spdx: LicenseRef-scancode-ietf matches: - - score: '90.0' + - license_expression: ietf + spdx_license_expression: LicenseRef-scancode-ietf + from_file: start_line: 129 end_line: 144 + matcher: 2-aho + score: '90.0' matched_length: 149 match_coverage: '100.0' - matcher: 2-aho - license_expression: ietf - rule_identifier: ietf_7.RULE rule_relevance: 90 + rule_identifier: ietf_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/ietf_7.RULE matched_text: | This document and translations of it may be copied and furnished to @@ -130,27 +139,32 @@ other_license_detections: revoked by the Internet Society or its successors or assigns. identifier: ietf-020936d7-aad7-a859-aa41-3ef78b39c612 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 147 end_line: 147 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 148 end_line: 163 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_480.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_480.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_480.RULE matched_text: | GnuPG is free software; you can redistribute it and/or modify @@ -171,27 +185,32 @@ other_license_detections: `/usr/share/common-licenses/GPL-3'. identifier: gpl_3_0_plus-59e30787-1a62-c2cf-50f5-e0d50fffcd04 - license_expression: lgpl-3.0-plus + license_expression_spdx: LGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 165 end_line: 165 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_166.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE matched_text: 'License: lgpl-3+' - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 166 end_line: 181 + matcher: 1-hash + score: '100.0' matched_length: 132 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_191.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_191.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_191.RULE matched_text: | This program is free software; you can redistribute it and/or modify it @@ -212,27 +231,32 @@ other_license_detections: `/usr/share/common-licenses/LGPL-3'. identifier: lgpl_3_0_plus-1cede042-6a19-16e7-f08a-f722296d0745 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 183 end_line: 183 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 184 end_line: '199' + matcher: 1-hash + score: '100.0' matched_length: 135 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_307.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_307.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_307.RULE matched_text: | This program is free software; you can redistribute it and/or modify it @@ -253,16 +277,19 @@ other_license_detections: `/usr/share/common-licenses/LGPL-2.1'. identifier: lgpl_2_1_plus-75b8a956-d72b-ab7f-5921-bec21e7047bb - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 202 end_line: 225 + matcher: 1-hash + score: '100.0' matched_length: 205 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_910.RULE rule_relevance: 100 + rule_identifier: bsd-new_910.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_910.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -291,16 +318,19 @@ other_license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-d710da7a-d455-7e11-d6d1-e58805668aae - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 228 end_line: 245 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -323,27 +353,32 @@ other_license_detections: USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: cc0-1.0 + license_expression_spdx: CC0-1.0 matches: - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 247 end_line: 247 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_12.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_12.RULE matched_text: 'License: cc0-1.0' - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 248 end_line: 253 + matcher: 1-hash + score: '100.0' matched_length: 57 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_131.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_131.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_131.RULE matched_text: | To the extent possible under law, the author(s) have dedicated all @@ -354,16 +389,19 @@ other_license_detections: can be found in /usr/share/common-licenses/CC0-1.0. identifier: cc0_1_0-28709819-142f-86f2-a09a-d8ab5f97a889 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 81 end_line: 81 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_321.RULE rule_relevance: 100 + rule_identifier: other-permissive_321.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_321.RULE matched_text: This file is licensed permissively identifier: other_permissive-9b0e778e-b2cb-3f63-cd43-d76f05797558 diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/golang-1.11/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/golang-1.11/stable_copyright-detailed.expected.yml index 386433b0f7..10e10c5d40 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/golang-1.11/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/g/golang-1.11/stable_copyright-detailed.expected.yml @@ -40,32 +40,38 @@ other_license_expression_spdx: (BSD-3-Clause AND LicenseRef-scancode-google-pate license_detections: [] other_license_detections: - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 187 end_line: 188 + matcher: 1-hash + score: '100.0' matched_length: 17 match_coverage: '100.0' - matcher: 1-hash - license_expression: other-permissive - rule_identifier: other-permissive_292.RULE rule_relevance: 100 + rule_identifier: other-permissive_292.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_292.RULE matched_text: | Permission to use, copy, and distribute these images for any purpose and without fee is hereby granted. identifier: other_permissive-b68ae66f-78f0-96ce-91ff-6dc9db670978 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 226 end_line: 250 + matcher: 1-hash + score: '100.0' matched_length: 212 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_166.RULE rule_relevance: 100 + rule_identifier: bsd-new_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_166.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -95,16 +101,19 @@ other_license_detections: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-050b3051-820b-200e-26c9-1a3c8e9761d2 - license_expression: bsd-new AND google-patent-license-golang + license_expression_spdx: BSD-3-Clause AND LicenseRef-scancode-google-patent-license-golang matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 255 end_line: 279 + matcher: 2-aho + score: '100.0' matched_length: 212 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_166.RULE rule_relevance: 100 + rule_identifier: bsd-new_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_166.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -132,15 +141,17 @@ other_license_detections: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '95.0' + - license_expression: google-patent-license-golang + spdx_license_expression: LicenseRef-scancode-google-patent-license-golang + from_file: start_line: 281 end_line: 294 + matcher: 2-aho + score: '95.0' matched_length: 131 match_coverage: '100.0' - matcher: 2-aho - license_expression: google-patent-license-golang - rule_identifier: google-patent-license-golang_1.RULE rule_relevance: 95 + rule_identifier: google-patent-license-golang_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/google-patent-license-golang_1.RULE matched_text: | Subject to the terms and conditions of this License, Google hereby @@ -159,27 +170,32 @@ other_license_detections: such litigation is filed. identifier: bsd_new_and_google_patent_license_golang-6396c13c-c50d-6867-8cdb-3c6fc442fe86 - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 296 end_line: 296 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_65.RULE rule_relevance: 100 + rule_identifier: apache-2.0_65.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE matched_text: 'License: apache-2.0' - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 297 end_line: 310 + matcher: 1-hash + score: '100.0' matched_length: 105 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_1019.RULE rule_relevance: 100 + rule_identifier: apache-2.0_1019.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1019.RULE matched_text: | Licensed under the Apache License, Version 2.0 (the "License"); @@ -198,16 +214,19 @@ other_license_detections: /usr/share/common-licenses/Apache-2.0. identifier: apache_2_0-0aa97ccb-0d15-2093-0be2-57d791140e1a - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 313 end_line: 329 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -229,16 +248,19 @@ other_license_detections: THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 336 end_line: 355 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -263,16 +285,19 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_simplified-24fb2214-fe65-fd01-a4db-75b7cf8d710c - license_expression: mpeg-ssg + license_expression_spdx: MPEG-SSG matches: - - score: '100.0' + - license_expression: mpeg-ssg + spdx_license_expression: MPEG-SSG + from_file: start_line: 358 end_line: 376 + matcher: 1-hash + score: '100.0' matched_length: 153 match_coverage: '100.0' - matcher: 1-hash - license_expression: mpeg-ssg - rule_identifier: mpeg-ssg_1.RULE rule_relevance: 100 + rule_identifier: mpeg-ssg_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpeg-ssg_1.RULE matched_text: | These software programs are available to the user without any license fee or @@ -296,16 +321,19 @@ other_license_detections: design. identifier: mpeg_ssg-edece10f-06f5-dd49-8002-b4f2d5854d89 - license_expression: cc-by-3.0 + license_expression_spdx: CC-BY-3.0 matches: - - score: '97.85' + - license_expression: cc-by-3.0 + spdx_license_expression: CC-BY-3.0 + from_file: start_line: 379 end_line: 705 + matcher: 3-seq + score: '97.85' matched_length: 2686 match_coverage: '97.85' - matcher: 3-seq - license_expression: cc-by-3.0 - rule_identifier: cc-by-3.0_102.RULE rule_relevance: 100 + rule_identifier: cc-by-3.0_102.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-3.0_102.RULE matched_text: | THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS @@ -637,16 +665,19 @@ other_license_detections: intended to restrict the license of any rights under applicable law. identifier: cc_by_3_0-4a3ad702-c278-8efa-96a7-7950ab5504e8 - license_expression: bsd-2-clause-views + license_expression_spdx: BSD-2-Clause-Views matches: - - score: '98.1' + - license_expression: bsd-2-clause-views + spdx_license_expression: BSD-2-Clause-Views + from_file: start_line: 708 end_line: 731 + matcher: 1-hash + score: '98.1' matched_length: 206 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-2-clause-views - rule_identifier: bsd-2-clause-views_11.RULE rule_relevance: 100 + rule_identifier: bsd-2-clause-views_11.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-2-clause-views_11.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -675,16 +706,19 @@ other_license_detections: either expressed or implied, of identifier: bsd_2_clause_views-2415de48-d7ef-74fd-0e8e-85439a2304f3 - license_expression: sunpro + license_expression_spdx: SunPro matches: - - score: '100.0' + - license_expression: sunpro + spdx_license_expression: SunPro + from_file: start_line: 171 end_line: 174 + matcher: 2-aho + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 2-aho - license_expression: sunpro - rule_identifier: sunpro.LICENSE rule_relevance: 100 + rule_identifier: sunpro.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/sunpro.LICENSE matched_text: | Developed at SunPro, a Sun Microsystems, Inc. business. @@ -693,16 +727,19 @@ other_license_detections: is preserved. identifier: sunpro-8cbf8f94-4a9d-af5a-dc57-033780c667f7 - license_expression: cc-by-3.0 + license_expression_spdx: CC-BY-3.0 matches: - - score: '100.0' + - license_expression: cc-by-3.0 + spdx_license_expression: CC-BY-3.0 + from_file: start_line: 209 end_line: 211 + matcher: 2-aho + score: '100.0' matched_length: 17 match_coverage: '100.0' - matcher: 2-aho - license_expression: cc-by-3.0 - rule_identifier: cc-by-3.0_111.RULE rule_relevance: 100 + rule_identifier: cc-by-3.0_111.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-3.0_111.RULE matched_text: | are covered by the diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/lacme/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/lacme/stable_copyright-detailed.expected.yml index af8b7f15ed..b5fb8a0edc 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/lacme/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/lacme/stable_copyright-detailed.expected.yml @@ -8,27 +8,32 @@ other_license_expression_spdx: GPL-3.0-or-later AND GPL-3.0-or-later license_detections: [] other_license_detections: - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 8 end_line: 8 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 9 end_line: 15 + matcher: 1-hash + score: '100.0' matched_length: 67 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_509.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_509.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_509.RULE matched_text: | This package is free software; you can redistribute it and/or modify it diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/linux-signed-amd64/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/linux-signed-amd64/stable_copyright-detailed.expected.yml index 3ad03f5250..0813a8a8c8 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/linux-signed-amd64/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/linux-signed-amd64/stable_copyright-detailed.expected.yml @@ -22,16 +22,19 @@ other_license_expression_spdx: (GPL-2.0-only AND GPL-2.0-only) AND (GPL-2.0-only license_detections: [] other_license_detections: - license_expression: bsd-new OR gpl-1.0-plus + license_expression_spdx: BSD-3-Clause OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: bsd-new OR gpl-1.0-plus + spdx_license_expression: BSD-3-Clause OR GPL-1.0-or-later + from_file: start_line: 91 end_line: 121 + matcher: 2-aho + score: '100.0' matched_length: 251 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new OR gpl-1.0-plus - rule_identifier: bsd-new_or_gpl-1.0-plus_9.RULE rule_relevance: 100 + rule_identifier: bsd-new_or_gpl-1.0-plus_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_or_gpl-1.0-plus_9.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -67,16 +70,19 @@ other_license_detections: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new_or_gpl_1_0_plus-c0323e55-14e5-80bd-7ec7-8dd3477bd032 - license_expression: unicode + license_expression_spdx: LicenseRef-scancode-unicode matches: - - score: '100.0' + - license_expression: unicode + spdx_license_expression: LicenseRef-scancode-unicode + from_file: start_line: 126 end_line: 156 + matcher: 2-aho + score: '100.0' matched_length: 309 match_coverage: '100.0' - matcher: 2-aho - license_expression: unicode - rule_identifier: unicode_17.RULE rule_relevance: 100 + rule_identifier: unicode_17.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unicode_17.RULE matched_text: | Distributed under the Terms of Use in @@ -112,16 +118,19 @@ other_license_detections: authorization of the copyright holder. identifier: unicode-20f1fa03-5a85-518c-1468-0bf7d5e02a8b - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 171 end_line: 187 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -143,27 +152,32 @@ other_license_detections: DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: '194' end_line: '194' + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: '195' end_line: 209 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1330.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1330.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1330.RULE matched_text: | This package is free software; you can redistribute it and/or modify @@ -183,27 +197,32 @@ other_license_detections: 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-4843804f-917f-9ea7-c10a-097843d59177 - license_expression: lgpl-2.1 AND lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-only AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 211 end_line: 211 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_38.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_38.RULE matched_text: 'License: lgpl-2.1' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 212 end_line: 223 + matcher: 2-aho + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_62.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_62.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_62.RULE matched_text: | This program is free software; you can redistribute it and/or modify it @@ -218,31 +237,36 @@ other_license_detections: You should have received a copy of the GNU Lesser General Public License along with this program; If not, see . - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 225 end_line: 226 + matcher: 2-aho + score: '100.0' matched_length: 27 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_293.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_293.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_293.RULE matched_text: | On Debian systems, the complete text of the GNU Lesser General Public License version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. identifier: lgpl_2_1_and_lgpl_2_1_plus-c606c1e3-5c4c-bc4f-8e43-13cab79bd078 - license_expression: gpl-2.0-plus OR mit + license_expression_spdx: GPL-2.0-or-later OR MIT matches: - - score: '100.0' + - license_expression: gpl-2.0-plus OR mit + spdx_license_expression: GPL-2.0-or-later OR MIT + from_file: start_line: 229 end_line: 265 + matcher: 1-hash + score: '100.0' matched_length: 282 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus OR mit - rule_identifier: gpl-2.0-plus_or_mit2.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_or_mit2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_or_mit2.RULE matched_text: | This file is dual-licensed: you can use it either under the terms diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/linux-signed-arm64/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/linux-signed-arm64/stable_copyright-detailed.expected.yml index 3ad03f5250..0813a8a8c8 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/linux-signed-arm64/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/linux-signed-arm64/stable_copyright-detailed.expected.yml @@ -22,16 +22,19 @@ other_license_expression_spdx: (GPL-2.0-only AND GPL-2.0-only) AND (GPL-2.0-only license_detections: [] other_license_detections: - license_expression: bsd-new OR gpl-1.0-plus + license_expression_spdx: BSD-3-Clause OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: bsd-new OR gpl-1.0-plus + spdx_license_expression: BSD-3-Clause OR GPL-1.0-or-later + from_file: start_line: 91 end_line: 121 + matcher: 2-aho + score: '100.0' matched_length: 251 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new OR gpl-1.0-plus - rule_identifier: bsd-new_or_gpl-1.0-plus_9.RULE rule_relevance: 100 + rule_identifier: bsd-new_or_gpl-1.0-plus_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_or_gpl-1.0-plus_9.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -67,16 +70,19 @@ other_license_detections: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new_or_gpl_1_0_plus-c0323e55-14e5-80bd-7ec7-8dd3477bd032 - license_expression: unicode + license_expression_spdx: LicenseRef-scancode-unicode matches: - - score: '100.0' + - license_expression: unicode + spdx_license_expression: LicenseRef-scancode-unicode + from_file: start_line: 126 end_line: 156 + matcher: 2-aho + score: '100.0' matched_length: 309 match_coverage: '100.0' - matcher: 2-aho - license_expression: unicode - rule_identifier: unicode_17.RULE rule_relevance: 100 + rule_identifier: unicode_17.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unicode_17.RULE matched_text: | Distributed under the Terms of Use in @@ -112,16 +118,19 @@ other_license_detections: authorization of the copyright holder. identifier: unicode-20f1fa03-5a85-518c-1468-0bf7d5e02a8b - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 171 end_line: 187 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -143,27 +152,32 @@ other_license_detections: DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: '194' end_line: '194' + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: '195' end_line: 209 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1330.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1330.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1330.RULE matched_text: | This package is free software; you can redistribute it and/or modify @@ -183,27 +197,32 @@ other_license_detections: 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-4843804f-917f-9ea7-c10a-097843d59177 - license_expression: lgpl-2.1 AND lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-only AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 211 end_line: 211 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_38.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_38.RULE matched_text: 'License: lgpl-2.1' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 212 end_line: 223 + matcher: 2-aho + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_62.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_62.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_62.RULE matched_text: | This program is free software; you can redistribute it and/or modify it @@ -218,31 +237,36 @@ other_license_detections: You should have received a copy of the GNU Lesser General Public License along with this program; If not, see . - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 225 end_line: 226 + matcher: 2-aho + score: '100.0' matched_length: 27 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_293.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_293.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_293.RULE matched_text: | On Debian systems, the complete text of the GNU Lesser General Public License version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. identifier: lgpl_2_1_and_lgpl_2_1_plus-c606c1e3-5c4c-bc4f-8e43-13cab79bd078 - license_expression: gpl-2.0-plus OR mit + license_expression_spdx: GPL-2.0-or-later OR MIT matches: - - score: '100.0' + - license_expression: gpl-2.0-plus OR mit + spdx_license_expression: GPL-2.0-or-later OR MIT + from_file: start_line: 229 end_line: 265 + matcher: 1-hash + score: '100.0' matched_length: 282 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus OR mit - rule_identifier: gpl-2.0-plus_or_mit2.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_or_mit2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_or_mit2.RULE matched_text: | This file is dual-licensed: you can use it either under the terms diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/linux-signed-i386/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/linux-signed-i386/stable_copyright-detailed.expected.yml index 3ad03f5250..0813a8a8c8 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/linux-signed-i386/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/linux-signed-i386/stable_copyright-detailed.expected.yml @@ -22,16 +22,19 @@ other_license_expression_spdx: (GPL-2.0-only AND GPL-2.0-only) AND (GPL-2.0-only license_detections: [] other_license_detections: - license_expression: bsd-new OR gpl-1.0-plus + license_expression_spdx: BSD-3-Clause OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: bsd-new OR gpl-1.0-plus + spdx_license_expression: BSD-3-Clause OR GPL-1.0-or-later + from_file: start_line: 91 end_line: 121 + matcher: 2-aho + score: '100.0' matched_length: 251 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new OR gpl-1.0-plus - rule_identifier: bsd-new_or_gpl-1.0-plus_9.RULE rule_relevance: 100 + rule_identifier: bsd-new_or_gpl-1.0-plus_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_or_gpl-1.0-plus_9.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -67,16 +70,19 @@ other_license_detections: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new_or_gpl_1_0_plus-c0323e55-14e5-80bd-7ec7-8dd3477bd032 - license_expression: unicode + license_expression_spdx: LicenseRef-scancode-unicode matches: - - score: '100.0' + - license_expression: unicode + spdx_license_expression: LicenseRef-scancode-unicode + from_file: start_line: 126 end_line: 156 + matcher: 2-aho + score: '100.0' matched_length: 309 match_coverage: '100.0' - matcher: 2-aho - license_expression: unicode - rule_identifier: unicode_17.RULE rule_relevance: 100 + rule_identifier: unicode_17.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unicode_17.RULE matched_text: | Distributed under the Terms of Use in @@ -112,16 +118,19 @@ other_license_detections: authorization of the copyright holder. identifier: unicode-20f1fa03-5a85-518c-1468-0bf7d5e02a8b - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 171 end_line: 187 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -143,27 +152,32 @@ other_license_detections: DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: '194' end_line: '194' + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: '195' end_line: 209 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1330.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1330.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1330.RULE matched_text: | This package is free software; you can redistribute it and/or modify @@ -183,27 +197,32 @@ other_license_detections: 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-4843804f-917f-9ea7-c10a-097843d59177 - license_expression: lgpl-2.1 AND lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-only AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 211 end_line: 211 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_38.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_38.RULE matched_text: 'License: lgpl-2.1' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 212 end_line: 223 + matcher: 2-aho + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_62.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_62.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_62.RULE matched_text: | This program is free software; you can redistribute it and/or modify it @@ -218,31 +237,36 @@ other_license_detections: You should have received a copy of the GNU Lesser General Public License along with this program; If not, see . - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 225 end_line: 226 + matcher: 2-aho + score: '100.0' matched_length: 27 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_293.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_293.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_293.RULE matched_text: | On Debian systems, the complete text of the GNU Lesser General Public License version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. identifier: lgpl_2_1_and_lgpl_2_1_plus-c606c1e3-5c4c-bc4f-8e43-13cab79bd078 - license_expression: gpl-2.0-plus OR mit + license_expression_spdx: GPL-2.0-or-later OR MIT matches: - - score: '100.0' + - license_expression: gpl-2.0-plus OR mit + spdx_license_expression: GPL-2.0-or-later OR MIT + from_file: start_line: 229 end_line: 265 + matcher: 1-hash + score: '100.0' matched_length: 282 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus OR mit - rule_identifier: gpl-2.0-plus_or_mit2.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_or_mit2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_or_mit2.RULE matched_text: | This file is dual-licensed: you can use it either under the terms diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/linux/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/linux/stable_copyright-detailed.expected.yml index 3ad03f5250..0813a8a8c8 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/linux/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/l/linux/stable_copyright-detailed.expected.yml @@ -22,16 +22,19 @@ other_license_expression_spdx: (GPL-2.0-only AND GPL-2.0-only) AND (GPL-2.0-only license_detections: [] other_license_detections: - license_expression: bsd-new OR gpl-1.0-plus + license_expression_spdx: BSD-3-Clause OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: bsd-new OR gpl-1.0-plus + spdx_license_expression: BSD-3-Clause OR GPL-1.0-or-later + from_file: start_line: 91 end_line: 121 + matcher: 2-aho + score: '100.0' matched_length: 251 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new OR gpl-1.0-plus - rule_identifier: bsd-new_or_gpl-1.0-plus_9.RULE rule_relevance: 100 + rule_identifier: bsd-new_or_gpl-1.0-plus_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_or_gpl-1.0-plus_9.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -67,16 +70,19 @@ other_license_detections: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new_or_gpl_1_0_plus-c0323e55-14e5-80bd-7ec7-8dd3477bd032 - license_expression: unicode + license_expression_spdx: LicenseRef-scancode-unicode matches: - - score: '100.0' + - license_expression: unicode + spdx_license_expression: LicenseRef-scancode-unicode + from_file: start_line: 126 end_line: 156 + matcher: 2-aho + score: '100.0' matched_length: 309 match_coverage: '100.0' - matcher: 2-aho - license_expression: unicode - rule_identifier: unicode_17.RULE rule_relevance: 100 + rule_identifier: unicode_17.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unicode_17.RULE matched_text: | Distributed under the Terms of Use in @@ -112,16 +118,19 @@ other_license_detections: authorization of the copyright holder. identifier: unicode-20f1fa03-5a85-518c-1468-0bf7d5e02a8b - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 171 end_line: 187 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -143,27 +152,32 @@ other_license_detections: DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: '194' end_line: '194' + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: '195' end_line: 209 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1330.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1330.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1330.RULE matched_text: | This package is free software; you can redistribute it and/or modify @@ -183,27 +197,32 @@ other_license_detections: 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-4843804f-917f-9ea7-c10a-097843d59177 - license_expression: lgpl-2.1 AND lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-only AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 211 end_line: 211 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_38.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_38.RULE matched_text: 'License: lgpl-2.1' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 212 end_line: 223 + matcher: 2-aho + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_62.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_62.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_62.RULE matched_text: | This program is free software; you can redistribute it and/or modify it @@ -218,31 +237,36 @@ other_license_detections: You should have received a copy of the GNU Lesser General Public License along with this program; If not, see . - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 225 end_line: 226 + matcher: 2-aho + score: '100.0' matched_length: 27 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_293.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_293.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_293.RULE matched_text: | On Debian systems, the complete text of the GNU Lesser General Public License version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. identifier: lgpl_2_1_and_lgpl_2_1_plus-c606c1e3-5c4c-bc4f-8e43-13cab79bd078 - license_expression: gpl-2.0-plus OR mit + license_expression_spdx: GPL-2.0-or-later OR MIT matches: - - score: '100.0' + - license_expression: gpl-2.0-plus OR mit + spdx_license_expression: GPL-2.0-or-later OR MIT + from_file: start_line: 229 end_line: 265 + matcher: 1-hash + score: '100.0' matched_length: 282 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus OR mit - rule_identifier: gpl-2.0-plus_or_mit2.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_or_mit2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_or_mit2.RULE matched_text: | This file is dual-licensed: you can use it either under the terms diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/libs/libsdl2-image/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/libs/libsdl2-image/stable_copyright-detailed.expected.yml index f30f30627a..e43ce5cae1 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/libs/libsdl2-image/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/libs/libsdl2-image/stable_copyright-detailed.expected.yml @@ -15,16 +15,19 @@ other_license_expression_spdx: Zlib AND Zlib AND (LGPL-2.0-or-later AND LGPL-2.1 license_detections: [] other_license_detections: - license_expression: unlicense + license_expression_spdx: Unlicense matches: - - score: '100.0' + - license_expression: unlicense + spdx_license_expression: Unlicense + from_file: start_line: 33 end_line: 54 + matcher: 1-hash + score: '100.0' matched_length: 189 match_coverage: '100.0' - matcher: 1-hash - license_expression: unlicense - rule_identifier: unlicense_6.RULE rule_relevance: 100 + rule_identifier: unlicense_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unlicense_6.RULE matched_text: | This is free and unencumbered software released into the public domain. @@ -51,16 +54,19 @@ other_license_detections: OTHER DEALINGS IN THE SOFTWARE. identifier: unlicense-b1acf3b1-c4b1-049c-a0bb-4218e3dce0b3 - license_expression: zlib + license_expression_spdx: Zlib matches: - - score: '100.0' + - license_expression: zlib + spdx_license_expression: Zlib + from_file: start_line: 63 end_line: 77 + matcher: 1-hash + score: '100.0' matched_length: 132 match_coverage: '100.0' - matcher: 1-hash - license_expression: zlib - rule_identifier: zlib.LICENSE rule_relevance: 100 + rule_identifier: zlib.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE matched_text: | This software is provided 'as-is', without any express or implied @@ -80,27 +86,32 @@ other_license_detections: 3. This notice may not be removed or altered from any source distribution. identifier: zlib-f32ae987-c66a-44ce-bd13-c90e0c59aab8 - license_expression: lgpl-2.0-plus AND lgpl-2.1-plus + license_expression_spdx: LGPL-2.0-or-later AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 79 end_line: 79 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_61.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_61.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_61.RULE matched_text: 'License: lgpl-2+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 80 end_line: 86 + matcher: 1-hash + score: '100.0' matched_length: 70 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_419.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_419.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_419.RULE matched_text: | This program is free software; you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/libt/libtk-img/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/libt/libtk-img/stable_copyright-detailed.expected.yml index fb7b9668ff..8c29286a83 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/libt/libtk-img/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/libt/libtk-img/stable_copyright-detailed.expected.yml @@ -10,16 +10,19 @@ other_license_expression_spdx: TCL AND LicenseRef-scancode-pngsuite license_detections: [] other_license_detections: - license_expression: tcl + license_expression_spdx: TCL matches: - - score: '98.8' + - license_expression: tcl + spdx_license_expression: TCL + from_file: start_line: 13 end_line: 53 + matcher: 3-seq + score: '98.8' matched_length: 328 match_coverage: '98.8' - matcher: 3-seq - license_expression: tcl - rule_identifier: tcl_3.RULE rule_relevance: 100 + rule_identifier: tcl_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/tcl_3.RULE matched_text: | This software is copyrighted by Jan Nijtmans (the maintainer) @@ -65,16 +68,19 @@ other_license_detections: terms specified in this license. identifier: tcl-dd56f002-7495-c249-a5da-5ef965c62822 - license_expression: pngsuite + license_expression_spdx: LicenseRef-scancode-pngsuite matches: - - score: '100.0' + - license_expression: pngsuite + spdx_license_expression: LicenseRef-scancode-pngsuite + from_file: start_line: 56 end_line: 57 + matcher: 1-hash + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 1-hash - license_expression: pngsuite - rule_identifier: pngsuite.LICENSE rule_relevance: 100 + rule_identifier: pngsuite.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/pngsuite.LICENSE matched_text: | Permission to use, copy, modify, and distribute these images for any diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/libx/libxslt/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/libx/libxslt/stable_copyright-detailed.expected.yml index 99348988bb..8280db99d9 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/libx/libxslt/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/libx/libxslt/stable_copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: x11-xconsortium-veillard + license_expression_spdx: LicenseRef-scancode-x11-xconsortium-veillard matches: - - score: '100.0' + - license_expression: x11-xconsortium-veillard + spdx_license_expression: LicenseRef-scancode-x11-xconsortium-veillard + from_file: start_line: 15 end_line: 34 + matcher: 2-aho + score: '100.0' matched_length: '199' match_coverage: '100.0' - matcher: 2-aho - license_expression: x11-xconsortium-veillard - rule_identifier: x11-xconsortium-veillard.LICENSE rule_relevance: 100 + rule_identifier: x11-xconsortium-veillard.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-xconsortium-veillard.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -39,16 +42,19 @@ license_detections: ings in this Software without prior written authorization from him. identifier: x11_xconsortium_veillard-b2601908-f03c-335c-5bbd-e72dc065c901 - license_expression: x11-xconsortium + license_expression_spdx: X11 matches: - - score: '100.0' + - license_expression: x11-xconsortium + spdx_license_expression: X11 + from_file: start_line: 43 end_line: 62 + matcher: 2-aho + score: '100.0' matched_length: '198' match_coverage: '100.0' - matcher: 2-aho - license_expression: x11-xconsortium - rule_identifier: x11-xconsortium_4.RULE rule_relevance: 100 + rule_identifier: x11-xconsortium_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_4.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/m/mariadb-10.3/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/m/mariadb-10.3/stable_copyright-detailed.expected.yml index 16e3ff750d..4cfd3a7657 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/m/mariadb-10.3/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/m/mariadb-10.3/stable_copyright-detailed.expected.yml @@ -148,48 +148,57 @@ other_license_expression_spdx: (GPL-2.0-only AND GPL-2.0-only) AND (GPL-2.0-or-l license_detections: [] other_license_detections: - license_expression: other-copyleft + license_expression_spdx: LicenseRef-scancode-other-copyleft matches: - - score: '90.0' + - license_expression: other-copyleft + spdx_license_expression: LicenseRef-scancode-other-copyleft + from_file: start_line: 304 end_line: 305 + matcher: 1-hash + score: '90.0' matched_length: '19' match_coverage: '100.0' - matcher: 1-hash - license_expression: other-copyleft - rule_identifier: other-copyleft_4.RULE rule_relevance: 90 + rule_identifier: other-copyleft_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-copyleft_4.RULE matched_text: | Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. identifier: other_copyleft-0ac0d4dd-1063-c305-80e8-d67a64a53eaf - license_expression: fsf-free + license_expression_spdx: FSFUL matches: - - score: '100.0' + - license_expression: fsf-free + spdx_license_expression: FSFUL + from_file: start_line: 386 end_line: 387 + matcher: 1-hash + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-free - rule_identifier: fsf-free2.RULE rule_relevance: 100 + rule_identifier: fsf-free2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-free2.RULE matched_text: | This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. identifier: fsf_free-8d4278b0-1a18-46ea-fb34-66b65143a311 - license_expression: zlib + license_expression_spdx: Zlib matches: - - score: '100.0' + - license_expression: zlib + spdx_license_expression: Zlib + from_file: start_line: 505 end_line: 519 + matcher: 1-hash + score: '100.0' matched_length: 132 match_coverage: '100.0' - matcher: 1-hash - license_expression: zlib - rule_identifier: zlib.LICENSE rule_relevance: 100 + rule_identifier: zlib.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE matched_text: | This software is provided 'as-is', without any express or implied @@ -209,16 +218,19 @@ other_license_detections: 3. This notice may not be removed or altered from any source distribution. identifier: zlib-f32ae987-c66a-44ce-bd13-c90e0c59aab8 - license_expression: gpl-2.0-plus WITH bison-exception-2.2 + license_expression_spdx: GPL-2.0-or-later WITH Bison-exception-2.2 matches: - - score: '100.0' + - license_expression: gpl-2.0-plus WITH bison-exception-2.2 + spdx_license_expression: GPL-2.0-or-later WITH Bison-exception-2.2 + from_file: start_line: 562 end_line: 588 + matcher: 1-hash + score: '100.0' matched_length: 216 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus WITH bison-exception-2.2 - rule_identifier: gpl-2.0-plus_with_bison-exception-2.2_1.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_with_bison-exception-2.2_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_bison-exception-2.2_1.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -250,16 +262,19 @@ other_license_detections: version 2.2 of Bison. identifier: gpl_2_0_plus_with_bison_exception_2_2-ceb319fe-ed42-88fc-1732-0b4f76fdc6cc - license_expression: gpl-3.0-plus WITH bison-exception-2.2 + license_expression_spdx: GPL-3.0-or-later WITH Bison-exception-2.2 matches: - - score: '100.0' + - license_expression: gpl-3.0-plus WITH bison-exception-2.2 + spdx_license_expression: GPL-3.0-or-later WITH Bison-exception-2.2 + from_file: start_line: 597 end_line: 621 + matcher: 1-hash + score: '100.0' matched_length: 208 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus WITH bison-exception-2.2 - rule_identifier: gpl-3.0-plus_with_bison-exception-3.0_1.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_with_bison-exception-3.0_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_bison-exception-3.0_1.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -289,16 +304,19 @@ other_license_detections: version 2.2 of Bison. identifier: gpl_3_0_plus_with_bison_exception_2_2-637d6c30-89c5-8764-b189-8bb20227ccfc - license_expression: stlport-4.5 + license_expression_spdx: LicenseRef-scancode-stlport-4.5 matches: - - score: '100.0' + - license_expression: stlport-4.5 + spdx_license_expression: LicenseRef-scancode-stlport-4.5 + from_file: start_line: 734 end_line: 741 + matcher: 1-hash + score: '100.0' matched_length: 76 match_coverage: '100.0' - matcher: 1-hash - license_expression: stlport-4.5 - rule_identifier: stlport-4.5.LICENSE rule_relevance: 100 + rule_identifier: stlport-4.5.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/stlport-4.5.LICENSE matched_text: | This material is provided "as is", with absolutely no warranty expressed @@ -311,16 +329,19 @@ other_license_detections: modified is included with the above copyright notice. identifier: stlport_4_5-990bf173-c1f4-f13d-0d69-00f3f53ea5bc - license_expression: x11-xconsortium AND public-domain + license_expression_spdx: X11 AND LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: x11-xconsortium + spdx_license_expression: X11 + from_file: start_line: 807 end_line: 827 + matcher: 2-aho + score: '100.0' matched_length: 201 match_coverage: '100.0' - matcher: 2-aho - license_expression: x11-xconsortium - rule_identifier: x11-xconsortium_2.RULE rule_relevance: 100 + rule_identifier: x11-xconsortium_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -344,40 +365,47 @@ other_license_detections: be used in advertising or otherwise to promote the sale, use or other deal- ings in this Software without prior written authorization from the X Consor- tium. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 829 end_line: 829 + matcher: 2-aho + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_58.RULE rule_relevance: 100 + rule_identifier: public-domain_58.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_58.RULE matched_text: FSF changes to this file are in the public domain. identifier: x11_xconsortium_and_public_domain-85b6bf80-9de9-fe71-fa83-14be44f52a4b - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 850 end_line: 850 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 851 end_line: 865 + matcher: 1-hash + score: '100.0' matched_length: 121 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1329.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1329.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1329.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -397,27 +425,32 @@ other_license_detections: along with this program. If not, see . identifier: gpl_2_0-93f9e0b0-f602-f26d-bd96-db62133b8e63 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 867 end_line: 867 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 868 end_line: 883 + matcher: 1-hash + score: '100.0' matched_length: 129 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_1036.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_1036.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_1036.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -438,27 +471,32 @@ other_license_detections: along with this program. If not, see . identifier: gpl_2_0_plus-380616da-8e9e-f6e0-48a4-2968f6753e13 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 885 end_line: 885 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 886 end_line: 902 + matcher: 1-hash + score: '100.0' matched_length: 144 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_415.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_415.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_415.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -480,27 +518,32 @@ other_license_detections: `/usr/share/common-licenses/LGPL-2.1` identifier: lgpl_2_1_plus-7ab20781-d1ab-808d-5995-827b36a1937b - license_expression: lgpl-2.0-plus AND lgpl-2.0 + license_expression_spdx: LGPL-2.0-or-later AND LGPL-2.0-only matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 904 end_line: 904 + matcher: 1-hash + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_51.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_51.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_51.RULE matched_text: 'License: lgpl' - - score: '100.0' + - license_expression: lgpl-2.0 + spdx_license_expression: LGPL-2.0-only + from_file: start_line: 905 end_line: 922 + matcher: 1-hash + score: '100.0' matched_length: 136 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0 - rule_identifier: lgpl-2.0_189.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0_189.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0_189.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -523,16 +566,19 @@ other_license_detections: `/usr/share/common-licenses/LGPL-2` identifier: lgpl_2_0_plus_and_lgpl_2_0-9618c993-f50f-833f-bab4-b076894634e9 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '63.19' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 925 end_line: 934 + matcher: 3-seq + score: '63.19' matched_length: 60 match_coverage: '63.83' - matcher: 3-seq - license_expression: bsd-new - rule_identifier: bsd-new_1374.RULE rule_relevance: 99 + rule_identifier: bsd-new_1374.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1374.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -547,16 +593,19 @@ other_license_detections: distribution. identifier: bsd_new-bee97273-3ab1-9998-6318-02cf08215b30 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 937 end_line: 959 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -584,27 +633,32 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98 - license_expression: artistic-perl-1.0 + license_expression_spdx: Artistic-1.0-Perl matches: - - score: '99.0' + - license_expression: artistic-perl-1.0 + spdx_license_expression: Artistic-1.0-Perl + from_file: start_line: 961 end_line: 961 + matcher: 1-hash + score: '99.0' matched_length: 2 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 - rule_identifier: artistic-perl-1.0_26.RULE rule_relevance: 99 + rule_identifier: artistic-perl-1.0_26.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_26.RULE matched_text: 'License: artistic' - - score: '100.0' + - license_expression: artistic-perl-1.0 + spdx_license_expression: Artistic-1.0-Perl + from_file: start_line: 962 end_line: 1088 + matcher: 1-hash + score: '100.0' matched_length: 960 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 - rule_identifier: artistic-perl-1.0.LICENSE rule_relevance: 100 + rule_identifier: artistic-perl-1.0.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/artistic-perl-1.0.LICENSE matched_text: | The "Artistic License" @@ -736,41 +790,49 @@ other_license_detections: The End identifier: artistic_perl_1_0-93a1d46b-ef61-c65f-f1af-4f804df80e5f - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 1091 end_line: 1091 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_38.RULE rule_relevance: 100 + rule_identifier: public-domain_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_38.RULE matched_text: is public domain ( identifier: public_domain-7d49b7ad-8b9e-60cd-5fde-397e63b65786 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1093 end_line: 1093 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1094 end_line: 1108 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_83.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_83.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_83.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -790,27 +852,32 @@ other_license_detections: Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". identifier: gpl_3_0_plus-bef32a24-b1d4-4ab7-d330-6b902546acf3 - license_expression: lgpl-2.0 + license_expression_spdx: LGPL-2.0-only matches: - - score: '100.0' + - license_expression: lgpl-2.0 + spdx_license_expression: LGPL-2.0-only + from_file: start_line: 1110 end_line: 1110 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0 - rule_identifier: lgpl-2.0_12.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0_12.RULE matched_text: 'License: lgpl-2' - - score: '100.0' + - license_expression: lgpl-2.0 + spdx_license_expression: LGPL-2.0-only + from_file: start_line: 1111 end_line: 1124 + matcher: 1-hash + score: '100.0' matched_length: 116 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0 - rule_identifier: lgpl-2.0_187.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0_187.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0_187.RULE matched_text: | This package is free software; you can redistribute it and/or @@ -829,16 +896,19 @@ other_license_detections: Public License can be found in "/usr/share/common-licenses/LGPL-2". identifier: lgpl_2_0-a4c832e5-a9fd-43b2-8d18-fe78f560e3e8 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 201 end_line: 210 + matcher: 1-hash + score: '100.0' matched_length: 92 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1328.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1328.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1328.RULE matched_text: | These files fall under the blanket license specified in the file diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/ncbi-tools6/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/ncbi-tools6/stable_copyright-detailed.expected.yml index 9c28d7f9e5..f0c593a11d 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/ncbi-tools6/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/ncbi-tools6/stable_copyright-detailed.expected.yml @@ -38,27 +38,32 @@ other_license_expression_spdx: (LicenseRef-scancode-public-domain AND LicenseRef license_detections: [] other_license_detections: - license_expression: public-domain AND us-govt-public-domain + license_expression_spdx: LicenseRef-scancode-public-domain AND LicenseRef-scancode-us-govt-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 92 end_line: 92 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_128.RULE rule_relevance: 100 + rule_identifier: public-domain_128.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_128.RULE matched_text: put into the public domain, - - score: '100.0' + - license_expression: us-govt-public-domain + spdx_license_expression: LicenseRef-scancode-us-govt-public-domain + from_file: start_line: 94 end_line: 112 + matcher: 2-aho + score: '100.0' matched_length: 158 match_coverage: '100.0' - matcher: 2-aho - license_expression: us-govt-public-domain - rule_identifier: us-govt-public-domain_24.RULE rule_relevance: 100 + rule_identifier: us-govt-public-domain_24.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/us-govt-public-domain_24.RULE matched_text: | PUBLIC DOMAIN NOTICE @@ -82,16 +87,19 @@ other_license_detections: Please cite the author in any work or product based on this material. identifier: public_domain_and_us_govt_public_domain-895fe8b3-9bbf-2d1f-e72e-0f0fa3e85ebc - license_expression: boost-1.0 + license_expression_spdx: BSL-1.0 matches: - - score: '100.0' + - license_expression: boost-1.0 + spdx_license_expression: BSL-1.0 + from_file: start_line: 115 end_line: 135 + matcher: 1-hash + score: '100.0' matched_length: 202 match_coverage: '100.0' - matcher: 1-hash - license_expression: boost-1.0 - rule_identifier: boost-1.0_9.RULE rule_relevance: 100 + rule_identifier: boost-1.0_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/boost-1.0_9.RULE matched_text: | Permission is hereby granted, free of charge, to any person or organization @@ -117,16 +125,19 @@ other_license_detections: DEALINGS IN THE SOFTWARE. identifier: boost_1_0-0a228323-a725-4239-e66d-7117aa6c54bb - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 138 end_line: 154 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -148,16 +159,19 @@ other_license_detections: IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: mit-with-modification-obligations AND proprietary-license + license_expression_spdx: HPND-export-US-modify AND LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: mit-with-modification-obligations + spdx_license_expression: HPND-export-US-modify + from_file: start_line: 157 end_line: 172 + matcher: 2-aho + score: '100.0' matched_length: 153 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-with-modification-obligations - rule_identifier: mit-with-modification-obligations_4.RULE rule_relevance: 100 + rule_identifier: mit-with-modification-obligations_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-with-modification-obligations_4.RULE matched_text: | Permission to use, copy, modify, and distribute this software and its @@ -176,15 +190,17 @@ other_license_detections: THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. - - score: '100.0' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 179 end_line: 185 + matcher: 2-aho + score: '100.0' matched_length: 57 match_coverage: '100.0' - matcher: 2-aho - license_expression: proprietary-license - rule_identifier: proprietary-license_136.RULE rule_relevance: 100 + rule_identifier: proprietary-license_136.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_136.RULE matched_text: | No commercial use of these trademarks may be made without prior @@ -196,16 +212,19 @@ other_license_detections: recognition of their trademark status should be given). identifier: mit_with_modification_obligations_and_proprietary_license-d8f55aff-c8ea-6055-f1d9-e64dedf37d99 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 188 end_line: '194' + matcher: 1-hash + score: '100.0' matched_length: 36 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_359.RULE rule_relevance: 100 + rule_identifier: public-domain_359.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_359.RULE matched_text: | This source file is placed in the public domian. @@ -217,16 +236,19 @@ other_license_detections: Champaign, IL 61820 identifier: public_domain-3ede6353-539f-56a1-dbd0-5b29db1edfc9 - license_expression: flex-2.5 + license_expression_spdx: BSD-3-Clause-flex matches: - - score: '100.0' + - license_expression: flex-2.5 + spdx_license_expression: BSD-3-Clause-flex + from_file: start_line: '197' end_line: 209 + matcher: 1-hash + score: '100.0' matched_length: 122 match_coverage: '100.0' - matcher: 1-hash - license_expression: flex-2.5 - rule_identifier: flex-2.5_6.RULE rule_relevance: 100 + rule_identifier: flex-2.5_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/flex-2.5_6.RULE matched_text: | Redistribution and use in source and binary forms are permitted @@ -244,27 +266,32 @@ other_license_detections: WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. identifier: flex_2_5-dc2b38a4-d8d9-e49a-8c97-65694300b4be - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 211 end_line: 211 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 212 end_line: 231 + matcher: 1-hash + score: '100.0' matched_length: 139 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_845.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_845.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_845.RULE matched_text: | This program is free software; you can redistribute it diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/ncurses/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/ncurses/stable_copyright-detailed.expected.yml index cd1f246413..b5ad803f60 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/ncurses/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/ncurses/stable_copyright-detailed.expected.yml @@ -6,16 +6,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: x11-fsf + license_expression_spdx: X11-distribute-modifications-variant matches: - - score: '100.0' + - license_expression: x11-fsf + spdx_license_expression: X11-distribute-modifications-variant + from_file: start_line: 23 end_line: 45 + matcher: 2-aho + score: '100.0' matched_length: 200 match_coverage: '100.0' - matcher: 2-aho - license_expression: x11-fsf - rule_identifier: x11-fsf.LICENSE rule_relevance: 100 + rule_identifier: x11-fsf.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-fsf.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -43,16 +46,19 @@ license_detections: authorization. identifier: x11_fsf-5f3d72c2-fa6a-2f7b-b859-17e7567c1724 - license_expression: x11-xconsortium + license_expression_spdx: X11 matches: - - score: '100.0' + - license_expression: x11-xconsortium + spdx_license_expression: X11 + from_file: start_line: 50 end_line: 70 + matcher: 2-aho + score: '100.0' matched_length: 201 match_coverage: '100.0' - matcher: 2-aho - license_expression: x11-xconsortium - rule_identifier: x11-xconsortium_2.RULE rule_relevance: 100 + rule_identifier: x11-xconsortium_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -78,16 +84,19 @@ license_detections: tium. identifier: x11_xconsortium-8bc3e205-5f29-ecad-90bc-2f492c65be46 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 76 end_line: 98 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -115,16 +124,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98 - license_expression: x11-xconsortium + license_expression_spdx: X11 matches: - - score: '100.0' + - license_expression: x11-xconsortium + spdx_license_expression: X11 + from_file: start_line: 105 end_line: 127 + matcher: 2-aho + score: '100.0' matched_length: '199' match_coverage: '100.0' - matcher: 2-aho - license_expression: x11-xconsortium - rule_identifier: x11-xconsortium_41.RULE rule_relevance: 100 + rule_identifier: x11-xconsortium_41.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_41.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/newsboat/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/newsboat/stable_copyright-detailed.expected.yml index 7de3bd3d65..31b32e27dc 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/newsboat/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/newsboat/stable_copyright-detailed.expected.yml @@ -17,16 +17,19 @@ other_license_expression_spdx: MIT AND MIT AND BSL-1.0 AND (GPL-2.0-or-later AND license_detections: [] other_license_detections: - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 30 end_line: 46 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -48,16 +51,19 @@ other_license_detections: DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: boost-1.0 + license_expression_spdx: BSL-1.0 matches: - - score: '100.0' + - license_expression: boost-1.0 + spdx_license_expression: BSL-1.0 + from_file: start_line: 49 end_line: 70 + matcher: 1-hash + score: '100.0' matched_length: 208 match_coverage: '100.0' - matcher: 1-hash - license_expression: boost-1.0 - rule_identifier: boost-1.0_24.RULE rule_relevance: 100 + rule_identifier: boost-1.0_24.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/boost-1.0_24.RULE matched_text: | Boost Software License Version 1.0 @@ -84,27 +90,32 @@ other_license_detections: DEALINGS IN THE SOFTWARE. identifier: boost_1_0-a8ac3b7f-e1b3-e54d-c81b-d2165ef4621a - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 72 end_line: 72 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 73 end_line: 78 + matcher: 1-hash + score: '100.0' matched_length: 59 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1296.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1296.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1296.RULE matched_text: | This program is free software; you can redistribute it and/or modify it @@ -115,27 +126,32 @@ other_license_detections: Public License can be found in '/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-8f03a209-723a-5338-eac8-e37c880f528d - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 80 end_line: 80 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 81 end_line: 87 + matcher: 1-hash + score: '100.0' matched_length: 66 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_985.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_985.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_985.RULE matched_text: | This program is free software; you can redistribute it and/or modify it diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/nextcloud-desktop/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/nextcloud-desktop/stable_copyright-detailed.expected.yml index 4d18e0ff43..15e6a56887 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/nextcloud-desktop/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/nextcloud-desktop/stable_copyright-detailed.expected.yml @@ -42,16 +42,19 @@ other_license_expression_spdx: (GPL-2.0-or-later AND GPL-2.0-or-later AND GPL-2. license_detections: [] other_license_detections: - license_expression: apache-2.0 AND lgpl-2.1 + license_expression_spdx: Apache-2.0 AND LGPL-2.1-only matches: - - score: '90.0' + - license_expression: apache-2.0 AND lgpl-2.1 + spdx_license_expression: Apache-2.0 AND LGPL-2.1-only + from_file: start_line: 162 end_line: 175 + matcher: 1-hash + score: '90.0' matched_length: 106 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 AND lgpl-2.1 - rule_identifier: apache-2.0_and_lgpl-2.1_2.RULE rule_relevance: 90 + rule_identifier: apache-2.0_and_lgpl-2.1_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_and_lgpl-2.1_2.RULE matched_text: | Licensed under the Apache License, Version 2.0 (the "License"); @@ -70,16 +73,19 @@ other_license_detections: /usr/share/common-licenses/Apache-2.0 identifier: apache_2_0_and_lgpl_2_1-bf9c1a6e-3503-291d-0a38-d275e48b6404 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 178 end_line: '199' + matcher: 1-hash + score: '100.0' matched_length: 201 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_942.RULE rule_relevance: 100 + rule_identifier: bsd-new_942.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_942.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -106,16 +112,19 @@ other_license_detections: THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-ec493980-5bb3-5f10-73b9-7c82003a5f4b - license_expression: boost-1.0 + license_expression_spdx: BSL-1.0 matches: - - score: '100.0' + - license_expression: boost-1.0 + spdx_license_expression: BSL-1.0 + from_file: start_line: 202 end_line: 222 + matcher: 1-hash + score: '100.0' matched_length: 202 match_coverage: '100.0' - matcher: 1-hash - license_expression: boost-1.0 - rule_identifier: boost-1.0_9.RULE rule_relevance: 100 + rule_identifier: boost-1.0_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/boost-1.0_9.RULE matched_text: | Permission is hereby granted, free of charge, to any person or organization @@ -141,16 +150,19 @@ other_license_detections: DEALINGS IN THE SOFTWARE. identifier: boost_1_0-0a228323-a725-4239-e66d-7117aa6c54bb - license_expression: cc-by-3.0 + license_expression_spdx: CC-BY-3.0 matches: - - score: '100.0' + - license_expression: cc-by-3.0 + spdx_license_expression: CC-BY-3.0 + from_file: start_line: 225 end_line: 247 + matcher: 1-hash + score: '100.0' matched_length: 159 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc-by-3.0 - rule_identifier: cc-by-3.0_110.RULE rule_relevance: 100 + rule_identifier: cc-by-3.0_110.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-3.0_110.RULE matched_text: | Creative Commons Legal Code @@ -178,27 +190,32 @@ other_license_detections: CONDITIONS. identifier: cc_by_3_0-85c40002-c78a-e362-e471-c4d97777bac4 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 250 end_line: 250 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_26.RULE rule_relevance: 100 + rule_identifier: mit_26.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_26.RULE matched_text: The MIT License (MIT) - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 252 end_line: 268 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -220,27 +237,32 @@ other_license_detections: SOFTWARE. identifier: mit-86fcf017-3572-9813-b7e8-0a10ec4a120f - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 270 end_line: 270 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 271 end_line: 283 + matcher: 2-aho + score: '100.0' matched_length: 113 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_420.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_420.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_420.RULE matched_text: | This program is free software; you can redistribute it and/or @@ -256,42 +278,49 @@ other_license_detections: 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. - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 285 end_line: 286 + matcher: 2-aho + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_843.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_843.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_843.RULE matched_text: | On Debian systems a full copy of the GPL 2 can be found at /usr/share/common-licenses/GPL-2 identifier: gpl_2_0_plus-35e4cd88-b99c-c282-9c8d-6adda8e30de7 - license_expression: gpl-3.0 + license_expression_spdx: GPL-3.0-only matches: - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 288 end_line: 288 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_rdesc_1.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_rdesc_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_rdesc_1.RULE matched_text: 'License: gpl-3' - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 289 end_line: 303 + matcher: 1-hash + score: '100.0' matched_length: 121 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_417.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_417.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_417.RULE matched_text: | This program is free software; you can redistribute it and/or @@ -311,27 +340,32 @@ other_license_detections: /usr/share/common-licenses/GPL-3 identifier: gpl_3_0-8aedd1ed-14a5-6251-d7c9-2043652e8a9d - license_expression: lgpl-2.1 + license_expression_spdx: LGPL-2.1-only matches: - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 305 end_line: 305 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_38.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_38.RULE matched_text: 'License: lgpl-2.1' - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 306 end_line: 314 + matcher: 1-hash + score: '100.0' matched_length: 91 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_313.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_313.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_313.RULE matched_text: | This file may be used under the terms of the GNU Lesser General Public @@ -345,27 +379,32 @@ other_license_detections: /usr/share/common-licenses/LGPL-2.1 identifier: lgpl_2_1-2e3849b9-b454-6df2-7ee6-17217037ee49 - license_expression: lgpl-2.1-plus AND lgpl-2.1 + license_expression_spdx: LGPL-2.1-or-later AND LGPL-2.1-only matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 316 end_line: 316 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 317 end_line: 332 + matcher: 1-hash + score: '100.0' matched_length: 138 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_312.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_312.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_312.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -386,16 +425,19 @@ other_license_detections: /usr/share/common-licenses/LGPL-2.1 identifier: lgpl_2_1_plus_and_lgpl_2_1-cf318f99-012d-ea29-3c3d-7de3bd7e0338 - license_expression: public-domain-disclaimer + license_expression_spdx: LicenseRef-scancode-public-domain-disclaimer matches: - - score: '100.0' + - license_expression: public-domain-disclaimer + spdx_license_expression: LicenseRef-scancode-public-domain-disclaimer + from_file: start_line: 335 end_line: 337 + matcher: 1-hash + score: '100.0' matched_length: 27 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain-disclaimer - rule_identifier: public-domain-disclaimer_47.RULE rule_relevance: 100 + rule_identifier: public-domain-disclaimer_47.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain-disclaimer_47.RULE matched_text: | This software is in the public domain, furnished "as is", without technical diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/nginx/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/nginx/stable_copyright-detailed.expected.yml index 03e290c0a5..b5e5243f35 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/nginx/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/nginx/stable_copyright-detailed.expected.yml @@ -36,16 +36,19 @@ other_license_expression_spdx: BSD-2-Clause AND BSD-2-Clause AND BSD-2-Clause AN license_detections: [] other_license_detections: - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 110 end_line: 130 + matcher: 2-aho + score: '100.0' matched_length: 185 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_20.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_20.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_20.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -71,16 +74,19 @@ other_license_detections: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_simplified-fe5ce6eb-1b7c-6cd1-2e78-e9f71b0262f1 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 135 end_line: 157 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -108,16 +114,19 @@ other_license_detections: ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 160 end_line: 182 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_42.RULE rule_relevance: 100 + rule_identifier: bsd-new_42.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_42.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -145,16 +154,19 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_new-fe71ef21-9657-e8d8-ad75-ddd776ac9710 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 185 end_line: 201 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/node-lodash/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/node-lodash/stable_copyright-detailed.expected.yml index 77b79a58f2..476d92609f 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/node-lodash/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/n/node-lodash/stable_copyright-detailed.expected.yml @@ -16,16 +16,19 @@ other_license_expression_spdx: MIT AND MIT AND BSD-3-Clause AND LicenseRef-scanc license_detections: [] other_license_detections: - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '99.53' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 26 end_line: 45 + matcher: 1-hash + score: '99.53' matched_length: 211 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_314.RULE rule_relevance: 100 + rule_identifier: bsd-new_314.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_314.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -50,16 +53,19 @@ other_license_detections: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-f23dc916-0d10-a62b-e883-6fe84fea0844 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 48 end_line: 67 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person @@ -84,27 +90,32 @@ other_license_detections: OTHER DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 71 end_line: 71 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 72 end_line: 86 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_846.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_846.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_846.RULE matched_text: | This package is free software; you can redistribute it and/or modify @@ -124,16 +135,19 @@ other_license_detections: Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". identifier: gpl_2_0_plus-00217b75-1a81-9ffa-8aed-0d1bd2f9756b - license_expression: warranty-disclaimer + license_expression_spdx: LicenseRef-scancode-warranty-disclaimer matches: - - score: '100.0' + - license_expression: warranty-disclaimer + spdx_license_expression: LicenseRef-scancode-warranty-disclaimer + from_file: start_line: 89 end_line: 89 + matcher: 1-hash + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: warranty-disclaimer - rule_identifier: warranty-disclaimer_78.RULE rule_relevance: 100 + rule_identifier: warranty-disclaimer_78.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/warranty-disclaimer_78.RULE matched_text: NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. identifier: warranty_disclaimer-7ce752f1-3fd2-5c9f-d85a-ceb48cc6e7c9 diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/o/open-infrastructure-compute-tools/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/o/open-infrastructure-compute-tools/stable_copyright-detailed.expected.yml index 731069cf27..ac94b0c8fd 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/o/open-infrastructure-compute-tools/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/o/open-infrastructure-compute-tools/stable_copyright-detailed.expected.yml @@ -8,27 +8,32 @@ other_license_expression_spdx: GPL-3.0-or-later AND GPL-3.0-or-later AND GPL-3.0 license_detections: [] other_license_detections: - license_expression: gpl-3.0-plus AND gpl-3.0 + license_expression_spdx: GPL-3.0-or-later AND GPL-3.0-only matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 12 end_line: 12 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 13 end_line: 24 + matcher: 2-aho + score: '100.0' matched_length: 102 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_290.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_290.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_290.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -43,26 +48,30 @@ other_license_detections: You should have received a copy of the GNU General Public License along with this program. If not, see . - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 26 end_line: 26 + matcher: 2-aho + score: '100.0' matched_length: 7 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_378.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_378.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_378.RULE matched_text: the GNU General Public License version 3 - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 27 end_line: 27 + matcher: 2-aho + score: '100.0' matched_length: 6 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_93.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_93.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_93.RULE matched_text: usr/share/common-licenses/GPL-3. identifier: gpl_3_0_plus_and_gpl_3_0-60967129-5b9c-1055-6b3f-a7dc475d5b0b diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/o/open-vm-tools/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/o/open-vm-tools/stable_copyright-detailed.expected.yml index e8c25f5cdc..8bc829e404 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/o/open-vm-tools/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/o/open-vm-tools/stable_copyright-detailed.expected.yml @@ -21,16 +21,19 @@ other_license_expression_spdx: (LGPL-2.1-only AND LGPL-2.1-only) AND (GPL-2.0-on license_detections: [] other_license_detections: - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 38 end_line: 61 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_42.RULE rule_relevance: 100 + rule_identifier: bsd-new_42.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_42.RULE matched_text: "Redistribution and use in source and binary forms, with or without\n\ modification, are permitted provided that the following conditions are\tmet:\n\n1.\ @@ -52,27 +55,32 @@ other_license_detections: \ OF SUCH DAMAGE." identifier: bsd_new-fe71ef21-9657-e8d8-ad75-ddd776ac9710 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 63 end_line: 63 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 64 end_line: 74 + matcher: 2-aho + score: '100.0' matched_length: 94 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_353.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_353.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_353.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -86,42 +94,49 @@ other_license_detections: You should have received a copy of the GNU General Public License along with this program. If not, see . - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 76 end_line: 77 + matcher: 2-aho + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1290.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1290.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1290.RULE matched_text: | The complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL-2 file. identifier: gpl_2_0-22f74d38-e594-125c-2e35-76df8364a68b - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 79 end_line: 79 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 80 end_line: 94 + matcher: 1-hash + score: '100.0' matched_length: 122 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_983.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_983.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_983.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -141,27 +156,32 @@ other_license_detections: can be found in /usr/share/common-licenses/GPL-2 file. identifier: gpl_2_0_plus-fe100017-b30d-a3e1-08b9-40cc9f056db5 - license_expression: lgpl-2.1 + license_expression_spdx: LGPL-2.1-only matches: - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 96 end_line: 96 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_38.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_38.RULE matched_text: 'License: lgpl-2.1' - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 97 end_line: 110 + matcher: 1-hash + score: '100.0' matched_length: 120 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_453.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_453.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_453.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -180,16 +200,19 @@ other_license_detections: can be found in /usr/share/common-licenses/GPL-2.1 file. identifier: lgpl_2_1-eef28a01-301f-7c68-9a3d-06ca8557b06f - license_expression: isc AND ibm-dhcp + license_expression_spdx: ISC AND LicenseRef-scancode-ibm-dhcp matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 113 end_line: 123 + matcher: 2-aho + score: '100.0' matched_length: 113 match_coverage: '100.0' - matcher: 2-aho - license_expression: isc - rule_identifier: isc_9.RULE rule_relevance: 100 + rule_identifier: isc_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_9.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any purpose @@ -203,15 +226,17 @@ other_license_detections: DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - score: '100.0' + - license_expression: ibm-dhcp + spdx_license_expression: LicenseRef-scancode-ibm-dhcp + from_file: start_line: 127 end_line: 145 + matcher: 2-aho + score: '100.0' matched_length: 203 match_coverage: '100.0' - matcher: 2-aho - license_expression: ibm-dhcp - rule_identifier: ibm-dhcp.LICENSE rule_relevance: 100 + rule_identifier: ibm-dhcp.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ibm-dhcp.LICENSE matched_text: | International Business Machines, Inc. (hereinafter called IBM) grants @@ -235,16 +260,19 @@ other_license_detections: POSSIBILITY OF SUCH DAMAGES. identifier: isc_and_ibm_dhcp-d539ba65-a2a0-2bb1-a2a4-c389ed251972 - license_expression: xfree86-1.0 + license_expression_spdx: LicenseRef-scancode-xfree86-1.0 matches: - - score: '100.0' + - license_expression: xfree86-1.0 + spdx_license_expression: LicenseRef-scancode-xfree86-1.0 + from_file: start_line: 148 end_line: 169 + matcher: 1-hash + score: '100.0' matched_length: 210 match_coverage: '100.0' - matcher: 1-hash - license_expression: xfree86-1.0 - rule_identifier: xfree86-1.0_2.RULE rule_relevance: 100 + rule_identifier: xfree86-1.0_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/xfree86-1.0_2.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy of diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/o/openldap/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/o/openldap/stable_copyright-detailed.expected.yml index f6fbcbf96c..ef8c68dd16 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/o/openldap/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/o/openldap/stable_copyright-detailed.expected.yml @@ -12,16 +12,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: openldap-2.8 + license_expression_spdx: OLDAP-2.8 matches: - - score: '100.0' + - license_expression: openldap-2.8 + spdx_license_expression: OLDAP-2.8 + from_file: start_line: 17 end_line: 37 + matcher: 2-aho + score: '100.0' matched_length: 124 match_coverage: '100.0' - matcher: 2-aho - license_expression: openldap-2.8 - rule_identifier: openldap-2.8_21.RULE rule_relevance: 100 + rule_identifier: openldap-2.8_21.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/openldap-2.8_21.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -45,15 +48,17 @@ license_detections: Additional information about OpenLDAP can be obtained at . - - score: '100.0' + - license_expression: openldap-2.8 + spdx_license_expression: OLDAP-2.8 + from_file: start_line: 41 end_line: 81 + matcher: 2-aho + score: '100.0' matched_length: 297 match_coverage: '100.0' - matcher: 2-aho - license_expression: openldap-2.8 - rule_identifier: openldap-2.8_16.RULE rule_relevance: 100 + rule_identifier: openldap-2.8_16.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/openldap-2.8_16.RULE matched_text: | The OpenLDAP Public License @@ -99,16 +104,19 @@ license_detections: holders. identifier: openldap_2_8-a2059e16-441f-3cbf-7ca5-4d2d30253c32 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 91 end_line: 107 + matcher: 2-aho + score: '100.0' matched_length: 165 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_483.RULE rule_relevance: 100 + rule_identifier: mit_483.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_483.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -130,16 +138,19 @@ license_detections: # THE USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: mit-c00d5dad-390d-222f-7182-5d856cf7b8de - license_expression: fsf-unlimited-no-warranty + license_expression_spdx: FSFULLRWD matches: - - score: '100.0' + - license_expression: fsf-unlimited-no-warranty + spdx_license_expression: FSFULLRWD + from_file: start_line: 115 end_line: 122 + matcher: 2-aho + score: '100.0' matched_length: 64 match_coverage: '100.0' - matcher: 2-aho - license_expression: fsf-unlimited-no-warranty - rule_identifier: fsf-unlimited-no-warranty_2.RULE rule_relevance: 100 + rule_identifier: fsf-unlimited-no-warranty_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-unlimited-no-warranty_2.RULE matched_text: | This Makefile.in is free software; the Free Software Foundation @@ -152,16 +163,19 @@ license_detections: # PARTICULAR PURPOSE. identifier: fsf_unlimited_no_warranty-05f3eea9-e9cc-944d-4dc4-2b53a3e39319 - license_expression: hs-regexp + license_expression_spdx: Spencer-94 matches: - - score: '95.0' + - license_expression: hs-regexp + spdx_license_expression: Spencer-94 + from_file: start_line: 129 end_line: 145 + matcher: 2-aho + score: '95.0' matched_length: 123 match_coverage: '100.0' - matcher: 2-aho - license_expression: hs-regexp - rule_identifier: hs-regexp_5.RULE rule_relevance: 95 + rule_identifier: hs-regexp_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/hs-regexp_5.RULE matched_text: | Permission is granted to anyone to use this software for any purpose @@ -183,16 +197,19 @@ license_detections: * 4. This notice may not be removed or altered. identifier: hs_regexp-32499786-31ce-3850-a6f6-cd86b15e63f6 - license_expression: ibm-dhcp + license_expression_spdx: LicenseRef-scancode-ibm-dhcp matches: - - score: '100.0' + - license_expression: ibm-dhcp + spdx_license_expression: LicenseRef-scancode-ibm-dhcp + from_file: start_line: 154 end_line: 173 + matcher: 2-aho + score: '100.0' matched_length: 203 match_coverage: '100.0' - matcher: 2-aho - license_expression: ibm-dhcp - rule_identifier: ibm-dhcp.LICENSE rule_relevance: 100 + rule_identifier: ibm-dhcp.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ibm-dhcp.LICENSE matched_text: | International Business Machines, Inc. (hereinafter called IBM) grants @@ -217,16 +234,19 @@ license_detections: * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. identifier: ibm_dhcp-dbdce127-2353-307e-a8ca-9b4b36d360d0 - license_expression: ietf + license_expression_spdx: LicenseRef-scancode-ietf matches: - - score: '100.0' + - license_expression: ietf + spdx_license_expression: LicenseRef-scancode-ietf + from_file: start_line: 180 end_line: 206 + matcher: 2-aho + score: '100.0' matched_length: 221 match_coverage: '100.0' - matcher: 2-aho - license_expression: ietf - rule_identifier: ietf_5.RULE rule_relevance: 100 + rule_identifier: ietf_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/ietf_5.RULE matched_text: "Full Copyright Statement\n# \n# Copyright (C) The Internet Society\ \ (1999). All Rights Reserved.\n# \n# This document and translations of it may\ @@ -249,16 +269,19 @@ license_detections: \ OF\n# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." identifier: ietf-23d2fb67-3930-da5a-2c51-1eb7124a6cd1 - license_expression: isc + license_expression_spdx: ISC matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 227 end_line: 238 + matcher: 2-aho + score: '100.0' matched_length: 113 match_coverage: '100.0' - matcher: 2-aho - license_expression: isc - rule_identifier: isc_9.RULE rule_relevance: 100 + rule_identifier: isc_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_9.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -275,16 +298,19 @@ license_detections: * SOFTWARE. identifier: isc-fbf6f8d8-a949-0427-62b2-aef52fe84e71 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 245 end_line: 250 + matcher: 2-aho + score: '100.0' matched_length: 39 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_203.RULE rule_relevance: 100 + rule_identifier: other-permissive_203.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_203.RULE matched_text: "This software is not subject to any license of Silicon Graphics \n *\ \ Inc. or Purdue University.\n *\n * Redistribution and use in source and binary forms\ @@ -292,16 +318,19 @@ license_detections: \ * is preserved." identifier: other_permissive-a2d2ef7c-de65-e9c1-5dc3-80a1fa867e5f - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 277 end_line: 283 + matcher: 2-aho + score: '100.0' matched_length: 57 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_200.RULE rule_relevance: 100 + rule_identifier: other-permissive_200.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_200.RULE matched_text: "This software is not subject to any license of Carnegie Mellon University.\n\ \ *\n * Redistribution and use in source and binary forms are permitted without \n\ @@ -310,16 +339,19 @@ license_detections: \ from this software without prior written permission." identifier: other_permissive-cb1634c7-cff6-c876-793d-9679f4c49378 - license_expression: mit-old-style-no-advert + license_expression_spdx: NTP matches: - - score: '100.0' + - license_expression: mit-old-style-no-advert + spdx_license_expression: NTP + from_file: start_line: 311 end_line: 319 + matcher: 2-aho + score: '100.0' matched_length: 96 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-old-style-no-advert - rule_identifier: mit-old-style-no-advert_3.RULE rule_relevance: 100 + rule_identifier: mit-old-style-no-advert_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style-no-advert_3.RULE matched_text: | Permission to use, copy, modify, distribute, and sell this software and its @@ -333,32 +365,38 @@ license_detections: # without express or implied warranty. identifier: mit_old_style_no_advert-469a8f5b-14cb-1cf1-ac4f-fd7a23bb63e5 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 327 end_line: 328 + matcher: 2-aho + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_199.RULE rule_relevance: 100 + rule_identifier: other-permissive_199.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_199.RULE matched_text: | Permission to copy and distribute verbatim copies of this document is granted. identifier: other_permissive-37dc9756-e211-83ce-e703-b3275e50e484 - license_expression: hs-regexp + license_expression_spdx: Spencer-94 matches: - - score: '95.0' + - license_expression: hs-regexp + spdx_license_expression: Spencer-94 + from_file: start_line: 337 end_line: 352 + matcher: 2-aho + score: '95.0' matched_length: 123 match_coverage: '100.0' - matcher: 2-aho - license_expression: hs-regexp - rule_identifier: hs-regexp_5.RULE rule_relevance: 95 + rule_identifier: hs-regexp_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/hs-regexp_5.RULE matched_text: | Permission is granted to anyone to use this software for any purpose @@ -379,16 +417,19 @@ license_detections: * 4. This notice may not be removed or altered. identifier: hs_regexp-32499786-31ce-3850-a6f6-cd86b15e63f6 - license_expression: openldap-2.8 + license_expression_spdx: OLDAP-2.8 matches: - - score: '100.0' + - license_expression: openldap-2.8 + spdx_license_expression: OLDAP-2.8 + from_file: start_line: 359 end_line: 362 + matcher: 2-aho + score: '100.0' matched_length: 43 match_coverage: '100.0' - matcher: 2-aho - license_expression: openldap-2.8 - rule_identifier: openldap-2.8_15.RULE rule_relevance: 100 + rule_identifier: openldap-2.8_15.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/openldap-2.8_15.RULE matched_text: | Redistribution and use in source and binary forms are permitted only @@ -397,16 +438,19 @@ license_detections: * in file LICENSE in the top-level directory of the distribution. identifier: openldap_2_8-99672c54-2a17-1ad2-398b-76ba3e6834cc - license_expression: bsla AND bsd-original-uc + license_expression_spdx: BSD-4.3TAHOE AND BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsla + spdx_license_expression: BSD-4.3TAHOE + from_file: start_line: 368 end_line: 378 + matcher: 2-aho + score: '100.0' matched_length: 101 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsla - rule_identifier: bsla_3.RULE rule_relevance: 100 + rule_identifier: bsla_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsla_3.RULE matched_text: | Redistribution and use in source and binary forms are permitted @@ -420,31 +464,36 @@ license_detections: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 380 end_line: 381 + matcher: 2-aho + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_25.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_25.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_25.RULE matched_text: | NOTE: The Regents have since retroactively removed the advertising clause from above. identifier: bsla_and_bsd_original_uc-baf8c66c-255a-4e0e-885f-a17e5d67094e - license_expression: bsd-original-uc + license_expression_spdx: BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 388 end_line: 414 + matcher: 2-aho + score: '100.0' matched_length: 243 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_3.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -474,15 +523,17 @@ license_detections: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 416 end_line: 419 + matcher: 2-aho + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_24.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_24.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_24.RULE matched_text: | NOTE: The Regents have since retroactively removed the advertising @@ -491,16 +542,19 @@ license_detections: ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change identifier: bsd_original_uc-7d861d8c-b658-cbe9-abaf-82bd99b2f466 - license_expression: bsd-original-uc-1986 + license_expression_spdx: BSD-4.3RENO matches: - - score: '99.0' + - license_expression: bsd-original-uc-1986 + spdx_license_expression: BSD-4.3RENO + from_file: start_line: 426 end_line: 431 + matcher: 2-aho + score: '99.0' matched_length: 64 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-original-uc-1986 - rule_identifier: bsd-original-uc-1986_3.RULE rule_relevance: 99 + rule_identifier: bsd-original-uc-1986_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc-1986_3.RULE matched_text: | Redistribution and use in source and binary forms are permitted diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/o/osmpbf/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/o/osmpbf/stable_copyright-detailed.expected.yml index 47ad9bef08..0b59d14e00 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/o/osmpbf/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/o/osmpbf/stable_copyright-detailed.expected.yml @@ -11,27 +11,32 @@ other_license_expression_spdx: (LGPL-3.0-or-later AND LGPL-3.0-or-later) AND (GP license_detections: [] other_license_detections: - license_expression: lgpl-3.0-plus + license_expression_spdx: LGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 15 end_line: 15 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_166.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE matched_text: 'License: lgpl-3+' - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 16 end_line: 30 + matcher: 1-hash + score: '100.0' matched_length: 130 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_173.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_173.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_173.RULE matched_text: | This package is free software; you can redistribute it and/or modify @@ -51,27 +56,32 @@ other_license_detections: version 3 can be found in "/usr/share/common-licenses/LGPL-3". identifier: lgpl_3_0_plus-c84eb3ae-8936-b3a7-4f16-d8137a955f29 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 32 end_line: 32 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 33 end_line: 47 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_323.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_323.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_323.RULE matched_text: | This package is free software; you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/pam-u2f/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/pam-u2f/stable_copyright-detailed.expected.yml index e5c8a2f0f0..032dfa0ff2 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/pam-u2f/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/pam-u2f/stable_copyright-detailed.expected.yml @@ -20,16 +20,19 @@ other_license_expression_spdx: BSD-2-Clause AND BSD-2-Clause AND (GPL-2.0-or-lat license_detections: [] other_license_detections: - license_expression: fsf-unlimited + license_expression_spdx: FSFULLR matches: - - score: '100.0' + - license_expression: fsf-unlimited + spdx_license_expression: FSFULLR + from_file: start_line: 27 end_line: 29 + matcher: 1-hash + score: '100.0' matched_length: 29 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-unlimited - rule_identifier: fsf-unlimited.LICENSE rule_relevance: 100 + rule_identifier: fsf-unlimited.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-unlimited.LICENSE matched_text: | This file is free software; the Free Software Foundation gives @@ -37,16 +40,19 @@ other_license_detections: modifications, as long as this notice is preserved. identifier: fsf_unlimited-ed3d6762-95f0-131d-94c5-834f10d192a2 - license_expression: gpl-2.0-plus WITH libtool-exception-2.0 + license_expression_spdx: GPL-2.0-or-later WITH Libtool-exception matches: - - score: '100.0' + - license_expression: gpl-2.0-plus WITH libtool-exception-2.0 + spdx_license_expression: GPL-2.0-or-later WITH Libtool-exception + from_file: start_line: 39 end_line: 51 + matcher: 1-hash + score: '100.0' matched_length: 113 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus WITH libtool-exception-2.0 - rule_identifier: gpl-2.0-plus_with_libtool-exception-2.0_8.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_with_libtool-exception-2.0_8.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_libtool-exception-2.0_8.RULE matched_text: | GNU Libtool is free software; you can redistribute it and/or modify @@ -64,27 +70,32 @@ other_license_detections: `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus_with_libtool_exception_2_0-e1a8cc64-f5eb-97cf-c90d-a5d265d7d63f - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 54 end_line: 54 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 55 end_line: 61 + matcher: 1-hash + score: '100.0' matched_length: 66 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_842.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_842.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_842.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under @@ -96,27 +107,32 @@ other_license_detections: can be found in /usr/share/common-licenses/GPL-2. identifier: gpl_2_0_plus-db94a8a0-a1a1-5b56-3906-697a3aec3c2d - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 63 end_line: 63 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 64 end_line: 70 + matcher: 1-hash + score: '100.0' matched_length: 68 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_387.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_387.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_387.RULE matched_text: | This file is free software: you can redistribute it and/or modify @@ -128,16 +144,19 @@ other_license_detections: can be found in the file `/usr/share/common-licenses/GPL-3'. identifier: gpl_3_0_plus-19176ed3-f40f-a50b-29ca-3d0d961d6743 - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 73 end_line: 95 + matcher: 1-hash + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified - rule_identifier: bsd-simplified_5.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_5.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/pango1.0/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/pango1.0/stable_copyright-detailed.expected.yml index c0092f25c7..ed83120caf 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/pango1.0/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/pango1.0/stable_copyright-detailed.expected.yml @@ -31,16 +31,19 @@ other_license_expression_spdx: (LGPL-2.0-or-later AND LGPL-2.0-or-later) AND Lic license_detections: [] other_license_detections: - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 85 end_line: 87 + matcher: 1-hash + score: '100.0' matched_length: 28 match_coverage: '100.0' - matcher: 1-hash - license_expression: other-permissive - rule_identifier: other-permissive_324.RULE rule_relevance: 100 + rule_identifier: other-permissive_324.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_324.RULE matched_text: | Permission to use, copy, modify, distribute, and sell this example @@ -48,16 +51,19 @@ other_license_detections: It is provided "as is" without express or implied warranty. identifier: other_permissive-030a04e3-fab9-cc90-a7eb-341ec19285d1 - license_expression: x11 + license_expression_spdx: ICU matches: - - score: '100.0' + - license_expression: x11 + spdx_license_expression: ICU + from_file: start_line: 90 end_line: 116 + matcher: 1-hash + score: '100.0' matched_length: 241 match_coverage: '100.0' - matcher: 1-hash - license_expression: x11 - rule_identifier: x11_2.RULE rule_relevance: 100 + rule_identifier: x11_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11_2.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -89,27 +95,32 @@ other_license_detections: of their respective owners. identifier: x11-fa1d6e22-e05b-6093-6d7b-b82e9d97a910 - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 118 end_line: 118 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_61.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_61.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_61.RULE matched_text: 'License: lgpl-2+' - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 119 end_line: 130 + matcher: 1-hash + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_529.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_529.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_529.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -126,16 +137,19 @@ other_license_detections: License version 2 can be found in "/usr/share/common-licenses/LGPL-2". identifier: lgpl_2_0_plus-4c6098f7-5b22-4023-84df-76b5f2165c85 - license_expression: tcl + license_expression_spdx: TCL matches: - - score: '100.0' + - license_expression: tcl + spdx_license_expression: TCL + from_file: start_line: 133 end_line: 171 + matcher: 1-hash + score: '100.0' matched_length: 341 match_coverage: '100.0' - matcher: 1-hash - license_expression: tcl - rule_identifier: tcl_14.RULE rule_relevance: 100 + rule_identifier: tcl_14.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/tcl_14.RULE matched_text: | This software is copyrighted by the Regents of the University of @@ -179,16 +193,19 @@ other_license_detections: terms specified in this license. identifier: tcl-5f656d8e-004e-b8eb-6b96-10577123cfec - license_expression: unicode + license_expression_spdx: LicenseRef-scancode-unicode matches: - - score: '100.0' + - license_expression: unicode + spdx_license_expression: LicenseRef-scancode-unicode + from_file: start_line: 174 end_line: 224 + matcher: 1-hash + score: '100.0' matched_length: 423 match_coverage: '100.0' - matcher: 1-hash - license_expression: unicode - rule_identifier: unicode_57.RULE rule_relevance: 100 + rule_identifier: unicode_57.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unicode_57.RULE matched_text: | Unicode Data Files include all data files under the directories diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/perl/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/perl/copyright-detailed.expected.yml index 90b89f0ee8..798f6d4534 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/perl/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/perl/copyright-detailed.expected.yml @@ -738,81 +738,96 @@ other_license_expression_spdx: ((GPL-1.0-or-later AND GPL-1.0-only) OR (Artistic license_detections: [] other_license_detections: - license_expression: lgpl-2.1 + license_expression_spdx: LGPL-2.1-only matches: - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 2100 end_line: 2100 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_38.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_38.RULE matched_text: 'License: lgpl-2.1' - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 2101 end_line: 2102 + matcher: 1-hash + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_249.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_249.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_249.RULE matched_text: | On Debian GNU/Linux systems, the complete text of the LGPL 2.1 license can be found in `/usr/share/common-licenses/LGPL-2.1'. identifier: lgpl_2_1-25729df7-c7a2-c465-4e3a-95c8bbfa2166 - license_expression: gpl-1.0-plus AND gpl-1.0 + license_expression_spdx: GPL-1.0-or-later AND GPL-1.0-only matches: - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 2104 end_line: 2104 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_395.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_395.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_395.RULE matched_text: 'License: gpl-1+' - - score: '100.0' + - license_expression: gpl-1.0 + spdx_license_expression: GPL-1.0-only + from_file: start_line: 2105 end_line: 2106 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0 - rule_identifier: gpl-1.0_38.RULE rule_relevance: 100 + rule_identifier: gpl-1.0_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0_38.RULE matched_text: | On Debian GNU/Linux systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-1'. identifier: gpl_1_0_plus_and_gpl_1_0-6a152a01-a4b1-59a8-bc68-c255f8f729e1 - license_expression: gpl-2.0-plus AND gpl-2.0 + license_expression_spdx: GPL-2.0-or-later AND GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 2108 end_line: 2108 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 2109 end_line: 2111 + matcher: 1-hash + score: '100.0' matched_length: 27 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1040.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1040.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1040.RULE matched_text: | On Debian GNU/Linux systems, the complete text of version 2 of @@ -820,43 +835,51 @@ other_license_detections: `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus_and_gpl_2_0-592736dd-25b8-8a93-9c9d-661b18b9e615 - license_expression: artistic-perl-1.0 + license_expression_spdx: Artistic-1.0-Perl matches: - - score: '99.0' + - license_expression: artistic-perl-1.0 + spdx_license_expression: Artistic-1.0-Perl + from_file: start_line: 2113 end_line: 2113 + matcher: 1-hash + score: '99.0' matched_length: 2 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 - rule_identifier: artistic-perl-1.0_26.RULE rule_relevance: 99 + rule_identifier: artistic-perl-1.0_26.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_26.RULE matched_text: 'License: artistic' - - score: '100.0' + - license_expression: artistic-perl-1.0 + spdx_license_expression: Artistic-1.0-Perl + from_file: start_line: 2114 end_line: 2115 + matcher: 1-hash + score: '100.0' matched_length: 21 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 - rule_identifier: artistic-perl-1.0_2.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_2.RULE matched_text: | On Debian GNU/Linux systems, the complete text of the Artistic Licence can be found in `/usr/share/common-licenses/Artistic'. identifier: artistic_perl_1_0-28364b45-8110-28fe-aee5-cb6a37853295 - license_expression: artistic-2.0 + license_expression_spdx: Artistic-2.0 matches: - - score: '100.0' + - license_expression: artistic-2.0 + spdx_license_expression: Artistic-2.0 + from_file: start_line: 2118 end_line: 2299 + matcher: 1-hash + score: '100.0' matched_length: 1354 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-2.0 - rule_identifier: artistic-2.0_36.RULE rule_relevance: 100 + rule_identifier: artistic-2.0_36.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_36.RULE matched_text: | Copyright (c) 2000-2006, The Perl Foundation. @@ -1043,16 +1066,19 @@ other_license_detections: OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: artistic_2_0-bc78b6a9-7dba-285f-7e81-1b30d7b5e445 - license_expression: bzip2-libbzip-2010 + license_expression_spdx: bzip2-1.0.6 matches: - - score: '100.0' + - license_expression: bzip2-libbzip-2010 + spdx_license_expression: bzip2-1.0.6 + from_file: start_line: 2302 end_line: 2331 + matcher: 2-aho + score: '100.0' matched_length: 233 match_coverage: '100.0' - matcher: 2-aho - license_expression: bzip2-libbzip-2010 - rule_identifier: bzip2-libbzip-2010.LICENSE rule_relevance: 100 + rule_identifier: bzip2-libbzip-2010.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bzip2-libbzip-2010.LICENSE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1087,16 +1113,19 @@ other_license_detections: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bzip2_libbzip_2010-72b4db44-6142-9aeb-acd2-1d8f2447148c - license_expression: zlib + license_expression_spdx: Zlib matches: - - score: '100.0' + - license_expression: zlib + spdx_license_expression: Zlib + from_file: start_line: 2337 end_line: 2351 + matcher: 1-hash + score: '100.0' matched_length: 132 match_coverage: '100.0' - matcher: 1-hash - license_expression: zlib - rule_identifier: zlib.LICENSE rule_relevance: 100 + rule_identifier: zlib.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE matched_text: | This software is provided 'as-is', without any express or implied @@ -1116,16 +1145,19 @@ other_license_detections: 3. This notice may not be removed or altered from any source distribution. identifier: zlib-f32ae987-c66a-44ce-bd13-c90e0c59aab8 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 2354 end_line: 2370 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -1147,16 +1179,19 @@ other_license_detections: DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 2373 end_line: 2395 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_42.RULE rule_relevance: 100 + rule_identifier: bsd-new_42.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_42.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1184,16 +1219,19 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_new-fe71ef21-9657-e8d8-ad75-ddd776ac9710 - license_expression: bsd-original + license_expression_spdx: BSD-4-Clause matches: - - score: '98.25' + - license_expression: bsd-original + spdx_license_expression: BSD-4-Clause + from_file: start_line: 2398 end_line: 2424 + matcher: 1-hash + score: '98.25' matched_length: 224 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-original - rule_identifier: bsd-original_80.RULE rule_relevance: 100 + rule_identifier: bsd-original_80.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original_80.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1225,16 +1263,19 @@ other_license_detections: EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_original-3dc9cdcb-7881-5f58-5eb0-abe40fe6974d - license_expression: unicode-dfs-2015 + license_expression_spdx: Unicode-DFS-2015 matches: - - score: '99.57' + - license_expression: unicode-dfs-2015 + spdx_license_expression: Unicode-DFS-2015 + from_file: start_line: 2428 end_line: 2482 + matcher: 3-seq + score: '99.57' matched_length: 468 match_coverage: '99.57' - matcher: 3-seq - license_expression: unicode-dfs-2015 - rule_identifier: unicode-dfs-2015_9.RULE rule_relevance: 100 + rule_identifier: unicode-dfs-2015_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unicode-dfs-2015_9.RULE matched_text: | UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE @@ -1294,16 +1335,19 @@ other_license_detections: prior written authorization of the copyright holder. identifier: unicode_dfs_2015-a68362d0-e886-6936-9f94-af7247f63c6f - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 2485 end_line: 2507 + matcher: 1-hash + score: '100.0' matched_length: 207 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_313.RULE rule_relevance: 100 + rule_identifier: bsd-new_313.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_313.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1331,16 +1375,19 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_new-df1e02c8-d8f1-e983-3d20-fffa0788153b - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 2510 end_line: 2532 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1368,16 +1415,19 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98 - license_expression: regexp + license_expression_spdx: Spencer-86 matches: - - score: '100.0' + - license_expression: regexp + spdx_license_expression: Spencer-86 + from_file: start_line: 2535 end_line: 2547 + matcher: 1-hash + score: '100.0' matched_length: 88 match_coverage: '100.0' - matcher: 1-hash - license_expression: regexp - rule_identifier: regexp.LICENSE rule_relevance: 100 + rule_identifier: regexp.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/regexp.LICENSE matched_text: | Permission is granted to anyone to use this software for any @@ -1395,16 +1445,19 @@ other_license_detections: be misrepresented as being the original software. identifier: regexp-80089f45-0a6c-4f30-e4b6-24334a206225 - license_expression: ttwl + license_expression_spdx: TTWL matches: - - score: '100.0' + - license_expression: ttwl + spdx_license_expression: TTWL + from_file: start_line: 2550 end_line: 2554 + matcher: 1-hash + score: '100.0' matched_length: 43 match_coverage: '100.0' - matcher: 1-hash - license_expression: ttwl - rule_identifier: ttwl.LICENSE rule_relevance: 100 + rule_identifier: ttwl.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ttwl.LICENSE matched_text: | This module may be modified, used, copied, and redistributed at your own risk. @@ -1414,16 +1467,19 @@ other_license_detections: unless it passes the unmodified Text::Tabs test suite. identifier: ttwl-eeadd029-25f0-a4b1-0af8-c75212d02135 - license_expression: other-copyleft + license_expression_spdx: LicenseRef-scancode-other-copyleft matches: - - score: '100.0' + - license_expression: other-copyleft + spdx_license_expression: LicenseRef-scancode-other-copyleft + from_file: start_line: 2557 end_line: 2559 + matcher: 1-hash + score: '100.0' matched_length: 35 match_coverage: '100.0' - matcher: 1-hash - license_expression: other-copyleft - rule_identifier: other-copyleft_20.RULE rule_relevance: 100 + rule_identifier: other-copyleft_20.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-copyleft_20.RULE matched_text: | This program is free and open software. You may use, modify, @@ -1431,79 +1487,94 @@ other_license_detections: way you wish, provided you do not restrict others from doing the same. identifier: other_copyleft-c7bd5df8-17ea-832d-36d6-a7557d00fb09 - license_expression: other-copyleft + license_expression_spdx: LicenseRef-scancode-other-copyleft matches: - - score: '90.0' + - license_expression: other-copyleft + spdx_license_expression: LicenseRef-scancode-other-copyleft + from_file: start_line: 2562 end_line: 2563 + matcher: 1-hash + score: '90.0' matched_length: '19' match_coverage: '100.0' - matcher: 1-hash - license_expression: other-copyleft - rule_identifier: other-copyleft_4.RULE rule_relevance: 90 + rule_identifier: other-copyleft_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-copyleft_4.RULE matched_text: | Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. identifier: other_copyleft-0ac0d4dd-1063-c305-80e8-d67a64a53eaf - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 2569 end_line: 2569 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_45.RULE rule_relevance: 100 + rule_identifier: public-domain_45.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_45.RULE matched_text: placed in the public domain. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 2574 end_line: 2574 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_285.RULE rule_relevance: 100 + rule_identifier: public-domain_285.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_285.RULE matched_text: is in the public domain, - - score: '70.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 2575 end_line: 2575 + matcher: 2-aho + score: '70.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_bare_words.RULE rule_relevance: 70 + rule_identifier: public-domain_bare_words.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE matched_text: public-domain - - score: '70.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 2584 end_line: 2584 + matcher: 2-aho + score: '70.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_bare_words.RULE rule_relevance: 70 + rule_identifier: public-domain_bare_words.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE matched_text: public domain identifier: public_domain-d6560563-b3c0-65ee-7cca-7225d652d54d - license_expression: gpl-3.0-plus WITH bison-exception-2.2 + license_expression_spdx: GPL-3.0-or-later WITH Bison-exception-2.2 matches: - - score: '100.0' + - license_expression: gpl-3.0-plus WITH bison-exception-2.2 + spdx_license_expression: GPL-3.0-or-later WITH Bison-exception-2.2 + from_file: start_line: 2588 end_line: 2612 + matcher: 1-hash + score: '100.0' matched_length: 208 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus WITH bison-exception-2.2 - rule_identifier: gpl-3.0-plus_with_bison-exception-3.0_1.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_with_bison-exception-3.0_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_bison-exception-3.0_1.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -1533,16 +1604,19 @@ other_license_detections: version 2.2 of Bison. identifier: gpl_3_0_plus_with_bison_exception_2_2-637d6c30-89c5-8764-b189-8bb20227ccfc - license_expression: paul-hsieh-derivative + license_expression_spdx: LicenseRef-scancode-paul-hsieh-derivative matches: - - score: '100.0' + - license_expression: paul-hsieh-derivative + spdx_license_expression: LicenseRef-scancode-paul-hsieh-derivative + from_file: start_line: 2615 end_line: 2630 + matcher: 1-hash + score: '100.0' matched_length: 121 match_coverage: '100.0' - matcher: 1-hash - license_expression: paul-hsieh-derivative - rule_identifier: paul-hsieh-derivative_1.RULE rule_relevance: 100 + rule_identifier: paul-hsieh-derivative_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/paul-hsieh-derivative_1.RULE matched_text: | The derivative content includes raw computer source code, ideas, @@ -1563,16 +1637,19 @@ other_license_detections: is not necessary. identifier: paul_hsieh_derivative-227e82af-732d-87b3-eb2c-9409d183d572 - license_expression: bsd-x11 + license_expression_spdx: LicenseRef-scancode-bsd-x11 matches: - - score: '99.0' + - license_expression: bsd-x11 + spdx_license_expression: LicenseRef-scancode-bsd-x11 + from_file: start_line: 2636 end_line: 2661 + matcher: 2-aho + score: '99.0' matched_length: 217 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-x11 - rule_identifier: bsd-x11_10.RULE rule_relevance: 99 + rule_identifier: bsd-x11_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-x11_10.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1603,27 +1680,32 @@ other_license_detections: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_x11-53db30c9-af29-3609-e3c2-f3c4ac87fabe - license_expression: cc0-1.0 + license_expression_spdx: CC0-1.0 matches: - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 2663 end_line: 2663 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_12.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_12.RULE matched_text: 'License: cc0-1.0' - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 2664 end_line: 2783 + matcher: 1-hash + score: '100.0' matched_length: 981 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_155.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_155.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_155.RULE matched_text: | Statatement of Purpose @@ -1748,16 +1830,19 @@ other_license_detections: to this CC0 or use of the Work. identifier: cc0_1_0-d16cc04e-8802-8225-9e6f-0fb92bcba694 - license_expression: fsf-ap + license_expression_spdx: FSFAP matches: - - score: '100.0' + - license_expression: fsf-ap + spdx_license_expression: FSFAP + from_file: start_line: 2790 end_line: 2793 + matcher: 1-hash + score: '100.0' matched_length: 35 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-ap - rule_identifier: fsf-ap.LICENSE rule_relevance: 100 + rule_identifier: fsf-ap.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-ap.LICENSE matched_text: | Copying and distribution of this file, with or without modification, are @@ -1766,16 +1851,19 @@ other_license_detections: warranty. identifier: fsf_ap-a7d380d0-4462-458a-36c1-1852bdcbf538 - license_expression: artistic-dist-1.0 + license_expression_spdx: LicenseRef-scancode-artistic-1988-1.0 matches: - - score: '100.0' + - license_expression: artistic-dist-1.0 + spdx_license_expression: LicenseRef-scancode-artistic-1988-1.0 + from_file: start_line: 2796 end_line: 2920 + matcher: 1-hash + score: '100.0' matched_length: 947 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-dist-1.0 - rule_identifier: artistic-dist-1.0.LICENSE rule_relevance: 100 + rule_identifier: artistic-dist-1.0.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/artistic-dist-1.0.LICENSE matched_text: | The "Artistic License" @@ -1905,16 +1993,19 @@ other_license_detections: The End identifier: artistic_dist_1_0-c8a5103b-b244-055a-58c3-4fd73f491e6a - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 20 end_line: 27 + matcher: 2-aho + score: '100.0' matched_length: 49 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_17.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_17.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_17.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -1927,132 +2018,159 @@ other_license_detections: b) the "Artistic License" which comes with Perl. identifier: gpl_1_0_plus_or_artistic_perl_1_0-95ef4a7b-575e-74fe-2260-6fb5805fd955 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 47 end_line: 47 + matcher: 1-hash + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_12.RULE matched_text: This file is a part of Perl itself, licensed as above. identifier: gpl_1_0_plus_or_artistic_perl_1_0-fd15e46d-ac77-acdb-3f93-0d54ee03a1b7 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 54 end_line: 54 + matcher: 1-hash + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_12.RULE matched_text: This file is a part of Perl itself, licensed as above. identifier: gpl_1_0_plus_or_artistic_perl_1_0-fd15e46d-ac77-acdb-3f93-0d54ee03a1b7 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 64 end_line: 64 + matcher: 1-hash + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_12.RULE matched_text: This file is a part of Perl itself, licensed as above. identifier: gpl_1_0_plus_or_artistic_perl_1_0-fd15e46d-ac77-acdb-3f93-0d54ee03a1b7 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 72 end_line: 72 + matcher: 1-hash + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_12.RULE matched_text: This file is a part of Perl itself, licensed as above. identifier: gpl_1_0_plus_or_artistic_perl_1_0-fd15e46d-ac77-acdb-3f93-0d54ee03a1b7 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 82 end_line: 82 + matcher: 2-aho + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_12.RULE matched_text: This file is a part of Perl itself, licensed as above. identifier: gpl_1_0_plus_or_artistic_perl_1_0-fd15e46d-ac77-acdb-3f93-0d54ee03a1b7 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 113 end_line: 114 + matcher: 2-aho + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 126 end_line: 127 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_4.RULE matched_text: | This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-abf4b96c-fc73-c8e3-29cd-08cded8bef2c - license_expression: unicode + license_expression_spdx: LicenseRef-scancode-unicode matches: - - score: '100.0' + - license_expression: unicode + spdx_license_expression: LicenseRef-scancode-unicode + from_file: start_line: 136 end_line: 136 + matcher: 2-aho + score: '100.0' matched_length: 13 match_coverage: '100.0' - matcher: 2-aho - license_expression: unicode - rule_identifier: unicode_14.RULE rule_relevance: 100 + rule_identifier: unicode_14.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unicode_14.RULE matched_text: For terms of use, see http://www.unicode.org/terms_of_use.html identifier: unicode-694376d5-aeeb-e4bc-a4e1-095d162d3862 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 146 end_line: 148 + matcher: 1-hash + score: '100.0' matched_length: 40 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_26.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_26.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_26.RULE matched_text: | This library is free software; you can redistribute it and/or modify @@ -2060,262 +2178,313 @@ other_license_detections: at your option, any later version of Perl 5 you may have available. identifier: artistic_perl_1_0_or_gpl_1_0_plus-c184d674-b309-2d8f-2170-8340d9b74afc - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 154 end_line: 155 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 162 end_line: 163 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 170 end_line: 170 + matcher: 1-hash + score: '100.0' matched_length: 11 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_34.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_34.RULE matched_text: All files are licensed under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-4e05fce9-1807-80b2-856e-0fa39a440170 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '90.91' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 177 end_line: 177 + matcher: 1-hash + score: '90.91' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_32.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_32.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_32.RULE matched_text: The PerlUi class is licensed under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-522746e5-bffc-fa4c-ea81-334067779aac - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '91.67' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 185 end_line: 185 + matcher: 1-hash + score: '91.67' matched_length: 11 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_31.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_31.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_31.RULE matched_text: The Symbian port is licensed under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-7e59d507-72c7-19bf-6165-d58bcc316f9a - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: '195' end_line: '196' + matcher: 2-aho + score: '100.0' matched_length: 15 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_28.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_28.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_28.RULE matched_text: | It is assumed that the test code is licensed under the same terms as Perl. identifier: artistic_perl_1_0_or_gpl_1_0_plus-2ed96cd5-955e-4781-7dd3-7bcd315fff9b - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 202 end_line: 203 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 212 end_line: 213 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_4.RULE matched_text: | This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-abf4b96c-fc73-c8e3-29cd-08cded8bef2c - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 220 end_line: 221 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 228 end_line: 229 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 236 end_line: 237 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 246 end_line: 247 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 258 end_line: 258 + matcher: 1-hash + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_12.RULE matched_text: This file is a part of Perl itself, licensed as above. identifier: gpl_1_0_plus_or_artistic_perl_1_0-fd15e46d-ac77-acdb-3f93-0d54ee03a1b7 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 264 end_line: 265 + matcher: 1-hash + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_25.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_25.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_25.RULE matched_text: | This library is free software; you may redistribute and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-fc24870c-10ae-2148-d3bf-e786583923db - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 278 end_line: 278 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_11.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_11.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_11.RULE matched_text: This package has the same copyright and license as the perl core. identifier: gpl_1_0_plus_or_artistic_perl_1_0-00c5b5e7-0cc5-6dc8-2914-7a86e3fe305f - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 284 end_line: 285 + matcher: 1-hash + score: '100.0' matched_length: 16 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_44.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_44.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_44.RULE matched_text: | This module is free software, you may distribute it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-7efcdd95-ec2e-48b4-6b08-e8b6a41ced5d - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 293 end_line: 295 + matcher: 1-hash + score: '100.0' matched_length: 31 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_43.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_43.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_43.RULE matched_text: | This is free software. You may modify and/or redistribute this @@ -2323,32 +2492,38 @@ other_license_detections: any later version of Perl 5. identifier: gpl_1_0_plus_or_artistic_perl_1_0-8ca7b680-12a9-c6a8-d60b-abd1b0e1aa81 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 303 end_line: 304 + matcher: 1-hash + score: '100.0' matched_length: 16 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_44.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_44.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_44.RULE matched_text: | This module is free software. You may distribute it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-7efcdd95-ec2e-48b4-6b08-e8b6a41ced5d - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 312 end_line: 319 + matcher: 1-hash + score: '100.0' matched_length: 50 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_13.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_13.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_13.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -2361,318 +2536,378 @@ other_license_detections: b) the "Artistic License" which comes with this kit. identifier: gpl_1_0_plus_or_artistic_perl_1_0-01827891-d8b3-db54-a82c-45e2a8af8edc - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 325 end_line: 326 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 345 end_line: 346 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 358 end_line: 359 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 365 end_line: 366 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 374 end_line: 374 + matcher: 1-hash + score: '100.0' matched_length: 11 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_42.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_42.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_42.RULE matched_text: You may redistribute this under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-d15d44f1-6970-d898-4fa2-eb72ec024222 - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 382 end_line: 383 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 394 end_line: 395 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 402 end_line: 403 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 410 end_line: 411 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 417 end_line: 418 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 427 end_line: 428 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 435 end_line: 436 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 444 end_line: 445 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 454 end_line: 455 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 462 end_line: 463 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 469 end_line: 470 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-2.0 + license_expression_spdx: Artistic-2.0 matches: - - score: '100.0' + - license_expression: artistic-2.0 + spdx_license_expression: Artistic-2.0 + from_file: start_line: 476 end_line: 477 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-2.0 - rule_identifier: artistic-2.0_38.RULE rule_relevance: 100 + rule_identifier: artistic-2.0_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_38.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the terms of the the Artistic License (2.0). identifier: artistic_2_0-e78d6739-c4ab-40c9-572b-bcaabfb23964 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 484 end_line: 485 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 492 end_line: 493 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 500 end_line: 509 + matcher: 2-aho + score: '100.0' matched_length: 71 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_41.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_41.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_41.RULE matched_text: | There are no copyright or license notices in this distribution. It @@ -2687,112 +2922,133 @@ other_license_detections: file. identifier: gpl_1_0_plus_or_artistic_perl_1_0-3c906dee-c087-db95-4092-056433d16fb5 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 517 end_line: 518 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 524 end_line: 525 + matcher: 1-hash + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_15.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_15.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_15.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-18449fdf-781e-7e30-7f07-dfe1ecca6ee1 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 540 end_line: 541 + matcher: 1-hash + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_25.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_25.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_25.RULE matched_text: | This library is free software; you may redistribute and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-fc24870c-10ae-2148-d3bf-e786583923db - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 549 end_line: 550 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 558 end_line: 559 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 568 end_line: 569 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-2.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-2.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-2.0-or-later + from_file: start_line: 576 end_line: 580 + matcher: 1-hash + score: '100.0' matched_length: 47 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-2.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-2.0-plus_3.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-2.0-plus_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-2.0-plus_3.RULE matched_text: | This program is free software; you can redistribute it and/or @@ -2802,192 +3058,228 @@ other_license_detections: later version. identifier: artistic_perl_1_0_or_gpl_2_0_plus-9838542c-8067-e5da-446d-8a162c7c3cc5 - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 587 end_line: 588 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 595 end_line: 596 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 603 end_line: 604 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 613 end_line: 614 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 621 end_line: 622 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 630 end_line: 631 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 638 end_line: 639 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_15.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_15.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_15.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the LICENCE file. identifier: gpl_1_0_plus_or_artistic_perl_1_0-998f11a5-2f46-f75b-3298-dbfa69a673aa - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 646 end_line: 647 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 657 end_line: 658 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 664 end_line: 665 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 676 end_line: 677 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_24.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_24.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_24.RULE matched_text: | This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-253ad29b-8eea-a58f-0e55-7f1f30b4d132 - license_expression: mit OR gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: MIT OR GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: mit OR gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: MIT OR GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 684 end_line: 686 + matcher: 1-hash + score: '100.0' matched_length: 37 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit OR gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: mit_or_gpl-1.0-plus_or_artistic-perl-1.0_1.RULE rule_relevance: 100 + rule_identifier: mit_or_gpl-1.0-plus_or_artistic-perl-1.0_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_gpl-1.0-plus_or_artistic-perl-1.0_1.RULE matched_text: | This software is released under the MIT license cited below. Additionally, @@ -2995,48 +3287,57 @@ other_license_detections: redistribute it and/or modify it under the same terms as Perl itself. identifier: mit_or_gpl_1_0_plus_or_artistic_perl_1_0-109da13c-da24-fa09-6ec8-f6606ea1dddf - license_expression: mit OR artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: MIT OR Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '99.0' + - license_expression: mit OR artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: MIT OR Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 700 end_line: 701 + matcher: 1-hash + score: '99.0' matched_length: 21 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit OR artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: mit_or_artistic-perl-1.0_or_gpl-1.0-plus_1.RULE rule_relevance: 99 + rule_identifier: mit_or_artistic-perl-1.0_or_gpl-1.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_artistic-perl-1.0_or_gpl-1.0-plus_1.RULE matched_text: | It is assumed that these translations are licensed under the same terms as the rest of the Locale-Maketext-Simple distribution. identifier: mit_or_artistic_perl_1_0_or_gpl_1_0_plus-5a94f7ce-d5c0-58cd-b181-c00f8fbbc497 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 707 end_line: 708 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 715 end_line: 719 + matcher: 2-aho + score: '100.0' matched_length: 34 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_8.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_8.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_8.RULE matched_text: | This library is free software; you may redistribute it and/or modify @@ -3046,45 +3347,53 @@ other_license_detections: Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-8e682309-5b67-ab89-6945-3ea7a79aa541 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 727 end_line: 728 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: (artistic-perl-1.0 OR gpl-1.0-plus) AND metamail + license_expression_spdx: (Artistic-1.0-Perl OR GPL-1.0-or-later) AND metamail matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 736 end_line: 737 + matcher: 2-aho + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. - - score: '100.0' + - license_expression: metamail + spdx_license_expression: metamail + from_file: start_line: 744 end_line: 753 + matcher: 2-aho + score: '100.0' matched_length: 87 match_coverage: '100.0' - matcher: 2-aho - license_expression: metamail - rule_identifier: metamail.LICENSE rule_relevance: 100 + rule_identifier: metamail.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/metamail.LICENSE matched_text: | Permission to use, copy, modify, and distribute this material @@ -3099,110 +3408,131 @@ other_license_detections: WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. identifier: artistic_perl_1_0_or_gpl_1_0_plus__and_metamail-708741c8-a456-165a-5e15-4d96c736bb61 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 761 end_line: 762 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 769 end_line: 770 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_3.RULE matched_text: | This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-e8fc6fc9-6684-3799-00a7-dc38172bda29 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 777 end_line: 777 + matcher: 1-hash + score: '100.0' matched_length: 11 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_10.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_10.RULE matched_text: This module is released under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-6ac722a3-703c-e413-9b17-5dd475d88fa5 - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 784 end_line: 785 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 792 end_line: 793 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 800 end_line: 801 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 808 end_line: 810 + matcher: 2-aho + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_5.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_5.RULE matched_text: | is free software; @@ -3210,112 +3540,133 @@ other_license_detections: as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-3f59d10a-2b40-7221-4e05-ac331bac263d - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 817 end_line: 818 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 827 end_line: 828 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_4.RULE matched_text: | This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-abf4b96c-fc73-c8e3-29cd-08cded8bef2c - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 836 end_line: 837 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_4.RULE matched_text: | This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-abf4b96c-fc73-c8e3-29cd-08cded8bef2c - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 868 end_line: 869 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_4.RULE matched_text: | This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-abf4b96c-fc73-c8e3-29cd-08cded8bef2c - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 882 end_line: 883 + matcher: 1-hash + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_5.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_5.RULE matched_text: | is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-3f59d10a-2b40-7221-4e05-ac331bac263d - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 890 end_line: 891 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 898 end_line: 900 + matcher: 2-aho + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_5.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_5.RULE matched_text: | is free software; @@ -3323,64 +3674,77 @@ other_license_detections: as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-3f59d10a-2b40-7221-4e05-ac331bac263d - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '56.14' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 908 end_line: 909 + matcher: 3-seq + score: '56.14' matched_length: 13 match_coverage: '59.09' - matcher: 3-seq - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_39.RULE rule_relevance: 95 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_39.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_39.RULE matched_text: | license notice, but it is assumed that it is licensed under the same terms as identifier: artistic_perl_1_0_or_gpl_1_0_plus-f8a67153-d3ca-59da-be8b-68b1535b0862 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 916 end_line: 917 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 924 end_line: 925 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 AND public-domain AND (artistic-2.0 AND public-domain-disclaimer) + license_expression_spdx: Artistic-1.0-Perl AND LicenseRef-scancode-public-domain AND (Artistic-2.0 + AND LicenseRef-scancode-public-domain-disclaimer) matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 + spdx_license_expression: Artistic-1.0-Perl + from_file: start_line: 939 end_line: 943 + matcher: 2-aho + score: '100.0' matched_length: 35 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 - rule_identifier: artistic-perl-1.0_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_12.RULE matched_text: | The license notice in the document is: @@ -3388,15 +3752,17 @@ other_license_detections: When included as an integrated part of the Standard Distribution of Perl or of its documentation (printed or otherwise), this works is covered under Perl's Artistic License. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 946 end_line: 950 + matcher: 2-aho + score: '100.0' matched_length: 56 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_286.RULE rule_relevance: 100 + rule_identifier: public-domain_286.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_286.RULE matched_text: | Irrespective of its distribution, all code examples here are in the public @@ -3404,15 +3770,17 @@ other_license_detections: derivatives thereof in your own programs for fun or for profit as you see fit. A simple comment in the code giving credit to the FAQ would be courteous but is not required. - - score: '100.0' + - license_expression: artistic-2.0 AND public-domain-disclaimer + spdx_license_expression: Artistic-2.0 AND LicenseRef-scancode-public-domain-disclaimer + from_file: start_line: 954 end_line: 956 + matcher: 2-aho + score: '100.0' matched_length: 39 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-2.0 AND public-domain-disclaimer - rule_identifier: artistic-2.0_and_public-domain-disclaimer_1.RULE rule_relevance: 100 + rule_identifier: artistic-2.0_and_public-domain-disclaimer_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_and_public-domain-disclaimer_1.RULE matched_text: | This document is available under the same terms as Perl itself. Code @@ -3420,16 +3788,19 @@ other_license_detections: them as you see fit (and at your own risk with no warranty from anyone). identifier: artistic_perl_1_0_and_public_domain_and__artistic_2_0_and_public_domain_disclaimer-2d510dad-1736-1044-1f83-ffc03282e54a - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 964 end_line: 966 + matcher: 2-aho + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_5.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_5.RULE matched_text: | is free software; @@ -3437,205 +3808,243 @@ other_license_detections: as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-3f59d10a-2b40-7221-4e05-ac331bac263d - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 973 end_line: 974 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 981 end_line: 982 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 998 end_line: 999 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_4.RULE matched_text: | This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-abf4b96c-fc73-c8e3-29cd-08cded8bef2c - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1017 end_line: 1018 + matcher: 1-hash + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_40.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_40.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_40.RULE matched_text: | This software is free software and can be modified and distributed under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-e8104884-0d49-693f-2246-ae9522b0bf98 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1025 end_line: 1026 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_24.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_24.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_24.RULE matched_text: | This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-253ad29b-8eea-a58f-0e55-7f1f30b4d132 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1033 end_line: 1034 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1042 end_line: 1043 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1051 end_line: 1052 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1060 end_line: 1061 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1068 end_line: 1069 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1084 end_line: 1085 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: (gpl-1.0-plus OR artistic-perl-1.0) AND public-domain + license_expression_spdx: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1092 end_line: 1093 + matcher: 2-aho + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_39.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_39.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_39.RULE matched_text: | This documentation is free; you can redistribute it and/or modify it under the same terms as Perl itself. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 1095 end_line: 1099 + matcher: 2-aho + score: '100.0' matched_length: 53 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_287.RULE rule_relevance: 100 + rule_identifier: public-domain_287.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_287.RULE matched_text: | Irrespective of its distribution, all code examples in these files @@ -3645,48 +4054,57 @@ other_license_detections: credit would be courteous but is not required. identifier: gpl_1_0_plus_or_artistic_perl_1_0__and_public_domain-1eb230bb-78ce-5300-5012-920fd3811563 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1107 end_line: 1108 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1114 end_line: 1115 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: cc0-1.0 + license_expression_spdx: CC0-1.0 matches: - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 1126 end_line: 1128 + matcher: 1-hash + score: '100.0' matched_length: 29 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_154.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_154.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_154.RULE matched_text: | The file links to http://creativecommons.org/publicdomain/zero/1.0/ @@ -3694,32 +4112,38 @@ other_license_detections: end of this file. identifier: cc0_1_0-ce0a113c-2f14-79cb-71e2-f8d26c4e9bc9 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1136 end_line: 1137 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_3.RULE matched_text: | This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-e8fc6fc9-6684-3799-00a7-dc38172bda29 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '99.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1144 end_line: 1147 + matcher: 1-hash + score: '99.0' matched_length: 26 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_38.RULE rule_relevance: 99 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_38.RULE matched_text: | There are no copyright notices this distribution. @@ -3728,16 +4152,19 @@ other_license_detections: under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-825f9c5f-31da-bfc2-ad53-0cceccade3a2 - license_expression: artistic-perl-1.0 OR gpl-2.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-2.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-2.0-or-later + from_file: start_line: 1161 end_line: 1167 + matcher: 1-hash + score: '100.0' matched_length: 61 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-2.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-2.0-plus_2.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-2.0-plus_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-2.0-plus_2.RULE matched_text: | This library is free software; you may redistribute it and/or modify @@ -3749,16 +4176,19 @@ other_license_detections: Public License. identifier: artistic_perl_1_0_or_gpl_2_0_plus-b35b8478-ff32-af71-be53-77500ee9fe8c - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1181 end_line: 1185 + matcher: 1-hash + score: '100.0' matched_length: 33 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_37.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_37.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_37.RULE matched_text: | This program is free software; you may redistribute it and/or modify @@ -3768,121 +4198,144 @@ other_license_detections: the same explicit licensing information. identifier: gpl_1_0_plus_or_artistic_perl_1_0-4b362e04-cf63-aed3-04d0-700b12e560b9 - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 1192 end_line: 1193 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1199 end_line: 1200 + matcher: 1-hash + score: '100.0' matched_length: 15 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_35.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_35.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_35.RULE matched_text: | This module is free software, you may distribute it under the same terms as Perl. identifier: gpl_1_0_plus_or_artistic_perl_1_0-5d9e5932-ca64-fd4b-88f4-3bdacbc03f1d - license_expression: bsd-new AND (gpl-1.0-plus OR artistic-perl-1.0) + license_expression_spdx: BSD-3-Clause AND (GPL-1.0-or-later OR Artistic-1.0-Perl) matches: - - score: '99.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1209 end_line: 1209 + matcher: 2-aho + score: '99.0' matched_length: 7 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_1065.RULE rule_relevance: 99 + rule_identifier: bsd-new_1065.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1065.RULE matched_text: is licensed under the BSD-like license - - score: '70.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1210 end_line: 1211 + matcher: 2-aho + score: '70.0' matched_length: '19' match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_34.RULE rule_relevance: 70 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_34.RULE matched_text: | It is assumed that the other parts are licensed under the same terms as the rest of the distribution. identifier: bsd_new_and__gpl_1_0_plus_or_artistic_perl_1_0-66a31b89-70bb-c59f-36de-c76a8ce944e0 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1219 end_line: 1220 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_24.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_24.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_24.RULE matched_text: | This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-253ad29b-8eea-a58f-0e55-7f1f30b4d132 - license_expression: unicode + license_expression_spdx: LicenseRef-scancode-unicode matches: - - score: '100.0' + - license_expression: unicode + spdx_license_expression: LicenseRef-scancode-unicode + from_file: start_line: 1227 end_line: 1227 + matcher: 2-aho + score: '100.0' matched_length: 13 match_coverage: '100.0' - matcher: 2-aho - license_expression: unicode - rule_identifier: unicode_14.RULE rule_relevance: 100 + rule_identifier: unicode_14.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unicode_14.RULE matched_text: For terms of use, see http://www.unicode.org/terms_of_use.html identifier: unicode-694376d5-aeeb-e4bc-a4e1-095d162d3862 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1237 end_line: 1238 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_24.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_24.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_24.RULE matched_text: | This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-253ad29b-8eea-a58f-0e55-7f1f30b4d132 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1249 end_line: 1253 + matcher: 2-aho + score: '100.0' matched_length: 40 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_32.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_32.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_32.RULE matched_text: | This module is free software; you may redistribute it and/or modify it @@ -3892,234 +4345,278 @@ other_license_detections: as Perl itself and contained this copyright notice: identifier: gpl_1_0_plus_or_artistic_perl_1_0-8a0e346e-31dc-322f-05d4-2902f683ce20 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1263 end_line: 1264 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_3.RULE matched_text: | This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-e8fc6fc9-6684-3799-00a7-dc38172bda29 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '99.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1300 end_line: 1301 + matcher: 1-hash + score: '99.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_52.RULE rule_relevance: 99 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_52.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_52.RULE matched_text: | There is no copyright or license information in these distributions. It is assumed that they are licensed under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-8aa4724c-ae7c-4733-1063-b0a456c393d4 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1309 end_line: 1310 + matcher: 1-hash + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_47.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_47.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_47.RULE matched_text: | This module is free software; you can redistribute and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-32b9c99f-78d4-e645-c66f-2f10debb1d78 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1318 end_line: 1319 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_3.RULE matched_text: | This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-e8fc6fc9-6684-3799-00a7-dc38172bda29 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1326 end_line: 1327 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1335 end_line: 1336 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: (artistic-perl-1.0 OR gpl-1.0-plus) AND (gpl-1.0-plus OR artistic-perl-1.0) + license_expression_spdx: (Artistic-1.0-Perl OR GPL-1.0-or-later) AND (GPL-1.0-or-later OR + Artistic-1.0-Perl) matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1344 end_line: 1345 + matcher: 2-aho + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1347 end_line: 1348 + matcher: 2-aho + score: '100.0' matched_length: 11 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_31.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_31.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_31.RULE matched_text: | Perl 5 Porters, which was released under the same license terms. identifier: artistic_perl_1_0_or_gpl_1_0_plus__and__gpl_1_0_plus_or_artistic_perl_1_0-00e61bda-5cd5-19fb-b521-ca0d569c0379 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1355 end_line: 1356 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_3.RULE matched_text: | This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-e8fc6fc9-6684-3799-00a7-dc38172bda29 - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 1362 end_line: 1363 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1371 end_line: 1372 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1379 end_line: 1380 + matcher: 1-hash + score: '100.0' matched_length: 15 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_48.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_48.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_48.RULE matched_text: | You can redistribute and/or modify this document under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bc101dac-fad1-f7aa-f226-ac50d2a1e9f3 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1387 end_line: 1388 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1396 end_line: 1397 + matcher: 2-aho + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1400 end_line: 1402 + matcher: 2-aho + score: '100.0' matched_length: 27 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_46.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_46.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_46.RULE matched_text: | This module is distributed under the same terms as Perl itself. @@ -4127,138 +4624,165 @@ other_license_detections: the correct attribution. identifier: artistic_perl_1_0_or_gpl_1_0_plus-022b9900-7aee-6501-6734-49f6ea2c95da - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1408 end_line: 1408 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_11.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_11.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_11.RULE matched_text: This package has the same copyright and license as the perl core. identifier: gpl_1_0_plus_or_artistic_perl_1_0-00c5b5e7-0cc5-6dc8-2914-7a86e3fe305f - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1415 end_line: 1416 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1422 end_line: 1422 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_27.RULE matched_text: This document may be distributed under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-59bdc9da-ad6a-3a9f-ac53-9fc77d62ac40 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1429 end_line: 1430 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_4.RULE matched_text: | This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-abf4b96c-fc73-c8e3-29cd-08cded8bef2c - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1437 end_line: 1437 + matcher: 1-hash + score: '100.0' matched_length: 11 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_29.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_29.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_29.RULE matched_text: This program is distributed under the same terms as perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-2bcbbce8-54f0-bccc-2196-d6690e456d84 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1444 end_line: 1445 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_24.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_24.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_24.RULE matched_text: | This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-253ad29b-8eea-a58f-0e55-7f1f30b4d132 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1455 end_line: 1456 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_4.RULE matched_text: | This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-abf4b96c-fc73-c8e3-29cd-08cded8bef2c - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1463 end_line: 1464 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: (artistic-perl-1.0 OR gpl-1.0-plus) AND bsd-new + license_expression_spdx: (Artistic-1.0-Perl OR GPL-1.0-or-later) AND BSD-3-Clause matches: - - score: '100.0' + - license_expression: (artistic-perl-1.0 OR gpl-1.0-plus) AND bsd-new + spdx_license_expression: (Artistic-1.0-Perl OR GPL-1.0-or-later) AND BSD-3-Clause + from_file: start_line: 1473 end_line: 1479 + matcher: 2-aho + score: '100.0' matched_length: 56 match_coverage: '100.0' - matcher: 2-aho - license_expression: (artistic-perl-1.0 OR gpl-1.0-plus) AND bsd-new - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_and_bsd-new_2.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_and_bsd-new_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_and_bsd-new_2.RULE matched_text: | The main license applies to most of the code: @@ -4270,112 +4794,133 @@ other_license_detections: under the terms of the "BSD-3-clause-GENERIC" license included in this file. identifier: artistic_perl_1_0_or_gpl_1_0_plus__and_bsd_new-4ecf727d-f402-75d3-46ee-1a9cb87ec7cb - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1502 end_line: 1503 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1513 end_line: 1514 + matcher: 2-aho + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_45.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_45.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_45.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl identifier: artistic_perl_1_0_or_gpl_1_0_plus-0aab4f56-a9e1-f787-6f06-4a75c1c9b81e - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1522 end_line: 1523 + matcher: 1-hash + score: '100.0' matched_length: 22 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_30.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_30.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_30.RULE matched_text: | You may redistribute only under the same terms as Perl 5, as specified in the README file that comes with the distribution. identifier: gpl_1_0_plus_or_artistic_perl_1_0-8a66f022-d8b4-4b86-212a-934dd2bc3089 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1533 end_line: 1534 + matcher: 1-hash + score: '100.0' matched_length: 22 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_30.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_30.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_30.RULE matched_text: | You may redistribute only under the same terms as Perl 5, as specified in the README file that comes with the distribution. identifier: gpl_1_0_plus_or_artistic_perl_1_0-8a66f022-d8b4-4b86-212a-934dd2bc3089 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1543 end_line: 1544 + matcher: 1-hash + score: '100.0' matched_length: 22 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_30.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_30.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_30.RULE matched_text: | You may redistribute only under the same terms as Perl 5, as specified in the README file that comes with the distribution. identifier: gpl_1_0_plus_or_artistic_perl_1_0-8a66f022-d8b4-4b86-212a-934dd2bc3089 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1563 end_line: 1564 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1573 end_line: 1575 + matcher: 1-hash + score: '100.0' matched_length: 30 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_44.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_44.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_44.RULE matched_text: | This package is free software and is provided "as is" without express @@ -4383,128 +4928,152 @@ other_license_detections: under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-3b848d2f-500b-c107-aa42-9eb5c222ff60 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1585 end_line: 1586 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1593 end_line: 1594 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1602 end_line: 1603 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '95.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1612 end_line: 1613 + matcher: 1-hash + score: '95.0' matched_length: 21 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_42.RULE rule_relevance: 95 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_42.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_42.RULE matched_text: | There is no license information included. It is assumed that this distribution is licensed under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-1a86e593-e255-ed0a-e5a1-d8fdbea5e365 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1620 end_line: 1621 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1628 end_line: 1629 + matcher: 1-hash + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_49.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_49.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_49.RULE matched_text: | This program is free software; you can redistribute and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-0c90b422-60c3-e525-05ea-c266dd2a51b1 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1636 end_line: 1637 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '95.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1644 end_line: 1646 + matcher: 1-hash + score: '95.0' matched_length: 29 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_41.RULE rule_relevance: 95 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_41.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_41.RULE matched_text: | There is no license information included that clearly applies to the @@ -4512,47 +5081,56 @@ other_license_detections: the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-baa14b4d-271c-af68-77f4-4cfd796ec9ea - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '95.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1655 end_line: 1655 + matcher: 1-hash + score: '95.0' matched_length: 15 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_40.RULE rule_relevance: 95 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_40.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_40.RULE matched_text: It is assumed that this file is licensed under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-c6a20c55-7328-0e53-7889-7c78c5415d0b - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1662 end_line: 1663 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1670 end_line: 1672 + matcher: 1-hash + score: '100.0' matched_length: 11 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_25.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_25.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_25.RULE matched_text: | The license in the file is specified as @@ -4560,91 +5138,108 @@ other_license_detections: License: Artistic/GPL identifier: gpl_1_0_plus_or_artistic_perl_1_0-21b340f7-1c33-9e19-4d95-6db009738447 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1679 end_line: 1680 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-1.0 + license_expression_spdx: Artistic-1.0 matches: - - score: '90.0' + - license_expression: artistic-1.0 + spdx_license_expression: Artistic-1.0 + from_file: start_line: 1687 end_line: 1687 + matcher: 2-aho + score: '90.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-1.0 - rule_identifier: artistic-1.0_11.RULE rule_relevance: 90 + rule_identifier: artistic-1.0_11.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-1.0_11.RULE matched_text: the artistic license. identifier: artistic_1_0-2ff80857-def0-0ed3-86d0-f745062039f9 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '95.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1707 end_line: 1708 + matcher: 1-hash + score: '95.0' matched_length: 22 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_39.RULE rule_relevance: 95 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_39.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_39.RULE matched_text: | There is no license information in this distribution. It is assumed that it is licensed under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-71dd85f2-c2a8-e634-a472-12fad824a9b7 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '95.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1716 end_line: 1717 + matcher: 2-aho + score: '95.0' matched_length: 17 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_38.RULE rule_relevance: 95 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_38.RULE matched_text: | As above, it is assumed that this file is licensed under the same terms as Perl itself. - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1725 end_line: 1726 + matcher: 2-aho + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-4608b132-68af-fc8c-5b55-7bfbd0034d22 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1733 end_line: 1735 + matcher: 1-hash + score: '100.0' matched_length: 40 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_23.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_23.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_23.RULE matched_text: | This library is free software; you can redistribute it and/or modify @@ -4652,169 +5247,201 @@ other_license_detections: at your option, any later version of Perl 5 you may have available. identifier: gpl_1_0_plus_or_artistic_perl_1_0-02d238e7-dfb3-3d0f-17b5-552ede2bf765 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1742 end_line: 1743 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1751 end_line: 1752 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: artistic-perl-1.0 + license_expression_spdx: Artistic-1.0-Perl matches: - - score: '99.0' + - license_expression: artistic-perl-1.0 + spdx_license_expression: Artistic-1.0-Perl + from_file: start_line: 1758 end_line: 1758 + matcher: 1-hash + score: '99.0' matched_length: 8 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 - rule_identifier: artistic-perl-1.0_7.RULE rule_relevance: 99 + rule_identifier: artistic-perl-1.0_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_7.RULE matched_text: This program is distributed under the Artistic License. identifier: artistic_perl_1_0-2d6db20c-52be-912f-b056-8d081e123f91 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '95.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1764 end_line: 1765 + matcher: 1-hash + score: '95.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_37.RULE rule_relevance: 95 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_37.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_37.RULE matched_text: | There is no copyright or license information in this distribution. It is assumed that it is licensed under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-83df0e4e-ee81-a531-f469-f98c96477f44 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1776 end_line: 1777 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1787 end_line: 1788 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1795 end_line: 1796 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1814 end_line: 1814 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_27.RULE matched_text: This document may be distributed under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-59bdc9da-ad6a-3a9f-ac53-9fc77d62ac40 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1821 end_line: 1822 + matcher: 1-hash + score: '100.0' matched_length: 14 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_28.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_28.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_28.RULE matched_text: | You can use and redistribute this document under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-995430fd-ab65-9897-2857-c13429160160 - license_expression: (gpl-1.0-plus OR artistic-perl-1.0) AND public-domain + license_expression_spdx: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1833 end_line: 1834 + matcher: 2-aho + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_39.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_39.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_39.RULE matched_text: | This documentation is free; you can redistribute it and/or modify it under the same terms as Perl itself. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 1836 end_line: 1840 + matcher: 2-aho + score: '100.0' matched_length: 56 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_286.RULE rule_relevance: 100 + rule_identifier: public-domain_286.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_286.RULE matched_text: | Irrespective of its distribution, all code examples here are in the public @@ -4824,16 +5451,19 @@ other_license_detections: be courteous but is not required. identifier: gpl_1_0_plus_or_artistic_perl_1_0__and_public_domain-93862a24-32df-2e58-a989-877ba708872a - license_expression: artistic-2.0 AND public-domain-disclaimer + license_expression_spdx: Artistic-2.0 AND LicenseRef-scancode-public-domain-disclaimer matches: - - score: '100.0' + - license_expression: artistic-2.0 AND public-domain-disclaimer + spdx_license_expression: Artistic-2.0 AND LicenseRef-scancode-public-domain-disclaimer + from_file: start_line: 1849 end_line: 1851 + matcher: 1-hash + score: '100.0' matched_length: 39 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-2.0 AND public-domain-disclaimer - rule_identifier: artistic-2.0_and_public-domain-disclaimer_1.RULE rule_relevance: 100 + rule_identifier: artistic-2.0_and_public-domain-disclaimer_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_and_public-domain-disclaimer_1.RULE matched_text: | This document is available under the same terms as Perl itself. Code @@ -4841,71 +5471,85 @@ other_license_detections: them as you see fit (and at your own risk with no warranty from anyone). identifier: artistic_2_0_and_public_domain_disclaimer-0f623011-76a2-9362-7a9e-866e141da819 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1860 end_line: 1860 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_27.RULE matched_text: This document may be distributed under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-59bdc9da-ad6a-3a9f-ac53-9fc77d62ac40 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1869 end_line: 1869 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_27.RULE matched_text: This document may be distributed under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-59bdc9da-ad6a-3a9f-ac53-9fc77d62ac40 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1876 end_line: 1876 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_27.RULE matched_text: This document may be distributed under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-59bdc9da-ad6a-3a9f-ac53-9fc77d62ac40 - license_expression: (gpl-1.0-plus OR artistic-perl-1.0) AND public-domain + license_expression_spdx: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1886 end_line: 1887 + matcher: 2-aho + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_39.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_39.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_39.RULE matched_text: | This documentation is free; you can redistribute it and/or modify it under the same terms as Perl itself. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 1889 end_line: 1893 + matcher: 2-aho + score: '100.0' matched_length: 53 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_287.RULE rule_relevance: 100 + rule_identifier: public-domain_287.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_287.RULE matched_text: | Irrespective of its distribution, all code examples in these files are @@ -4915,45 +5559,53 @@ other_license_detections: courteous but is not required. identifier: gpl_1_0_plus_or_artistic_perl_1_0__and_public_domain-1eb230bb-78ce-5300-5012-920fd3811563 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: '1908' end_line: '1909' + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: (gpl-1.0-plus OR artistic-perl-1.0) AND public-domain + license_expression_spdx: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: '1916' end_line: '1917' + matcher: 2-aho + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_39.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_39.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_39.RULE matched_text: | This documentation is free; you can redistribute it and/or modify it under the same terms as Perl itself. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: '1919' end_line: '1923' + matcher: 2-aho + score: '100.0' matched_length: 53 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_287.RULE rule_relevance: 100 + rule_identifier: public-domain_287.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_287.RULE matched_text: | Irrespective of its distribution, all code examples in these files are @@ -4963,74 +5615,90 @@ other_license_detections: courteous but is not required. identifier: gpl_1_0_plus_or_artistic_perl_1_0__and_public_domain-1eb230bb-78ce-5300-5012-920fd3811563 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: '1933' end_line: '1933' + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_27.RULE matched_text: This document may be distributed under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-59bdc9da-ad6a-3a9f-ac53-9fc77d62ac40 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: '1940' end_line: '1940' + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_27.RULE matched_text: This document may be distributed under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-59bdc9da-ad6a-3a9f-ac53-9fc77d62ac40 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: '1947' end_line: '1947' + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_27.RULE matched_text: This document may be distributed under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-59bdc9da-ad6a-3a9f-ac53-9fc77d62ac40 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: '1963' end_line: '1964' + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR artistic-dist-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR LicenseRef-scancode-artistic-1988-1.0 OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR artistic-dist-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR LicenseRef-scancode-artistic-1988-1.0 + OR GPL-1.0-or-later + from_file: start_line: '1985' end_line: 2000 + matcher: 2-aho + score: '100.0' matched_length: 103 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR artistic-dist-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_artistic-dist-1.0_or_gpl-1.0-plus_2.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_artistic-dist-1.0_or_gpl-1.0-plus_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_artistic-dist-1.0_or_gpl-1.0-plus_2.RULE matched_text: | You may distribute the files contained in this distribution @@ -5051,16 +5719,19 @@ other_license_detections: "Artistic-dist" tag. identifier: artistic_perl_1_0_or_artistic_dist_1_0_or_gpl_1_0_plus-9cd54d77-c838-d496-0a92-de100a6c75bc - license_expression: artistic-dist-1.0 + license_expression_spdx: LicenseRef-scancode-artistic-1988-1.0 matches: - - score: '100.0' + - license_expression: artistic-dist-1.0 + spdx_license_expression: LicenseRef-scancode-artistic-1988-1.0 + from_file: start_line: 2014 end_line: 2016 + matcher: 2-aho + score: '100.0' matched_length: 21 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-dist-1.0 - rule_identifier: artistic-dist-1.0_3.RULE rule_relevance: 100 + rule_identifier: artistic-dist-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-dist-1.0_3.RULE matched_text: | This subdirectory contains unmodified 'dist' code that is @@ -5068,16 +5739,19 @@ other_license_detections: under the "Artistic-dist" tag. identifier: artistic_dist_1_0-52936621-27b8-5371-2fc4-9a5b06005497 - license_expression: artistic-dist-1.0 OR gpl-1.0-plus + license_expression_spdx: LicenseRef-scancode-artistic-1988-1.0 OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-dist-1.0 OR gpl-1.0-plus + spdx_license_expression: LicenseRef-scancode-artistic-1988-1.0 OR GPL-1.0-or-later + from_file: start_line: 2041 end_line: 2065 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-dist-1.0 OR gpl-1.0-plus - rule_identifier: artistic-dist-1.0_or_gpl-1.0-plus_1.RULE rule_relevance: 100 + rule_identifier: artistic-dist-1.0_or_gpl-1.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-dist-1.0_or_gpl-1.0-plus_1.RULE matched_text: | dist is distributed under a modified version of the Perl Artistic License. @@ -5107,16 +5781,19 @@ other_license_detections: "Artistic-dist" tag. identifier: artistic_dist_1_0_or_gpl_1_0_plus-7fb72184-972c-40cb-2bf5-2a39c35cbc5a - license_expression: (gpl-1.0-plus OR artistic-perl-1.0) AND mit + license_expression_spdx: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND MIT matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 2072 end_line: 2079 + matcher: 2-aho + score: '100.0' matched_length: 49 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_17.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_17.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_17.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -5127,29 +5804,34 @@ other_license_detections: version, or b) the "Artistic License" which comes with Perl. - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 2082 end_line: 2082 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_577.RULE rule_relevance: 100 + rule_identifier: mit_577.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_577.RULE matched_text: under the Expat license. identifier: gpl_1_0_plus_or_artistic_perl_1_0__and_mit-96b88a5a-57e2-5b8b-99de-0b9196e7d3fc - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '95.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 2095 end_line: 2098 + matcher: 2-aho + score: '95.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_36.RULE rule_relevance: 95 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_36.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_36.RULE matched_text: | may be redistributed diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/pulseaudio/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/pulseaudio/stable_copyright-detailed.expected.yml index 271fda4b6f..cc982ea5ad 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/pulseaudio/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/pulseaudio/stable_copyright-detailed.expected.yml @@ -34,27 +34,32 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 17 end_line: 17 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: LGPL-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 18 end_line: 33 + matcher: 2-aho + score: '100.0' matched_length: 127 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_267.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_267.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_267.RULE matched_text: | The upstream license clarifies pretty well that the sources of pulseaudio are @@ -73,31 +78,36 @@ license_detections: being LGPL licensed and the server part ('libpulsecore') as being GPL licensed. Since the PulseAudio daemon and the modules link to 'libpulsecore' they are of course also GPL licensed. - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 37 end_line: 38 + matcher: 2-aho + score: '100.0' matched_length: 22 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_232.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_232.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_232.RULE matched_text: | On Debian systems, the complete text of the LGPL-2.1 can be found in /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-bcd17595-f3dd-a7e4-38d6-be996ed9d675 - license_expression: sun-source + license_expression_spdx: LicenseRef-scancode-sun-source matches: - - score: '100.0' + - license_expression: sun-source + spdx_license_expression: LicenseRef-scancode-sun-source + from_file: start_line: 44 end_line: 62 + matcher: 2-aho + score: '100.0' matched_length: 147 match_coverage: '100.0' - matcher: 2-aho - license_expression: sun-source - rule_identifier: sun-source_1.RULE rule_relevance: 100 + rule_identifier: sun-source_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/sun-source_1.RULE matched_text: | This source code is a product of Sun Microsystems, Inc. and is provided @@ -121,16 +131,19 @@ license_detections: Sun has been advised of the possibility of such damages. identifier: sun_source-02813787-7782-d45a-b30b-598566f2f032 - license_expression: hpnd-pbmplus + license_expression_spdx: HPND-Pbmplus matches: - - score: '100.0' + - license_expression: hpnd-pbmplus + spdx_license_expression: HPND-Pbmplus + from_file: start_line: 68 end_line: 73 + matcher: 2-aho + score: '100.0' matched_length: 56 match_coverage: '100.0' - matcher: 2-aho - license_expression: hpnd-pbmplus - rule_identifier: hpnd-pbmplus.LICENSE rule_relevance: 100 + rule_identifier: hpnd-pbmplus.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/hpnd-pbmplus.LICENSE matched_text: | Permission to use, copy, modify, and distribute this software and its @@ -141,16 +154,19 @@ license_detections: implied warranty. identifier: hpnd_pbmplus-791a84f8-2595-c6f9-929c-722baf14af4e - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 79 end_line: 81 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -158,16 +174,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 87 end_line: 89 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -175,16 +194,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 94 end_line: 96 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -192,16 +214,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 102 end_line: 104 + matcher: 2-aho + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_266.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_266.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_266.RULE matched_text: | License: LGPL-2.1+ @@ -209,16 +234,19 @@ license_detections: /usr/share/common-licenses/LGPL-2. identifier: lgpl_2_1_plus-71729f6f-ef57-95b2-a0e3-46c5dbedfe44 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 111 end_line: 113 + matcher: 2-aho + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_711.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_711.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_711.RULE matched_text: | License: GPL-2+ @@ -226,16 +254,19 @@ license_detections: /usr/share/common-licenses/GPL-2. identifier: gpl_2_0_plus-3032bd69-4dfa-eb9e-e226-72ce6f830857 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 120 end_line: 122 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -243,16 +274,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 128 end_line: 130 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -260,16 +294,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 137 end_line: 139 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -277,16 +314,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 144 end_line: 146 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -294,16 +334,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: adrian + license_expression_spdx: LicenseRef-scancode-adrian matches: - - score: '100.0' + - license_expression: adrian + spdx_license_expression: LicenseRef-scancode-adrian + from_file: start_line: 152 end_line: 159 + matcher: 2-aho + score: '100.0' matched_length: 88 match_coverage: '100.0' - matcher: 2-aho - license_expression: adrian - rule_identifier: adrian.LICENSE rule_relevance: 100 + rule_identifier: adrian.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/adrian.LICENSE matched_text: | You are allowed to use this source code in any open source or closed @@ -316,16 +359,19 @@ license_detections: with no warranty. identifier: adrian-0f705124-8a69-aa6e-bdc8-c0c1997d93ed - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 164 end_line: 166 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -333,16 +379,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 171 end_line: 173 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -350,16 +399,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 179 end_line: 181 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -367,16 +419,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 187 end_line: 189 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -384,16 +439,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: '195' end_line: '197' + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -401,16 +459,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 203 end_line: 205 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -418,16 +479,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 211 end_line: 213 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -435,16 +499,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 219 end_line: 221 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -452,16 +519,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 226 end_line: 228 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -469,16 +539,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 235 end_line: 237 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -486,16 +559,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 243 end_line: 245 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -503,16 +579,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 251 end_line: 253 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -520,16 +599,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 259 end_line: 261 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -537,16 +619,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 266 end_line: 268 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -554,16 +639,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 275 end_line: 277 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -571,16 +659,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 283 end_line: 285 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -588,16 +679,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 291 end_line: 293 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -605,16 +699,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 299 end_line: 317 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person @@ -638,16 +735,19 @@ license_detections: SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 323 end_line: 325 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -655,16 +755,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 332 end_line: 334 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -672,16 +775,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 340 end_line: 342 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -689,16 +795,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 347 end_line: 349 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -706,16 +815,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 354 end_line: 356 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -723,16 +835,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 363 end_line: 365 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -740,16 +855,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 371 end_line: 373 + matcher: 2-aho + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_528.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_528.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_528.RULE matched_text: | License: LGPL-2+ @@ -757,16 +875,19 @@ license_detections: /usr/share/common-licenses/LGPL-2. identifier: lgpl_2_0_plus-ebf414f2-2099-4528-86ae-45f3f720d2e0 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 382 end_line: 384 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -774,16 +895,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 389 end_line: 391 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -791,16 +915,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 397 end_line: 399 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -808,16 +935,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 405 end_line: 407 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -825,16 +955,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 413 end_line: 415 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -842,16 +975,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 422 end_line: 424 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -859,16 +995,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 430 end_line: 432 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -876,16 +1015,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 440 end_line: 442 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -893,16 +1035,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 447 end_line: 449 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -910,16 +1055,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 454 end_line: 456 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -927,16 +1075,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 465 end_line: 467 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -944,16 +1095,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 472 end_line: 474 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -961,16 +1115,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 479 end_line: 481 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -978,16 +1135,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 487 end_line: 489 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -995,16 +1155,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 495 end_line: 497 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -1012,16 +1175,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 502 end_line: 504 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -1029,16 +1195,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 511 end_line: 513 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -1046,16 +1215,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 518 end_line: 520 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -1063,16 +1235,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 525 end_line: 527 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -1080,16 +1255,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 533 end_line: 535 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -1097,16 +1275,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 540 end_line: 542 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -1114,16 +1295,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 547 end_line: 549 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -1131,16 +1315,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 554 end_line: 556 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -1148,16 +1335,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 561 end_line: 563 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -1165,16 +1355,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 568 end_line: 570 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -1182,16 +1375,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 576 end_line: 578 + matcher: 2-aho + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_711.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_711.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_711.RULE matched_text: | License: GPL-2+ @@ -1199,16 +1395,19 @@ license_detections: /usr/share/common-licenses/GPL-2. identifier: gpl_2_0_plus-3032bd69-4dfa-eb9e-e226-72ce6f830857 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 585 end_line: 587 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -1216,16 +1415,19 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 594 end_line: 596 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ @@ -1233,30 +1435,35 @@ license_detections: /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-e3503782-dabb-a2b9-bb59-14bddddca6ec - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 602 end_line: 604 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ On Debian systems, the complete text of the LGPL-2.1 can be found in /usr/share/common-licenses/LGPL-2.1. - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 608 end_line: 610 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_231.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_231.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_231.RULE matched_text: | License: LGPL-2.1+ diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/python-django/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/python-django/stable_copyright-detailed.expected.yml index f4a3879c4b..57a4b1e2e2 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/python-django/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/python-django/stable_copyright-detailed.expected.yml @@ -32,27 +32,32 @@ other_license_expression_spdx: BSD-3-Clause AND BSD-3-Clause AND (Apache-2.0 AND license_detections: [] other_license_detections: - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 84 end_line: 84 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_65.RULE rule_relevance: 100 + rule_identifier: apache-2.0_65.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE matched_text: 'License: apache-2.0' - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 85 end_line: 95 + matcher: 2-aho + score: '100.0' matched_length: 85 match_coverage: '100.0' - matcher: 2-aho - license_expression: apache-2.0 - rule_identifier: apache-2.0_7.RULE rule_relevance: 100 + rule_identifier: apache-2.0_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_7.RULE matched_text: | Licensed under the Apache License, Version 2.0 (the "License"); @@ -66,31 +71,36 @@ other_license_detections: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 97 end_line: 98 + matcher: 2-aho + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 2-aho - license_expression: apache-2.0 - rule_identifier: apache-2.0_865.RULE rule_relevance: 100 + rule_identifier: apache-2.0_865.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_865.RULE matched_text: | On Debian systems, the complete text of the Apache version 2.0 license can be found in `/usr/share/common-licenses/Apache-2.0'. identifier: apache_2_0-e6211cc7-51f7-02d0-af92-2f8c94a2175c - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 101 end_line: 118 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining @@ -113,16 +123,19 @@ other_license_detections: WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: psf-2.0 + license_expression_spdx: PSF-2.0 matches: - - score: '89.1' + - license_expression: psf-2.0 + spdx_license_expression: PSF-2.0 + from_file: start_line: 121 end_line: 169 + matcher: 3-seq + score: '89.1' matched_length: 327 match_coverage: '89.1' - matcher: 3-seq - license_expression: psf-2.0 - rule_identifier: psf-2.0.LICENSE rule_relevance: 100 + rule_identifier: psf-2.0.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/psf-2.0.LICENSE matched_text: | PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 @@ -176,16 +189,19 @@ other_license_detections: to be bound by the terms and conditions of this License Agreement. identifier: psf_2_0-7783998d-f3df-e1e7-edd4-22ee0d990095 - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 172 end_line: '191' + matcher: 1-hash + score: '100.0' matched_length: 185 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified - rule_identifier: bsd-simplified_16.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_16.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_16.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -210,16 +226,19 @@ other_license_detections: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_simplified-25075703-83ad-f419-e8fc-55c5ce7e67a5 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: '194' end_line: 217 + matcher: 1-hash + score: '100.0' matched_length: 214 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_1072.RULE rule_relevance: 100 + rule_identifier: bsd-new_1072.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1072.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -248,16 +267,19 @@ other_license_detections: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-4d661fac-2580-23d1-8757-1ee91fd8c12f - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '99.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 76 end_line: 76 + matcher: 2-aho + score: '99.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_509.RULE rule_relevance: 99 + rule_identifier: bsd-new_509.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_509.RULE matched_text: Software License Agreement (BSD License), identifier: bsd_new-a78c649f-fcdf-a1af-d0f9-463c2f476c05 diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/r/reportbug/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/r/reportbug/stable_copyright-detailed.expected.yml index cd9a362b43..e1f186fa3a 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/r/reportbug/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/r/reportbug/stable_copyright-detailed.expected.yml @@ -6,16 +6,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: reportbug + license_expression_spdx: LicenseRef-scancode-reportbug matches: - - score: '100.0' + - license_expression: reportbug + spdx_license_expression: LicenseRef-scancode-reportbug + from_file: start_line: 10 end_line: 25 + matcher: 2-aho + score: '100.0' matched_length: 124 match_coverage: '100.0' - matcher: 2-aho - license_expression: reportbug - rule_identifier: reportbug_1.RULE rule_relevance: 100 + rule_identifier: reportbug_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/reportbug_1.RULE matched_text: | License: other @@ -36,16 +39,19 @@ license_detections: # SOFTWARE. identifier: reportbug-e60ef7fe-f574-325a-97a9-98023b9499bd - license_expression: gpl-1.0-plus + license_expression_spdx: GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 32 end_line: 37 + matcher: 2-aho + score: '100.0' matched_length: 43 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus - rule_identifier: gpl_77.RULE rule_relevance: 100 + rule_identifier: gpl_77.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_77.RULE matched_text: | License: GPL-any @@ -56,16 +62,19 @@ license_detections: can be found in file "/usr/share/common-licenses/GPL". identifier: gpl_1_0_plus-f1eeed44-9773-383b-20dd-aee6015f96bf - license_expression: reportbug AND gpl-2.0 + license_expression_spdx: LicenseRef-scancode-reportbug AND GPL-2.0-only matches: - - score: '100.0' + - license_expression: reportbug + spdx_license_expression: LicenseRef-scancode-reportbug + from_file: start_line: 43 end_line: 58 + matcher: 2-aho + score: '100.0' matched_length: 124 match_coverage: '100.0' - matcher: 2-aho - license_expression: reportbug - rule_identifier: reportbug_1.RULE rule_relevance: 100 + rule_identifier: reportbug_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/reportbug_1.RULE matched_text: | License: other @@ -84,15 +93,17 @@ license_detections: ## WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ## ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS ## SOFTWARE. - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 61 end_line: 61 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: GPL-2' identifier: reportbug_and_gpl_2_0-553a18d0-b340-e581-c21f-23bb6857b30a diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/r/ruby-airbrussh/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/r/ruby-airbrussh/stable_copyright-detailed.expected.yml index ba6502d5c5..eb3c6067e3 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/r/ruby-airbrussh/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/r/ruby-airbrussh/stable_copyright-detailed.expected.yml @@ -9,16 +9,19 @@ other_license_expression_spdx: MIT AND MIT license_detections: [] other_license_detections: - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 14 end_line: 31 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/sendmail/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/sendmail/stable_copyright-detailed.expected.yml index f5c259ef13..67bf644469 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/sendmail/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/sendmail/stable_copyright-detailed.expected.yml @@ -9,16 +9,19 @@ other_license_expression_spdx: Sendmail AND Sendmail license_detections: [] other_license_detections: - license_expression: sendmail + license_expression_spdx: Sendmail matches: - - score: '97.65' + - license_expression: sendmail + spdx_license_expression: Sendmail + from_file: start_line: '19' end_line: 99 + matcher: 3-seq + score: '97.65' matched_length: 582 match_coverage: '97.65' - matcher: 3-seq - license_expression: sendmail - rule_identifier: sendmail-2014.RULE rule_relevance: 100 + rule_identifier: sendmail-2014.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/sendmail-2014.RULE matched_text: | SENDMAIL LICENSE diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/slirp4netns/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/slirp4netns/stable_copyright-detailed.expected.yml index efd50e78d7..9e7ef8704f 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/slirp4netns/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/slirp4netns/stable_copyright-detailed.expected.yml @@ -33,30 +33,36 @@ other_license_expression_spdx: (GPL-2.0-or-later AND GPL-2.0-or-later) AND (GPL- license_detections: [] other_license_detections: - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 21 end_line: 21 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_136.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_136.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_136.RULE matched_text: license BSD-2-clause identifier: bsd_simplified-2383ae10-5494-e069-46c2-e2d6cb56951f - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 79 end_line: 101 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -84,16 +90,19 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98 - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '98.88' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 106 end_line: 124 + matcher: 2-aho + score: '98.88' matched_length: 176 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_274.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_274.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_274.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -117,16 +126,19 @@ other_license_detections: THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_simplified-d94468f5-485a-ebb9-1548-b7e909e0c153 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 127 end_line: 143 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -148,41 +160,48 @@ other_license_detections: THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 145 end_line: 145 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 148 end_line: 150 + matcher: 2-aho + score: '100.0' matched_length: 11 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1142.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1142.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1142.RULE matched_text: | free software, licensed under: The GNU General Public License, Version 2, - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 152 end_line: 156 + matcher: 2-aho + score: '100.0' matched_length: 59 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1296.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1296.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1296.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -192,27 +211,32 @@ other_license_detections: Public License can be found in '/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-16076205-58b7-9073-142a-e00e35648f2d - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 158 end_line: 158 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 159 end_line: 173 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_839.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_839.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_839.RULE matched_text: | This package is free software; you can redistribute it and/or modify @@ -232,27 +256,32 @@ other_license_detections: Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". identifier: gpl_2_0_plus-cc17af11-ba60-7b3d-40d0-91bc262b80f8 - license_expression: lgpl-2.1-plus AND lgpl-2.1 + license_expression_spdx: LGPL-2.1-or-later AND LGPL-2.1-only matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 175 end_line: 175 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 176 end_line: 187 + matcher: 2-aho + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_36.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_36.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_36.RULE matched_text: | This library is free software: you can redistribute it and/or modify @@ -267,15 +296,17 @@ other_license_detections: You should have received a copy of the GNU Lesser General Public License along with this library. If not, see . - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 189 end_line: '190' + matcher: 2-aho + score: '100.0' matched_length: 27 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_293.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_293.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_293.RULE matched_text: | On Debian systems, the complete text of the GNU Lesser General diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/subversion/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/subversion/stable_copyright-detailed.expected.yml index 645e0bcea9..e6c489cdfc 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/subversion/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/subversion/stable_copyright-detailed.expected.yml @@ -32,16 +32,19 @@ other_license_expression_spdx: (Apache-2.0 AND Apache-2.0) AND (BSD-3-Clause OR license_detections: [] other_license_detections: - license_expression: markus-kuhn-license + license_expression_spdx: HPND-Markus-Kuhn matches: - - score: '100.0' + - license_expression: markus-kuhn-license + spdx_license_expression: HPND-Markus-Kuhn + from_file: start_line: 21 end_line: 23 + matcher: 1-hash + score: '100.0' matched_length: 28 match_coverage: '100.0' - matcher: 1-hash - license_expression: markus-kuhn-license - rule_identifier: markus-kuhn-license.LICENSE rule_relevance: 100 + rule_identifier: markus-kuhn-license.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/markus-kuhn-license.LICENSE matched_text: | Permission to use, copy, modify, and distribute this software @@ -49,97 +52,115 @@ other_license_detections: disclaims all warranties with regard to this software. identifier: markus_kuhn_license-295f6fda-191f-872c-b04b-3876e296284a - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 33 end_line: 34 + matcher: 1-hash + score: '100.0' matched_length: 22 match_coverage: '100.0' - matcher: 1-hash - license_expression: other-permissive - rule_identifier: other-permissive_323.RULE rule_relevance: 100 + rule_identifier: other-permissive_323.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_323.RULE matched_text: | Permission is granted to everyone to use and distribute this work, without limitation, modified or unmodified, in any way, for any purpose. identifier: other_permissive-7bea3fe6-1cb8-bf34-9c3e-7838c62068eb - license_expression: gpl-2.0-plus AND gpl-2.0 + license_expression_spdx: GPL-2.0-or-later AND GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 78 end_line: 78 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 79 end_line: 80 + matcher: 1-hash + score: '100.0' matched_length: 22 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1325.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1325.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1325.RULE matched_text: | On Debian systems, the complete text of the GPL version 2 license can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus_and_gpl_2_0-10dc4dde-c7f1-a166-da30-2c69a01c2c0f - license_expression: gpl-3.0-plus AND gpl-3.0 + license_expression_spdx: GPL-3.0-or-later AND GPL-3.0-only matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 82 end_line: 82 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 83 end_line: 84 + matcher: 1-hash + score: '100.0' matched_length: 22 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_480.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_480.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_480.RULE matched_text: | On Debian systems, the complete text of the GPL version 3 license can be found in `/usr/share/common-licenses/GPL-3'. identifier: gpl_3_0_plus_and_gpl_3_0-078c7647-d24b-f86e-aa47-7ac72abda7dc - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 86 end_line: 86 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_65.RULE rule_relevance: 100 + rule_identifier: apache-2.0_65.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE matched_text: 'License: apache-2.0' - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 87 end_line: 102 + matcher: 1-hash + score: '100.0' matched_length: 119 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_2.RULE rule_relevance: 100 + rule_identifier: apache-2.0_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE matched_text: | Licensed to the Apache Software Foundation (ASF) under one @@ -160,16 +181,19 @@ other_license_detections: under the License. identifier: apache_2_0-aeabe930-a28e-205e-e368-f6c12f1d7220 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 107 end_line: 131 + matcher: 2-aho + score: '100.0' matched_length: 204 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_970.RULE rule_relevance: 100 + rule_identifier: bsd-new_970.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_970.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -199,16 +223,19 @@ other_license_detections: IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-a174ddc5-8db2-d884-fdfa-783911e89ca7 - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 136 end_line: 155 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified.LICENSE rule_relevance: 100 + rule_identifier: bsd-simplified.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-simplified.LICENSE matched_text: | Redistribution and use in source and binary forms, with or without modification, @@ -233,16 +260,19 @@ other_license_detections: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_simplified-a1deb97f-56cd-71ea-a95f-82477d400503 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 158 end_line: 174 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -264,16 +294,19 @@ other_license_detections: DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: unicode + license_expression_spdx: LicenseRef-scancode-unicode matches: - - score: '100.0' + - license_expression: unicode + spdx_license_expression: LicenseRef-scancode-unicode + from_file: start_line: 177 end_line: 208 + matcher: 1-hash + score: '100.0' matched_length: 328 match_coverage: '100.0' - matcher: 1-hash - license_expression: unicode - rule_identifier: unicode_56.RULE rule_relevance: 100 + rule_identifier: unicode_56.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unicode_56.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -310,16 +343,19 @@ other_license_detections: trademarks mentioned herein are the property of their respective owners. identifier: unicode-9705ed00-4a5e-7686-ae43-8d76e5bb8000 - license_expression: afl-3.0 + license_expression_spdx: AFL-3.0 matches: - - score: '100.0' + - license_expression: afl-3.0 + spdx_license_expression: AFL-3.0 + from_file: start_line: 211 end_line: 396 + matcher: 1-hash + score: '100.0' matched_length: 1626 match_coverage: '100.0' - matcher: 1-hash - license_expression: afl-3.0 - rule_identifier: afl-3.0.LICENSE rule_relevance: 100 + rule_identifier: afl-3.0.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/afl-3.0.LICENSE matched_text: | This Academic Free License (the "License") applies to any original diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/systemd/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/systemd/stable_copyright-detailed.expected.yml index 09647f4993..d029766f5e 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/systemd/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/systemd/stable_copyright-detailed.expected.yml @@ -29,32 +29,38 @@ other_license_expression_spdx: (LGPL-2.1-or-later AND LGPL-2.1-or-later) AND (CC license_detections: [] other_license_detections: - license_expression: public-domain-disclaimer + license_expression_spdx: LicenseRef-scancode-public-domain-disclaimer matches: - - score: '100.0' + - license_expression: public-domain-disclaimer + spdx_license_expression: LicenseRef-scancode-public-domain-disclaimer + from_file: start_line: 62 end_line: 63 + matcher: 1-hash + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain-disclaimer - rule_identifier: public-domain-disclaimer_7.RULE rule_relevance: 100 + rule_identifier: public-domain-disclaimer_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain-disclaimer_7.RULE matched_text: | You can use this free for any purpose. It's in the public domain. It has no warranty. identifier: public_domain_disclaimer-8e235ed9-5a49-0bba-be41-0bb35f0779c9 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 114 end_line: 130 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -76,27 +82,32 @@ other_license_detections: IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 132 end_line: 132 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 133 end_line: 148 + matcher: 1-hash + score: '100.0' matched_length: 132 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1292.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1292.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1292.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -117,27 +128,32 @@ other_license_detections: `/usr/share/common-licenses/GPL-2` identifier: gpl_2_0-0acbb9ac-a862-7099-0f33-caefbf2d141b - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 150 end_line: 150 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 151 end_line: 166 + matcher: 1-hash + score: '100.0' matched_length: 134 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_737.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_737.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_737.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -158,27 +174,32 @@ other_license_detections: version 2 can be found in ‘/usr/share/common-licenses/GPL-2’. identifier: gpl_2_0_plus-b1b987d4-03d4-5eb8-154c-7c270ba63c44 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 168 end_line: 168 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 169 end_line: 184 + matcher: 1-hash + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_344.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_344.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_344.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -199,27 +220,32 @@ other_license_detections: License version 2.1 can be found in ‘/usr/share/common-licenses/LGPL-2.1’. identifier: lgpl_2_1_plus-920f52f3-7de9-6f8b-d6c2-998167ded0bd - license_expression: cc0-1.0 + license_expression_spdx: CC0-1.0 matches: - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 186 end_line: 186 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_12.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_12.RULE matched_text: 'License: cc0-1.0' - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 187 end_line: '195' + matcher: 1-hash + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_153.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_153.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_153.RULE matched_text: | To the extent possible under law, the author(s) have dedicated all copyright diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/t/tzdata/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/t/tzdata/stable_copyright-detailed.expected.yml index 792edd7f6c..1b9ba023db 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/t/tzdata/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/t/tzdata/stable_copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 9 end_line: 9 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_285.RULE rule_relevance: 100 + rule_identifier: public-domain_285.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_285.RULE matched_text: is in the public domain. identifier: public_domain-66cbe544-bff0-b748-48f3-5ee40ae6ba61 diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/u/unzip/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/u/unzip/stable_copyright-detailed.expected.yml index 24d3454837..2a8432a85d 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/u/unzip/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/u/unzip/stable_copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: info-zip-2009-01 + license_expression_spdx: LicenseRef-scancode-info-zip-2009-01 matches: - - score: '100.0' + - license_expression: info-zip-2009-01 + spdx_license_expression: LicenseRef-scancode-info-zip-2009-01 + from_file: start_line: 15 end_line: 76 + matcher: 2-aho + score: '100.0' matched_length: 527 match_coverage: '100.0' - matcher: 2-aho - license_expression: info-zip-2009-01 - rule_identifier: info-zip-2009-01_12.RULE rule_relevance: 100 + rule_identifier: info-zip-2009-01_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/info-zip-2009-01_12.RULE matched_text: | This is version 2009-Jan-02 of the Info-ZIP license. diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/w/webkit2gtk/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/w/webkit2gtk/stable_copyright-detailed.expected.yml index 03bcc6c39e..20665d3e91 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/w/webkit2gtk/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/w/webkit2gtk/stable_copyright-detailed.expected.yml @@ -44,16 +44,19 @@ other_license_expression_spdx: BSD-2-Clause AND BSD-2-Clause AND BSD-3-Clause AN license_detections: [] other_license_detections: - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 1015 end_line: 1017 + matcher: 1-hash + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_303.RULE rule_relevance: 100 + rule_identifier: public-domain_303.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_303.RULE matched_text: | This code was written by Colin Plumb in 1993, no copyright is @@ -61,16 +64,19 @@ other_license_detections: This code is in the public domain; do with it what you wish. identifier: public_domain-12604376-43c0-ec4b-0941-067570a4db40 - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1045 end_line: 1064 + matcher: 1-hash + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified - rule_identifier: bsd-simplified_31.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_31.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_31.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -95,16 +101,19 @@ other_license_detections: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_simplified-9ea803a4-ce4f-d866-25a8-4dc9652014f3 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1067 end_line: 1091 + matcher: 1-hash + score: '100.0' matched_length: 214 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_1071.RULE rule_relevance: 100 + rule_identifier: bsd-new_1071.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1071.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -134,16 +143,19 @@ other_license_detections: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-8327b923-9e66-9c7c-f85a-7b7d7b9a975e - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 1094 end_line: 1112 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining @@ -167,16 +179,19 @@ other_license_detections: SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: boost-1.0 + license_expression_spdx: BSL-1.0 matches: - - score: '100.0' + - license_expression: boost-1.0 + spdx_license_expression: BSL-1.0 + from_file: start_line: 1115 end_line: 1138 + matcher: 1-hash + score: '100.0' matched_length: 202 match_coverage: '100.0' - matcher: 1-hash - license_expression: boost-1.0 - rule_identifier: boost-1.0_9.RULE rule_relevance: 100 + rule_identifier: boost-1.0_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/boost-1.0_9.RULE matched_text: | Permission is hereby granted, free of charge, to any person or @@ -205,27 +220,32 @@ other_license_detections: THE SOFTWARE. identifier: boost_1_0-0a228323-a725-4239-e66d-7117aa6c54bb - license_expression: lgpl-2.0 AND lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-only AND LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0 + spdx_license_expression: LGPL-2.0-only + from_file: start_line: 1140 end_line: 1140 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0 - rule_identifier: lgpl-2.0_12.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0_12.RULE matched_text: 'License: lgpl-2' - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 1141 end_line: 1150 + matcher: 1-hash + score: '100.0' matched_length: 81 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_527.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_527.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_527.RULE matched_text: | This module is free software; you can redistribute it and/or modify @@ -240,27 +260,32 @@ other_license_detections: the file /usr/share/common-licenses/LGPL-2 identifier: lgpl_2_0_and_lgpl_2_0_plus-d850005f-fd8c-f752-706d-50cba3d8ab8d - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 1152 end_line: 1152 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_61.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_61.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_61.RULE matched_text: 'License: lgpl-2+' - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 1153 end_line: 1163 + matcher: 1-hash + score: '100.0' matched_length: 92 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_526.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_526.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_526.RULE matched_text: | This module is free software; you can redistribute it and/or modify @@ -276,27 +301,32 @@ other_license_detections: the file /usr/share/common-licenses/LGPL-2 identifier: lgpl_2_0_plus-0ae50dc8-108e-6baf-ea93-9f1577dbd2a3 - license_expression: lgpl-2.1 + license_expression_spdx: LGPL-2.1-only matches: - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 1165 end_line: 1165 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_38.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_38.RULE matched_text: 'License: lgpl-2.1' - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 1166 end_line: 1175 + matcher: 1-hash + score: '100.0' matched_length: 83 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_382.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_382.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_382.RULE matched_text: | This module is free software; you can redistribute it and/or modify @@ -311,27 +341,32 @@ other_license_detections: the file /usr/share/common-licenses/LGPL-2.1 identifier: lgpl_2_1-030a1112-24d1-fb89-7789-d08223a7cb41 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 1177 end_line: 1177 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 1178 end_line: 1188 + matcher: 1-hash + score: '100.0' matched_length: 94 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_202.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_202.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_202.RULE matched_text: | This module is free software; you can redistribute it and/or modify @@ -347,27 +382,32 @@ other_license_detections: the file /usr/share/common-licenses/LGPL-2.1 identifier: lgpl_2_1_plus-d08147fa-8e2d-6375-6e8b-9fe0f6ccbfc0 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 1190 end_line: 1190 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 1191 end_line: 1201 + matcher: 1-hash + score: '100.0' matched_length: 91 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_655.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_655.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_655.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -383,27 +423,32 @@ other_license_detections: the file /usr/share/common-licenses/GPL-2 identifier: gpl_2_0_plus-54c2522e-ad9a-3fb1-7ef4-964ecea834d4 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1203 end_line: 1203 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1204 end_line: 1215 + matcher: 1-hash + score: '100.0' matched_length: 100 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_508.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_508.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_508.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -420,16 +465,19 @@ other_license_detections: the file /usr/share/common-licenses/GPL-3 identifier: gpl_3_0_plus-90de6d88-231e-9b62-39b6-ee5a02b552b4 - license_expression: x11 + license_expression_spdx: ICU matches: - - score: '100.0' + - license_expression: x11 + spdx_license_expression: ICU + from_file: start_line: 1218 end_line: 1241 + matcher: 1-hash + score: '100.0' matched_length: 227 match_coverage: '100.0' - matcher: 1-hash - license_expression: x11 - rule_identifier: x11.LICENSE rule_relevance: 100 + rule_identifier: x11.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining @@ -458,27 +506,32 @@ other_license_detections: authorization of the copyright holder. identifier: x11-049b28d7-7c22-92c7-882a-48898cec2310 - license_expression: mpl-1.1 + license_expression_spdx: MPL-1.1 matches: - - score: '100.0' + - license_expression: mpl-1.1 + spdx_license_expression: MPL-1.1 + from_file: start_line: 1243 end_line: 1243 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: mpl-1.1 - rule_identifier: mpl-1.1_24.RULE rule_relevance: 100 + rule_identifier: mpl-1.1_24.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-1.1_24.RULE matched_text: 'License: mpl-1.1' - - score: '100.0' + - license_expression: mpl-1.1 + spdx_license_expression: MPL-1.1 + from_file: start_line: 1244 end_line: 1710 + matcher: 1-hash + score: '100.0' matched_length: 3710 match_coverage: '100.0' - matcher: 1-hash - license_expression: mpl-1.1 - rule_identifier: mpl-1.1.LICENSE rule_relevance: 100 + rule_identifier: mpl-1.1.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mpl-1.1.LICENSE matched_text: | MOZILLA PUBLIC LICENSE @@ -950,43 +1003,51 @@ other_license_detections: Original Code Source Code for Your Modifications.] identifier: mpl_1_1-c6b480c1-acd2-503e-ee69-9b4177634444 - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 1712 end_line: 1712 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_65.RULE rule_relevance: 100 + rule_identifier: apache-2.0_65.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE matched_text: 'License: apache-2.0' - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 1713 end_line: 1714 + matcher: 1-hash + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_1018.RULE rule_relevance: 100 + rule_identifier: apache-2.0_1018.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1018.RULE matched_text: | On Debian systems, the full text of the Apache license version 2 can be found in the file `/usr/share/common-licenses/Apache-2.0'. identifier: apache_2_0-c372bb88-21db-cccd-47af-f2f5df982469 - license_expression: isc + license_expression_spdx: ISC matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 1717 end_line: 1729 + matcher: 1-hash + score: '100.0' matched_length: 111 match_coverage: '100.0' - matcher: 1-hash - license_expression: isc - rule_identifier: isc_14.RULE rule_relevance: 100 + rule_identifier: isc_14.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_14.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -1004,16 +1065,19 @@ other_license_detections: PERFORMANCE OF THIS SOFTWARE. identifier: isc-ea6c318e-91a9-413d-027a-507b2cebec2c - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 9 end_line: 9 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: spdx_license_id_bsd-2-clause_for_bsd-simplified.RULE rule_relevance: 100 + rule_identifier: spdx_license_id_bsd-2-clause_for_bsd-simplified.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_bsd-2-clause_for_bsd-simplified.RULE matched_text: BSD 2-clause, identifier: bsd_simplified-7cacd81a-0bdb-1c32-cf2d-2250f633f213 diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/w/win32-loader/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/w/win32-loader/stable_copyright-detailed.expected.yml index fed6d8c35b..c76bb14872 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/w/win32-loader/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/w/win32-loader/stable_copyright-detailed.expected.yml @@ -7,27 +7,32 @@ other_license_expression_spdx: GPL-3.0-or-later AND GPL-3.0-or-later license_detections: [] other_license_detections: - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 9 end_line: 9 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 10 end_line: 24 + matcher: 1-hash + score: '100.0' matched_length: 128 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_484.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_484.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_484.RULE matched_text: | This program is free software: you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/x/xymon/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/x/xymon/stable_copyright-detailed.expected.yml index d1d01db385..3987bfd1bb 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/x/xymon/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/x/xymon/stable_copyright-detailed.expected.yml @@ -29,16 +29,19 @@ other_license_expression_spdx: GPL-2.0-only WITH x11vnc-openssl-exception AND GP license_detections: [] other_license_detections: - license_expression: ssleay-windows + license_expression_spdx: LicenseRef-scancode-ssleay-windows matches: - - score: '100.0' + - license_expression: ssleay-windows + spdx_license_expression: LicenseRef-scancode-ssleay-windows + from_file: start_line: 43 end_line: 100 + matcher: 2-aho + score: '100.0' matched_length: 454 match_coverage: '100.0' - matcher: 2-aho - license_expression: ssleay-windows - rule_identifier: ssleay-windows_8.RULE rule_relevance: 100 + rule_identifier: ssleay-windows_8.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/ssleay-windows_8.RULE matched_text: | This package is an SSL implementation written @@ -101,30 +104,36 @@ other_license_detections: [including the GNU General Public Licence.] identifier: ssleay_windows-93878952-a9e8-1f8d-16e5-daf65078e9d8 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 105 end_line: 105 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_125.RULE rule_relevance: 100 + rule_identifier: public-domain_125.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_125.RULE matched_text: 100% Public Domain, identifier: public_domain-febd716b-0a50-4cbc-9a5b-36698c14ffd8 - license_expression: mit-old-style-no-advert + license_expression_spdx: NTP matches: - - score: '100.0' + - license_expression: mit-old-style-no-advert + spdx_license_expression: NTP + from_file: start_line: 116 end_line: 126 + matcher: 1-hash + score: '100.0' matched_length: 96 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit-old-style-no-advert - rule_identifier: mit-old-style-no-advert_1.RULE rule_relevance: 100 + rule_identifier: mit-old-style-no-advert_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style-no-advert_1.RULE matched_text: | Permission to use, copy, modify, and distribute this @@ -140,16 +149,19 @@ other_license_detections: without express or implied warranty. identifier: mit_old_style_no_advert-19f78f33-dd8b-9688-e8e7-956044c36d07 - license_expression: gpl-2.0 WITH openssl-exception-gpl-2.0 + license_expression_spdx: GPL-2.0-only WITH x11vnc-openssl-exception matches: - - score: '100.0' + - license_expression: gpl-2.0 WITH openssl-exception-gpl-2.0 + spdx_license_expression: GPL-2.0-only WITH x11vnc-openssl-exception + from_file: start_line: 129 end_line: 135 + matcher: 1-hash + score: '100.0' matched_length: 51 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 WITH openssl-exception-gpl-2.0 - rule_identifier: gpl-2.0_with_openssl-exception-gpl-2.0_9.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_with_openssl-exception-gpl-2.0_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_with_openssl-exception-gpl-2.0_9.RULE matched_text: | This program is released under the GNU General Public License (GPL), @@ -161,27 +173,32 @@ other_license_detections: `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_with_openssl_exception_gpl_2_0-8356e424-817e-5d5b-5bb5-f1c1211c2151 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 137 end_line: 137 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 138 end_line: 143 + matcher: 1-hash + score: '100.0' matched_length: 39 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1151.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1151.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1151.RULE matched_text: | This program is released under the GNU General Public License (GPL), @@ -192,27 +209,32 @@ other_license_detections: `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-404c8878-5009-b35f-910c-bb68abd6f353 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 145 end_line: 145 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 146 end_line: 152 + matcher: 1-hash + score: '100.0' matched_length: 50 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_841.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_841.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_841.RULE matched_text: | This program is released under the GNU General Public License (GPL), @@ -224,27 +246,32 @@ other_license_detections: `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus-835c02fb-84cd-83f2-e14c-b39c13f54dfb - license_expression: gpl-1.0-plus + license_expression_spdx: GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 154 end_line: 154 + matcher: 1-hash + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus - rule_identifier: gpl_72.RULE rule_relevance: 100 + rule_identifier: gpl_72.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_72.RULE matched_text: 'License: gpl' - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 155 end_line: 159 + matcher: 1-hash + score: '100.0' matched_length: 39 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_465.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_465.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_465.RULE matched_text: | This program is released under the GNU General Public License (GPL). @@ -254,16 +281,19 @@ other_license_detections: `/usr/share/common-licenses/GPL'. identifier: gpl_1_0_plus-14761f06-743f-4cbf-1afa-cea270559e48 - license_expression: zlib + license_expression_spdx: Zlib matches: - - score: '100.0' + - license_expression: zlib + spdx_license_expression: Zlib + from_file: start_line: 163 end_line: 179 + matcher: 1-hash + score: '100.0' matched_length: 132 match_coverage: '100.0' - matcher: 1-hash - license_expression: zlib - rule_identifier: zlib.LICENSE rule_relevance: 100 + rule_identifier: zlib.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE matched_text: | This software is provided 'as-is', without any express or implied @@ -285,16 +315,19 @@ other_license_detections: 3. This notice may not be removed or altered from any source distribution. identifier: zlib-f32ae987-c66a-44ce-bd13-c90e0c59aab8 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 182 end_line: 207 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_66.RULE rule_relevance: 100 + rule_identifier: bsd-new_66.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_66.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -325,16 +358,19 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_new-1c9f5e21-d1f7-70e3-725e-68240c6ce757 - license_expression: gpl-1.0-plus AND zlib + license_expression_spdx: GPL-1.0-or-later AND Zlib matches: - - score: '100.0' + - license_expression: gpl-1.0-plus AND zlib + spdx_license_expression: GPL-1.0-or-later AND Zlib + from_file: start_line: 35 end_line: 36 + matcher: 2-aho + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus AND zlib - rule_identifier: gpl-1.0-plus_and_zlib_1.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_and_zlib_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_and_zlib_1.RULE matched_text: | released under diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/z/z3/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/z/z3/stable_copyright-detailed.expected.yml index 5cf3dc29b6..2cb40b5095 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/z/z3/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/z/z3/stable_copyright-detailed.expected.yml @@ -8,16 +8,19 @@ other_license_expression_spdx: MIT AND (GPL-2.0-or-later AND GPL-2.0-or-later) license_detections: [] other_license_detections: - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 8 end_line: 24 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy of @@ -39,27 +42,32 @@ other_license_detections: SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 29 end_line: 29 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 30 end_line: 44 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_846.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_846.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_846.RULE matched_text: | This package is free software; you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-adi.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-adi.copyright-detailed.expected.yml index 95cac4ff9a..daaded87d2 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-adi.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-adi.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0-plus AND gpl-2.0 + license_expression_spdx: GPL-2.0-or-later AND GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 6 end_line: 20 + matcher: 2-aho + score: '100.0' matched_length: 114 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_68.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_68.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_68.RULE matched_text: | License: @@ -32,15 +35,17 @@ license_detections: You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 22 end_line: 23 + matcher: 2-aho + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1120.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1120.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1120.RULE matched_text: | On Debian systems, the complete text of the GNU General diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-amd-graphics.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-amd-graphics.copyright-detailed.expected.yml index cf9f9a1911..2e77c23215 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-amd-graphics.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-amd-graphics.copyright-detailed.expected.yml @@ -7,16 +7,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: mit + license_expression_spdx: MIT matches: - - score: '97.67' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 14 end_line: 31 + matcher: 3-seq + score: '97.67' matched_length: 168 match_coverage: '100.0' - matcher: 3-seq - license_expression: mit - rule_identifier: mit_x11-r75_58.RULE rule_relevance: 100 + rule_identifier: mit_x11-r75_58.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_x11-r75_58.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -39,16 +42,19 @@ license_detections: WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: mit-eaad20d1-a23d-1efa-4faf-fd2acf65e2fa - license_expression: amd-linux-firmware + license_expression_spdx: LicenseRef-scancode-amd-linux-firmware matches: - - score: '100.0' + - license_expression: amd-linux-firmware + spdx_license_expression: LicenseRef-scancode-amd-linux-firmware + from_file: start_line: 38 end_line: 86 + matcher: 2-aho + score: '100.0' matched_length: 427 match_coverage: '100.0' - matcher: 2-aho - license_expression: amd-linux-firmware - rule_identifier: amd-linux-firmware.LICENSE rule_relevance: 100 + rule_identifier: amd-linux-firmware.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/amd-linux-firmware.LICENSE matched_text: | REDISTRIBUTION: Permission is hereby granted, free of any license fees, diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-atheros.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-atheros.copyright-detailed.expected.yml index 9b7bb6783a..a505e57eb5 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-atheros.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-atheros.copyright-detailed.expected.yml @@ -16,16 +16,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: stmicroelectronics-linux-firmware + license_expression_spdx: LicenseRef-scancode-stmicro-linux-firmware matches: - - score: '96.74' + - license_expression: stmicroelectronics-linux-firmware + spdx_license_expression: LicenseRef-scancode-stmicro-linux-firmware + from_file: start_line: 12 end_line: 46 + matcher: 3-seq + score: '96.74' matched_length: 267 match_coverage: '96.74' - matcher: 3-seq - license_expression: stmicroelectronics-linux-firmware - rule_identifier: stmicroelectronics-linux-firmware.LICENSE rule_relevance: 100 + rule_identifier: stmicroelectronics-linux-firmware.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/stmicroelectronics-linux-firmware.LICENSE matched_text: | Redistribution. Redistribution and use in binary form, without @@ -66,16 +69,20 @@ license_detections: identifier: stmicroelectronics_linux_firmware-a130ff63-8589-bdec-7e0a-199e0d3c8cdf - license_expression: clear-bsd AND isc AND bsd-no-mod AND gpl-2.0-plus WITH ecos-exception-2.0 AND mit + license_expression_spdx: BSD-3-Clause-Clear AND ISC AND LicenseRef-scancode-bsd-no-mod AND + GPL-2.0-or-later WITH eCos-exception-2.0 AND MIT matches: - - score: '99.15' + - license_expression: clear-bsd + spdx_license_expression: BSD-3-Clause-Clear + from_file: start_line: 57 end_line: 85 + matcher: 3-seq + score: '99.15' matched_length: 234 match_coverage: '100.0' - matcher: 3-seq - license_expression: clear-bsd - rule_identifier: clear-bsd_3.RULE rule_relevance: 100 + rule_identifier: clear-bsd_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/clear-bsd_3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -107,15 +114,17 @@ license_detections: WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 87 end_line: 97 + matcher: 2-aho + score: '100.0' matched_length: 112 match_coverage: '100.0' - matcher: 2-aho - license_expression: isc - rule_identifier: isc.LICENSE rule_relevance: 100 + rule_identifier: isc.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/isc.LICENSE matched_text: | Permission to use, copy, modify, and/or distribute this software for any @@ -129,15 +138,17 @@ license_detections: WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - score: '100.0' + - license_expression: bsd-no-mod + spdx_license_expression: LicenseRef-scancode-bsd-no-mod + from_file: start_line: 99 end_line: 128 + matcher: 2-aho + score: '100.0' matched_length: 231 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-no-mod - rule_identifier: bsd-no-mod.LICENSE rule_relevance: 100 + rule_identifier: bsd-no-mod.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-no-mod.LICENSE matched_text: | Redistribution and use in source and binary forms are permitted @@ -170,15 +181,17 @@ license_detections: OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - score: '100.0' + - license_expression: gpl-2.0-plus WITH ecos-exception-2.0 + spdx_license_expression: GPL-2.0-or-later WITH eCos-exception-2.0 + from_file: start_line: 130 end_line: 142 + matcher: 2-aho + score: '100.0' matched_length: 138 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus WITH ecos-exception-2.0 - rule_identifier: gpl-2.0-plus_with_ecos-exception-2.0_25.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_with_ecos-exception-2.0_25.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_ecos-exception-2.0_25.RULE matched_text: | eCos is free software; you can redistribute it and/or modify it under @@ -194,15 +207,17 @@ license_detections: This exception does not invalidate any other reasons why a work based on this file might be covered by the GNU General Public License. - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 144 end_line: 161 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining @@ -225,16 +240,19 @@ license_detections: SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: clear_bsd_and_isc_and_bsd_no_mod_and_gpl_2_0_plus_with_ecos_exception_2_0_and_mit-d99207f1-72fd-4564-992c-a3c49dd76df1 - license_expression: qca-linux-firmware + license_expression_spdx: LicenseRef-scancode-qca-linux-firmware matches: - - score: '100.0' + - license_expression: qca-linux-firmware + spdx_license_expression: LicenseRef-scancode-qca-linux-firmware + from_file: start_line: 205 end_line: 248 + matcher: 2-aho + score: '100.0' matched_length: 390 match_coverage: '100.0' - matcher: 2-aho - license_expression: qca-linux-firmware - rule_identifier: qca-linux-firmware.LICENSE rule_relevance: 100 + rule_identifier: qca-linux-firmware.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/qca-linux-firmware.LICENSE matched_text: | Redistribution. Reproduction and redistribution in binary form, without diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-bnx2.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-bnx2.copyright-detailed.expected.yml index ba5da2837f..01794b76c2 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-bnx2.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-bnx2.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '87.5' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 4 end_line: 9 + matcher: 3-seq + score: '87.5' matched_length: 35 match_coverage: '100.0' - matcher: 3-seq - license_expression: proprietary-license - rule_identifier: proprietary-license_599.RULE rule_relevance: 100 + rule_identifier: proprietary-license_599.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_599.RULE matched_text: | This file contains firmware data derived from proprietary unpublished diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-bnx2x.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-bnx2x.copyright-detailed.expected.yml index 3d205f464d..310294251f 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-bnx2x.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-bnx2x.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '87.5' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 6 end_line: 11 + matcher: 3-seq + score: '87.5' matched_length: 35 match_coverage: '100.0' - matcher: 3-seq - license_expression: proprietary-license - rule_identifier: proprietary-license_599.RULE rule_relevance: 100 + rule_identifier: proprietary-license_599.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_599.RULE matched_text: | This file contains firmware data derived from proprietary unpublished diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-brcm80211.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-brcm80211.copyright-detailed.expected.yml index d6197c579b..8c3745f554 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-brcm80211.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-brcm80211.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: broadcom-proprietary + license_expression_spdx: LicenseRef-scancode-broadcom-proprietary matches: - - score: '100.0' + - license_expression: broadcom-proprietary + spdx_license_expression: LicenseRef-scancode-broadcom-proprietary + from_file: start_line: 4 end_line: 207 + matcher: 2-aho + score: '100.0' matched_length: 1770 match_coverage: '100.0' - matcher: 2-aho - license_expression: broadcom-proprietary - rule_identifier: broadcom-proprietary_1.RULE rule_relevance: 100 + rule_identifier: broadcom-proprietary_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/broadcom-proprietary_1.RULE matched_text: "SOFTWARE LICENSE AGREEMENT\n\nUnless you and Broadcom Corporation (“Broadcom”)\ \ execute a separate written\nsoftware license agreement governing use of the accompanying\ diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-cavium.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-cavium.copyright-detailed.expected.yml index c78fcfb25c..2bb4887b8b 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-cavium.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-cavium.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: cavium-linux-firmware + license_expression_spdx: LicenseRef-scancode-cavium-linux-firmware matches: - - score: '100.0' + - license_expression: cavium-linux-firmware + spdx_license_expression: LicenseRef-scancode-cavium-linux-firmware + from_file: start_line: 6 end_line: 62 + matcher: 2-aho + score: '100.0' matched_length: 541 match_coverage: '100.0' - matcher: 2-aho - license_expression: cavium-linux-firmware - rule_identifier: cavium-linux-firmware.LICENSE rule_relevance: 100 + rule_identifier: cavium-linux-firmware.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/cavium-linux-firmware.LICENSE matched_text: | Software License Agreement diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-intel-sound.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-intel-sound.copyright-detailed.expected.yml index 3aca6dd0e4..3a3f82863b 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-intel-sound.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-intel-sound.copyright-detailed.expected.yml @@ -16,16 +16,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: intel + license_expression_spdx: LicenseRef-scancode-intel matches: - - score: '100.0' + - license_expression: intel + spdx_license_expression: LicenseRef-scancode-intel + from_file: start_line: 11 end_line: 46 + matcher: 2-aho + score: '100.0' matched_length: 295 match_coverage: '100.0' - matcher: 2-aho - license_expression: intel - rule_identifier: intel.LICENSE rule_relevance: 100 + rule_identifier: intel.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/intel.LICENSE matched_text: | Redistribution. Redistribution and use in binary form, without @@ -66,16 +69,19 @@ license_detections: DAMAGE. identifier: intel-ba019b8e-e0ea-8048-9073-a76fbb247ff8 - license_expression: intel + license_expression_spdx: LicenseRef-scancode-intel matches: - - score: '95.0' + - license_expression: intel + spdx_license_expression: LicenseRef-scancode-intel + from_file: start_line: 53 end_line: 87 + matcher: 2-aho + score: '95.0' matched_length: 268 match_coverage: '100.0' - matcher: 2-aho - license_expression: intel - rule_identifier: intel_2.RULE rule_relevance: 95 + rule_identifier: intel_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/intel_2.RULE matched_text: | Redistribution. @@ -117,16 +123,23 @@ license_detections: - license_expression: intel AND (bsd-new AND other-permissive AND other-copyleft) AND bsd-new AND x11-lucent AND standard-ml-nj AND amd-historical AND sunpro AND hp-1986 AND nilsson-historical AND newlib-historical AND bsd-simplified AND x11-hanson AND delorie-historical AND intel-osl-1993 + license_expression_spdx: LicenseRef-scancode-intel AND (BSD-3-Clause AND LicenseRef-scancode-other-permissive + AND LicenseRef-scancode-other-copyleft) AND BSD-3-Clause AND dtoa AND SMLNJ AND LicenseRef-scancode-amd-historical + AND SunPro AND HP-1986 AND LicenseRef-scancode-nilsson-historical AND LicenseRef-scancode-newlib-historical + AND BSD-2-Clause AND LicenseRef-scancode-x11-hanson AND LicenseRef-scancode-delorie-historical + AND LicenseRef-scancode-intel-osl-1993 matches: - - score: '95.0' + - license_expression: intel + spdx_license_expression: LicenseRef-scancode-intel + from_file: start_line: 101 end_line: 135 + matcher: 2-aho + score: '95.0' matched_length: 268 match_coverage: '100.0' - matcher: 2-aho - license_expression: intel - rule_identifier: intel_2.RULE rule_relevance: 95 + rule_identifier: intel_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/intel_2.RULE matched_text: | Redistribution. @@ -164,15 +177,17 @@ license_detections: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-new AND other-permissive AND other-copyleft + spdx_license_expression: BSD-3-Clause AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-other-copyleft + from_file: start_line: 139 end_line: 143 + matcher: 2-aho + score: '100.0' matched_length: 48 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new AND other-permissive AND other-copyleft - rule_identifier: license-intro_55.RULE rule_relevance: 100 + rule_identifier: license-intro_55.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_55.RULE matched_text: | The newlib subdirectory is a collection of software from several sources. @@ -180,15 +195,17 @@ license_detections: Each file may have its own copyright/license that is embedded in the source file. Unless otherwise noted in the body of the source file(s), the following copyright notices will apply to the contents of the newlib subdirectory: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 149 end_line: 158 + matcher: 2-aho + score: '100.0' matched_length: 103 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_newlib.RULE rule_relevance: 100 + rule_identifier: bsd-new_newlib.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_newlib.RULE matched_text: | This copyrighted material is made available to anyone wishing to use, @@ -201,15 +218,17 @@ license_detections: incorporated in the source code or documentation are not subject to the BSD License and may only be used or replicated with the express permission of Red Hat, Inc. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 165 end_line: 186 + matcher: 2-aho + score: '100.0' matched_length: 212 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_newlib3.RULE rule_relevance: 100 + rule_identifier: bsd-new_newlib3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_newlib3.RULE matched_text: | Redistribution and use in source and binary forms, with or without modification, @@ -234,15 +253,17 @@ license_detections: WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: x11-lucent + spdx_license_expression: dtoa + from_file: start_line: '194' end_line: 203 + matcher: 2-aho + score: '100.0' matched_length: 93 match_coverage: '100.0' - matcher: 2-aho - license_expression: x11-lucent - rule_identifier: x11-lucent.RULE rule_relevance: 100 + rule_identifier: x11-lucent.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-lucent.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -255,15 +276,17 @@ license_detections: WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. - - score: '100.0' + - license_expression: standard-ml-nj + spdx_license_expression: SMLNJ + from_file: start_line: 212 end_line: 229 + matcher: 2-aho + score: '100.0' matched_length: 151 match_coverage: '100.0' - matcher: 2-aho - license_expression: standard-ml-nj - rule_identifier: standard-ml-nj_3.RULE rule_relevance: 100 + rule_identifier: standard-ml-nj_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/standard-ml-nj_3.RULE matched_text: | Permission to use, copy, modify, and distribute this software and @@ -284,15 +307,17 @@ license_detections: IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - score: '100.0' + - license_expression: amd-historical + spdx_license_expression: LicenseRef-scancode-amd-historical + from_file: start_line: 236 end_line: 247 + matcher: 2-aho + score: '100.0' matched_length: 98 match_coverage: '100.0' - matcher: 2-aho - license_expression: amd-historical - rule_identifier: amd-historical_1.RULE rule_relevance: 100 + rule_identifier: amd-historical_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/amd-historical_1.RULE matched_text: | This software is the property of Advanced Micro Devices, Inc (AMD) which @@ -307,29 +332,33 @@ license_detections: So that all may benefit from your experience, please report any problems or suggestions about this software - - score: '100.0' + - license_expression: sunpro + spdx_license_expression: SunPro + from_file: start_line: 266 end_line: 268 + matcher: 2-aho + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 2-aho - license_expression: sunpro - rule_identifier: sunpro.LICENSE rule_relevance: 100 + rule_identifier: sunpro.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/sunpro.LICENSE matched_text: | Developed at SunPro, a Sun Microsystems, Inc. business. Permission to use, copy, modify, and distribute this software is freely granted, provided that this notice is preserved. - - score: '100.0' + - license_expression: hp-1986 + spdx_license_expression: HP-1986 + from_file: start_line: 274 end_line: 283 + matcher: 2-aho + score: '100.0' matched_length: 88 match_coverage: '100.0' - matcher: 2-aho - license_expression: hp-1986 - rule_identifier: hp-1986.LICENSE rule_relevance: 100 + rule_identifier: hp-1986.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/hp-1986.LICENSE matched_text: | To anyone who acknowledges that this file is provided "AS IS" @@ -342,15 +371,17 @@ license_detections: of the software without specific, written prior permission. Hewlett-Packard Company makes no representations about the suitability of this software for any purpose. - - score: '100.0' + - license_expression: nilsson-historical + spdx_license_expression: LicenseRef-scancode-nilsson-historical + from_file: start_line: 289 end_line: 296 + matcher: 2-aho + score: '100.0' matched_length: 55 match_coverage: '100.0' - matcher: 2-aho - license_expression: nilsson-historical - rule_identifier: nilsson-historical.LICENSE rule_relevance: 100 + rule_identifier: nilsson-historical.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/nilsson-historical.LICENSE matched_text: | Permission to use, copy, modify, and distribute this software is @@ -361,15 +392,17 @@ license_detections: IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. - - score: '100.0' + - license_expression: newlib-historical + spdx_license_expression: LicenseRef-scancode-newlib-historical + from_file: start_line: 302 end_line: 310 + matcher: 2-aho + score: '100.0' matched_length: 92 match_coverage: '100.0' - matcher: 2-aho - license_expression: newlib-historical - rule_identifier: newlib-historical.LICENSE rule_relevance: 100 + rule_identifier: newlib-historical.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/newlib-historical.LICENSE matched_text: | The authors hereby grant permission to use, copy, modify, distribute, @@ -381,15 +414,17 @@ license_detections: and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 317 end_line: 337 + matcher: 2-aho + score: '100.0' matched_length: 203 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_98.RULE rule_relevance: 100 + rule_identifier: bsd-new_98.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_98.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -413,15 +448,17 @@ license_detections: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '95.0' + - license_expression: amd-historical + spdx_license_expression: LicenseRef-scancode-amd-historical + from_file: start_line: 343 end_line: 354 + matcher: 2-aho + score: '95.0' matched_length: 95 match_coverage: '100.0' - matcher: 2-aho - license_expression: amd-historical - rule_identifier: amd-historical4.RULE rule_relevance: 100 + rule_identifier: amd-historical4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/amd-historical4.RULE matched_text: | This software is the property of SuperH, Inc (SuperH) which specifically @@ -436,15 +473,17 @@ license_detections: So that all may benefit from your experience, please report any problems or suggestions about this software to the - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 369 end_line: 394 + matcher: 2-aho + score: '100.0' matched_length: 212 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_933.RULE rule_relevance: 100 + rule_identifier: bsd-new_933.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_933.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -473,15 +512,17 @@ license_detections: WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 401 end_line: 420 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -504,15 +545,17 @@ license_detections: LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 427 end_line: 446 + matcher: 2-aho + score: '100.0' matched_length: 181 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_newlib3.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_newlib3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_newlib3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -535,15 +578,17 @@ license_detections: LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 453 end_line: 472 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -566,15 +611,17 @@ license_detections: LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '99.0' + - license_expression: x11-hanson + spdx_license_expression: LicenseRef-scancode-x11-hanson + from_file: start_line: 480 end_line: 489 + matcher: 2-aho + score: '99.0' matched_length: 89 match_coverage: '100.0' - matcher: 2-aho - license_expression: x11-hanson - rule_identifier: x11-hanson2.RULE rule_relevance: 99 + rule_identifier: x11-hanson2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-hanson2.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -587,15 +634,17 @@ license_detections: WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 496 end_line: 515 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -618,15 +667,17 @@ license_detections: LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 522 end_line: 542 + matcher: 2-aho + score: '100.0' matched_length: 200 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_76.RULE rule_relevance: 100 + rule_identifier: bsd-new_76.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_76.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -650,15 +701,17 @@ license_detections: WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: delorie-historical + spdx_license_expression: LicenseRef-scancode-delorie-historical + from_file: start_line: 548 end_line: 553 + matcher: 2-aho + score: '100.0' matched_length: 45 match_coverage: '100.0' - matcher: 2-aho - license_expression: delorie-historical - rule_identifier: delorie-historical.LICENSE rule_relevance: 100 + rule_identifier: delorie-historical.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/delorie-historical.LICENSE matched_text: | Redistribution, modification, and use in source and binary forms is permitted @@ -667,15 +720,17 @@ license_detections: This file is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - score: '100.0' + - license_expression: intel-osl-1993 + spdx_license_expression: LicenseRef-scancode-intel-osl-1993 + from_file: start_line: 563 end_line: 585 + matcher: 2-aho + score: '100.0' matched_length: 210 match_coverage: '100.0' - matcher: 2-aho - license_expression: intel-osl-1993 - rule_identifier: intel-osl-1993.LICENSE rule_relevance: 100 + rule_identifier: intel-osl-1993.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/intel-osl-1993.LICENSE matched_text: | Intel hereby grants you permission to copy, modify, and distribute this @@ -701,15 +756,17 @@ license_detections: LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER. - - score: '100.0' + - license_expression: hp-1986 + spdx_license_expression: HP-1986 + from_file: start_line: 591 end_line: 600 + matcher: 2-aho + score: '100.0' matched_length: 88 match_coverage: '100.0' - matcher: 2-aho - license_expression: hp-1986 - rule_identifier: hp-1986.LICENSE rule_relevance: 100 + rule_identifier: hp-1986.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/hp-1986.LICENSE matched_text: | To anyone who acknowledges that this file is provided "AS IS" @@ -722,15 +779,17 @@ license_detections: of the software without specific, written prior permission. Hewlett-Packard Company makes no representations about the suitability of this software for any purpose. - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 609 end_line: 628 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -753,15 +812,17 @@ license_detections: LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 635 end_line: 654 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -784,15 +845,17 @@ license_detections: LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 663 end_line: 682 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -815,15 +878,17 @@ license_detections: LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 693 end_line: 715 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_206.RULE rule_relevance: 100 + rule_identifier: bsd-new_206.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_206.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -849,15 +914,17 @@ license_detections: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 723 end_line: 742 + matcher: 2-aho + score: '100.0' matched_length: 179 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_8.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_8.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_8.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -880,15 +947,17 @@ license_detections: LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 749 end_line: 768 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -911,15 +980,17 @@ license_detections: LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 775 end_line: 794 + matcher: 2-aho + score: '100.0' matched_length: 181 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_newlib3.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_newlib3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_newlib3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -942,15 +1013,17 @@ license_detections: LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 801 end_line: 820 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_newlib5.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_newlib5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_newlib5.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -973,15 +1046,17 @@ license_detections: LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 827 end_line: 846 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1004,15 +1079,17 @@ license_detections: LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 854 end_line: 875 + matcher: 2-aho + score: '100.0' matched_length: 203 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_183.RULE rule_relevance: 100 + rule_identifier: bsd-new_183.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_183.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1037,15 +1114,17 @@ license_detections: LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 881 end_line: 906 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_412.RULE rule_relevance: 100 + rule_identifier: bsd-new_412.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_412.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1074,15 +1153,17 @@ license_detections: LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 914 end_line: 941 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_517.RULE rule_relevance: 100 + rule_identifier: bsd-new_517.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_517.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1113,15 +1194,17 @@ license_detections: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: newlib-historical + spdx_license_expression: LicenseRef-scancode-newlib-historical + from_file: start_line: 947 end_line: 955 + matcher: 2-aho + score: '100.0' matched_length: 92 match_coverage: '100.0' - matcher: 2-aho - license_expression: newlib-historical - rule_identifier: newlib-historical.LICENSE rule_relevance: 100 + rule_identifier: newlib-historical.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/newlib-historical.LICENSE matched_text: | The authors hereby grant permission to use, copy, modify, distribute, @@ -1133,15 +1216,17 @@ license_detections: and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 962 end_line: 982 + matcher: 2-aho + score: '100.0' matched_length: 211 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_979.RULE rule_relevance: 100 + rule_identifier: bsd-new_979.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_979.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1165,15 +1250,17 @@ license_detections: CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 989 end_line: 1012 + matcher: 2-aho + score: '100.0' matched_length: 218 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_410.RULE rule_relevance: 100 + rule_identifier: bsd-new_410.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_410.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1200,15 +1287,17 @@ license_detections: ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1019 end_line: 1038 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-intelwimax.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-intelwimax.copyright-detailed.expected.yml index e46164a27b..378497f441 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-intelwimax.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-intelwimax.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: intel + license_expression_spdx: LicenseRef-scancode-intel matches: - - score: '95.0' + - license_expression: intel + spdx_license_expression: LicenseRef-scancode-intel + from_file: start_line: 8 end_line: 46 + matcher: 2-aho + score: '95.0' matched_length: 268 match_coverage: '100.0' - matcher: 2-aho - license_expression: intel - rule_identifier: intel_2.RULE rule_relevance: 95 + rule_identifier: intel_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/intel_2.RULE matched_text: "Redistribution. \n\nRedistribution and use in binary form, without modification,\ \ are\npermitted provided that the following conditions are met:\n\n * Redistributions\ diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-ipw2x00.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-ipw2x00.copyright-detailed.expected.yml index 7545fd115f..2ad1a5ef4b 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-ipw2x00.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-ipw2x00.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 7 end_line: 332 + matcher: 2-aho + score: '100.0' matched_length: 2975 match_coverage: '100.0' - matcher: 2-aho - license_expression: proprietary-license - rule_identifier: proprietary-license_521.RULE rule_relevance: 100 + rule_identifier: proprietary-license_521.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_521.RULE matched_text: "TERMS AND CONDITIONS\n IMPORTANT - PLEASE READ BEFORE INSTALLING OR\ \ USING THIS INTEL(C) SOFTWARE\n\nDo not use or load this firmware (the \"Software\"\ diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-ivtv.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-ivtv.copyright-detailed.expected.yml index ff0d266376..1db6a6ce74 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-ivtv.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-ivtv.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: hauppauge-firmware-oem + license_expression_spdx: LicenseRef-scancode-hauppauge-firmware-oem matches: - - score: '100.0' + - license_expression: hauppauge-firmware-oem + spdx_license_expression: LicenseRef-scancode-hauppauge-firmware-oem + from_file: start_line: 6 end_line: 154 + matcher: 2-aho + score: '100.0' matched_length: 1277 match_coverage: '100.0' - matcher: 2-aho - license_expression: hauppauge-firmware-oem - rule_identifier: hauppauge-firmware-oem.LICENSE rule_relevance: 100 + rule_identifier: hauppauge-firmware-oem.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/hauppauge-firmware-oem.LICENSE matched_text: | OEM/IHV/ISV FIRMWARE LICENSE AGREEMENT diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-iwlwifi.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-iwlwifi.copyright-detailed.expected.yml index 1fbfff5b02..f0f99a1ea9 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-iwlwifi.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-iwlwifi.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: intel + license_expression_spdx: LicenseRef-scancode-intel matches: - - score: '100.0' + - license_expression: intel + spdx_license_expression: LicenseRef-scancode-intel + from_file: start_line: 7 end_line: 42 + matcher: 2-aho + score: '100.0' matched_length: 295 match_coverage: '100.0' - matcher: 2-aho - license_expression: intel - rule_identifier: intel.LICENSE rule_relevance: 100 + rule_identifier: intel.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/intel.LICENSE matched_text: | Redistribution. Redistribution and use in binary form, without diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-libertas.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-libertas.copyright-detailed.expected.yml index 4aa7e0909a..3c1e0d03bd 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-libertas.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-libertas.copyright-detailed.expected.yml @@ -7,16 +7,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '96.37' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 11 end_line: 48 + matcher: 3-seq + score: '96.37' matched_length: 292 match_coverage: '96.37' - matcher: 3-seq - license_expression: proprietary-license - rule_identifier: proprietary-license_319.RULE rule_relevance: 100 + rule_identifier: proprietary-license_319.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_319.RULE matched_text: | Redistribution. Redistribution and use in binary form, without @@ -59,16 +62,19 @@ license_detections: DAMAGE. identifier: proprietary_license-f9aa1a05-7e88-4427-f33a-e480c0221ea3 - license_expression: marvell-firmware + license_expression_spdx: LicenseRef-scancode-marvell-firmware matches: - - score: '100.0' + - license_expression: marvell-firmware + spdx_license_expression: LicenseRef-scancode-marvell-firmware + from_file: start_line: 55 end_line: 84 + matcher: 2-aho + score: '100.0' matched_length: 242 match_coverage: '100.0' - matcher: 2-aho - license_expression: marvell-firmware - rule_identifier: marvell-firmware.LICENSE rule_relevance: 100 + rule_identifier: marvell-firmware.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/marvell-firmware.LICENSE matched_text: | Redistribution. Redistribution and use in binary form, without diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-linux-nonfree.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-linux-nonfree.copyright-detailed.expected.yml index 95cac4ff9a..daaded87d2 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-linux-nonfree.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-linux-nonfree.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0-plus AND gpl-2.0 + license_expression_spdx: GPL-2.0-or-later AND GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 6 end_line: 20 + matcher: 2-aho + score: '100.0' matched_length: 114 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_68.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_68.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_68.RULE matched_text: | License: @@ -32,15 +35,17 @@ license_detections: You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 22 end_line: 23 + matcher: 2-aho + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1120.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1120.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1120.RULE matched_text: | On Debian systems, the complete text of the GNU General diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-linux.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-linux.copyright-detailed.expected.yml index 95cac4ff9a..daaded87d2 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-linux.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-linux.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0-plus AND gpl-2.0 + license_expression_spdx: GPL-2.0-or-later AND GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 6 end_line: 20 + matcher: 2-aho + score: '100.0' matched_length: 114 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_68.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_68.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_68.RULE matched_text: | License: @@ -32,15 +35,17 @@ license_detections: You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 22 end_line: 23 + matcher: 2-aho + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1120.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1120.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1120.RULE matched_text: | On Debian systems, the complete text of the GNU General diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-misc-nonfree.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-misc-nonfree.copyright-detailed.expected.yml index 662344e771..b2f2ae6bbb 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-misc-nonfree.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-misc-nonfree.copyright-detailed.expected.yml @@ -56,16 +56,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: 3com-microcode + license_expression_spdx: LicenseRef-scancode-3com-microcode matches: - - score: '100.0' + - license_expression: 3com-microcode + spdx_license_expression: LicenseRef-scancode-3com-microcode + from_file: start_line: 11 end_line: 38 + matcher: 2-aho + score: '100.0' matched_length: 264 match_coverage: '100.0' - matcher: 2-aho - license_expression: 3com-microcode - rule_identifier: 3com-microcode3.RULE rule_relevance: 100 + rule_identifier: 3com-microcode3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/3com-microcode3.RULE matched_text: | Redistribution and use in source and binary forms of the 3c990img.h @@ -98,16 +101,19 @@ license_detections: COMBINATION WITH THE 3c990img.h MICROCODE SOFTWARE identifier: 3com_microcode-95088184-6248-7170-903e-7cdeb257c3c7 - license_expression: bsd-simplified-source + license_expression_spdx: LicenseRef-scancode-bsd-simplified-source matches: - - score: '100.0' + - license_expression: bsd-simplified-source + spdx_license_expression: LicenseRef-scancode-bsd-simplified-source + from_file: start_line: 46 end_line: 49 + matcher: 2-aho + score: '100.0' matched_length: 30 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified-source - rule_identifier: bsd-simplified-source.LICENSE rule_relevance: 100 + rule_identifier: bsd-simplified-source.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-simplified-source.LICENSE matched_text: | Redistribution and use in source and binary forms, with or without @@ -116,16 +122,19 @@ license_detections: modification. identifier: bsd_simplified_source-6143a4b4-ec33-d5c8-8554-6c658178bec4 - license_expression: agere-bsd + license_expression_spdx: LicenseRef-scancode-agere-bsd matches: - - score: '100.0' + - license_expression: agere-bsd + spdx_license_expression: LicenseRef-scancode-agere-bsd + from_file: start_line: 56 end_line: 92 + matcher: 1-hash + score: '100.0' matched_length: 296 match_coverage: '100.0' - matcher: 1-hash - license_expression: agere-bsd - rule_identifier: agere-bsd_1.RULE rule_relevance: 100 + rule_identifier: agere-bsd_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/agere-bsd_1.RULE matched_text: | This software is provided subject to the following terms and conditions, @@ -167,16 +176,19 @@ license_detections: DAMAGE. identifier: agere_bsd-4a463b61-1437-6a15-9fe6-40378a9eb65d - license_expression: x11-acer + license_expression_spdx: LicenseRef-scancode-x11-acer matches: - - score: '100.0' + - license_expression: x11-acer + spdx_license_expression: LicenseRef-scancode-x11-acer + from_file: start_line: 97 end_line: 109 + matcher: 1-hash + score: '100.0' matched_length: 112 match_coverage: '100.0' - matcher: 1-hash - license_expression: x11-acer - rule_identifier: x11-acer.LICENSE rule_relevance: 100 + rule_identifier: x11-acer.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-acer.LICENSE matched_text: | Permission to use, copy, modify, and/or distribute this software for @@ -194,16 +206,19 @@ license_detections: PERFORMANCE OF THIS SOFTWARE. identifier: x11_acer-7550e8f0-db0e-6d89-d2ac-3618d4ee3003 - license_expression: ctl-linux-firmware + license_expression_spdx: LicenseRef-scancode-ctl-linux-firmware matches: - - score: '100.0' + - license_expression: ctl-linux-firmware + spdx_license_expression: LicenseRef-scancode-ctl-linux-firmware + from_file: start_line: 116 end_line: 159 + matcher: 2-aho + score: '100.0' matched_length: 364 match_coverage: '100.0' - matcher: 2-aho - license_expression: ctl-linux-firmware - rule_identifier: ctl-linux-firmware.LICENSE rule_relevance: 100 + rule_identifier: ctl-linux-firmware.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ctl-linux-firmware.LICENSE matched_text: | Redistribution. Redistribution and use in binary form, without @@ -252,16 +267,19 @@ license_detections: COMBINATION WITH THIS SOFTWARE. identifier: ctl_linux_firmware-34c7234e-10ae-8356-1929-6ccd816982c0 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 164 end_line: 166 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: other-permissive - rule_identifier: other-permissive_66.RULE rule_relevance: 100 + rule_identifier: other-permissive_66.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_66.RULE matched_text: | Permission is hereby granted for the distribution of this firmware @@ -269,16 +287,19 @@ license_detections: notice is accompanying it. identifier: other_permissive-16dc1659-320f-55c9-0ddb-4d46c5526cbb - license_expression: linux-openib + license_expression_spdx: Linux-OpenIB matches: - - score: '100.0' + - license_expression: linux-openib + spdx_license_expression: Linux-OpenIB + from_file: start_line: 173 end_line: '193' + matcher: 2-aho + score: '100.0' matched_length: 143 match_coverage: '100.0' - matcher: 2-aho - license_expression: linux-openib - rule_identifier: linux-openib.LICENSE rule_relevance: 100 + rule_identifier: linux-openib.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/linux-openib.LICENSE matched_text: | Redistribution and use in source and binary forms, with or @@ -304,16 +325,19 @@ license_detections: SOFTWARE. identifier: linux_openib-5cc86e85-b634-0fcb-8ddc-4ddbb0522a54 - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 200 end_line: 223 + matcher: 2-aho + score: '100.0' matched_length: '199' match_coverage: '100.0' - matcher: 2-aho - license_expression: proprietary-license - rule_identifier: proprietary-license_334.RULE rule_relevance: 100 + rule_identifier: proprietary-license_334.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_334.RULE matched_text: | Redistribution and use in binary form, without modification, are @@ -342,16 +366,19 @@ license_detections: USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: proprietary_license-51a2910b-aac5-7aad-3357-77fd6da29d81 - license_expression: bsd-simplified-source + license_expression_spdx: LicenseRef-scancode-bsd-simplified-source matches: - - score: '100.0' + - license_expression: bsd-simplified-source + spdx_license_expression: LicenseRef-scancode-bsd-simplified-source + from_file: start_line: 228 end_line: 231 + matcher: 1-hash + score: '100.0' matched_length: 30 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified-source - rule_identifier: bsd-simplified-source.LICENSE rule_relevance: 100 + rule_identifier: bsd-simplified-source.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-simplified-source.LICENSE matched_text: | Redistribution and use in source and binary forms, with or without @@ -360,16 +387,19 @@ license_detections: modification. identifier: bsd_simplified_source-6143a4b4-ec33-d5c8-8554-6c658178bec4 - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 236 end_line: 247 + matcher: 1-hash + score: '100.0' matched_length: 120 match_coverage: '100.0' - matcher: 1-hash - license_expression: proprietary-license - rule_identifier: proprietary-license_332.RULE rule_relevance: 100 + rule_identifier: proprietary-license_332.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_332.RULE matched_text: | Permission to use, copy, modify, and/or distribute this software, only @@ -386,16 +416,19 @@ license_detections: OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. identifier: proprietary_license-41a38744-1ebf-1a54-f4b8-57cd0cbf62cd - license_expression: isc + license_expression_spdx: ISC matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 252 end_line: 264 + matcher: 1-hash + score: '100.0' matched_length: 112 match_coverage: '100.0' - matcher: 1-hash - license_expression: isc - rule_identifier: isc.LICENSE rule_relevance: 100 + rule_identifier: isc.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/isc.LICENSE matched_text: | Permission to use, copy, modify, and/or distribute this software for @@ -413,16 +446,19 @@ license_detections: PERFORMANCE OF THIS SOFTWARE. identifier: isc-58175475-cc81-cb6a-8921-4daa3f26b3e8 - license_expression: isc + license_expression_spdx: ISC matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 269 end_line: 281 + matcher: 1-hash + score: '100.0' matched_length: 112 match_coverage: '100.0' - matcher: 1-hash - license_expression: isc - rule_identifier: isc.LICENSE rule_relevance: 100 + rule_identifier: isc.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/isc.LICENSE matched_text: | Permission to use, copy, modify, and/or distribute this software for @@ -440,16 +476,19 @@ license_detections: PERFORMANCE OF THIS SOFTWARE. identifier: isc-58175475-cc81-cb6a-8921-4daa3f26b3e8 - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 286 end_line: 293 + matcher: 1-hash + score: '100.0' matched_length: 75 match_coverage: '100.0' - matcher: 1-hash - license_expression: proprietary-license - rule_identifier: proprietary-license_331.RULE rule_relevance: 100 + rule_identifier: proprietary-license_331.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_331.RULE matched_text: | TERRATEC grants permission to use and redistribute these firmware @@ -462,16 +501,19 @@ license_detections: of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. identifier: proprietary_license-a9e72056-aaa3-7377-e4fe-12479379a931 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 300 end_line: 323 + matcher: 2-aho + score: '100.0' matched_length: 211 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_786.RULE rule_relevance: 100 + rule_identifier: bsd-new_786.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_786.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -500,16 +542,19 @@ license_detections: EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-f3e25f19-7c66-228a-349d-cae0cf7fa1fb - license_expression: isc + license_expression_spdx: ISC matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 328 end_line: 339 + matcher: 1-hash + score: '100.0' matched_length: 112 match_coverage: '100.0' - matcher: 1-hash - license_expression: isc - rule_identifier: isc.LICENSE rule_relevance: 100 + rule_identifier: isc.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/isc.LICENSE matched_text: | Permission to use, copy, modify, and/or distribute this software for any @@ -526,16 +571,19 @@ license_detections: WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. identifier: isc-58175475-cc81-cb6a-8921-4daa3f26b3e8 - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 344 end_line: 350 + matcher: 1-hash + score: '100.0' matched_length: 75 match_coverage: '100.0' - matcher: 1-hash - license_expression: proprietary-license - rule_identifier: proprietary-license_330.RULE rule_relevance: 100 + rule_identifier: proprietary-license_330.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_330.RULE matched_text: | Sensoray grants permission to use and redistribute these firmware @@ -547,16 +595,19 @@ license_detections: of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. identifier: proprietary_license-ecce2e4a-d4cf-1dee-1e46-abcca77ae72b - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 355 end_line: 363 + matcher: 1-hash + score: '100.0' matched_length: 73 match_coverage: '100.0' - matcher: 1-hash - license_expression: proprietary-license - rule_identifier: proprietary-license_328.RULE rule_relevance: 100 + rule_identifier: proprietary-license_328.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_328.RULE matched_text: | The firmware files included in the firmware/ directory may be freely @@ -570,16 +621,19 @@ license_detections: PURPOSE AND NON-INFRINGEMENT. identifier: proprietary_license-c8f8f417-1187-871b-abf4-44a6b2b46801 - license_expression: intel + license_expression_spdx: LicenseRef-scancode-intel matches: - - score: '95.0' + - license_expression: intel + spdx_license_expression: LicenseRef-scancode-intel + from_file: start_line: 370 end_line: 403 + matcher: 2-aho + score: '95.0' matched_length: 268 match_coverage: '100.0' - matcher: 2-aho - license_expression: intel - rule_identifier: intel_2.RULE rule_relevance: 95 + rule_identifier: intel_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/intel_2.RULE matched_text: | Redistribution. @@ -618,16 +672,19 @@ license_detections: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: intel-aad21753-33a8-9b6b-b0be-dbc0838c75ab - license_expression: nxp-firmware-patent + license_expression_spdx: LicenseRef-scancode-nxp-firmware-patent matches: - - score: '100.0' + - license_expression: nxp-firmware-patent + spdx_license_expression: LicenseRef-scancode-nxp-firmware-patent + from_file: start_line: 414 end_line: 457 + matcher: 2-aho + score: '100.0' matched_length: 384 match_coverage: '100.0' - matcher: 2-aho - license_expression: nxp-firmware-patent - rule_identifier: nxp-firmware-patent.LICENSE rule_relevance: 100 + rule_identifier: nxp-firmware-patent.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/nxp-firmware-patent.LICENSE matched_text: | Redistribution. Reproduction and redistribution in binary form, without @@ -676,16 +733,19 @@ license_detections: USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: nxp_firmware_patent-7f5723fc-1afa-a9f1-d2f4-056f2efa7eb9 - license_expression: bsd-original + license_expression_spdx: BSD-4-Clause matches: - - score: '100.0' + - license_expression: bsd-original + spdx_license_expression: BSD-4-Clause + from_file: start_line: 462 end_line: 487 + matcher: 1-hash + score: '100.0' matched_length: 233 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-original - rule_identifier: bsd-original_44.RULE rule_relevance: 100 + rule_identifier: bsd-original_44.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original_44.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -716,16 +776,19 @@ license_detections: POSSIBILITY OF SUCH DAMAGE. identifier: bsd_original-4f35e404-7c29-ac7d-6f02-247d42139dd7 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '98.77' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 494 end_line: 510 + matcher: 3-seq + score: '98.77' matched_length: 161 match_coverage: '100.0' - matcher: 3-seq - license_expression: mit - rule_identifier: mit_712.RULE rule_relevance: 100 + rule_identifier: mit_712.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_712.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -747,16 +810,19 @@ license_detections: OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: mit-705ac3a8-db0e-b472-c9a5-81aa76c1cd17 - license_expression: moxa-linux-firmware + license_expression_spdx: LicenseRef-scancode-moxa-linux-firmware matches: - - score: '100.0' + - license_expression: moxa-linux-firmware + spdx_license_expression: LicenseRef-scancode-moxa-linux-firmware + from_file: start_line: 515 end_line: 530 + matcher: 1-hash + score: '100.0' matched_length: 143 match_coverage: '100.0' - matcher: 1-hash - license_expression: moxa-linux-firmware - rule_identifier: moxa-linux-firmware.LICENSE rule_relevance: 100 + rule_identifier: moxa-linux-firmware.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/moxa-linux-firmware.LICENSE matched_text: | The software accompanying this license statement (the “Software”) @@ -777,16 +843,19 @@ license_detections: 5. Moxa(r) is worldwide registered trademark. identifier: moxa_linux_firmware-fb6f9a99-6e99-6d97-4c1c-881b96f64e03 - license_expression: ralink-firmware + license_expression_spdx: LicenseRef-scancode-ralink-firmware matches: - - score: '100.0' + - license_expression: ralink-firmware + spdx_license_expression: LicenseRef-scancode-ralink-firmware + from_file: start_line: 537 end_line: 572 + matcher: 2-aho + score: '100.0' matched_length: 297 match_coverage: '100.0' - matcher: 2-aho - license_expression: ralink-firmware - rule_identifier: ralink-firmware.LICENSE rule_relevance: 100 + rule_identifier: ralink-firmware.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ralink-firmware.LICENSE matched_text: | Redistribution. Redistribution and use in binary form, without @@ -827,30 +896,36 @@ license_detections: DAMAGE. identifier: ralink_firmware-93a62c8f-7797-e9e8-e61b-edd0e2768be0 - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 577 end_line: 577 + matcher: 1-hash + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 1-hash - license_expression: proprietary-license - rule_identifier: proprietary-license_324.RULE rule_relevance: 100 + rule_identifier: proprietary-license_324.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_324.RULE matched_text: All firmware components are redistributable in binary form. identifier: proprietary_license-fb7f18e9-048a-60a6-5671-b183fa33d6f6 - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 582 end_line: 708 + matcher: 1-hash + score: '100.0' matched_length: 956 match_coverage: '100.0' - matcher: 1-hash - license_expression: proprietary-license - rule_identifier: proprietary-license_325.RULE rule_relevance: 100 + rule_identifier: proprietary-license_325.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_325.RULE matched_text: | IMPORTANT NOTICE -- READ CAREFULLY: This License For Customer Use of @@ -982,16 +1057,19 @@ license_detections: writing signed by an authorized officer of NVIDIA. identifier: proprietary_license-aac2f5c4-4283-44a0-a2b1-c21fc0892152 - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 719 end_line: 756 + matcher: 2-aho + score: '100.0' matched_length: 303 match_coverage: '100.0' - matcher: 2-aho - license_expression: proprietary-license - rule_identifier: proprietary-license_319.RULE rule_relevance: 100 + rule_identifier: proprietary-license_319.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_319.RULE matched_text: | Redistribution. Redistribution and use in binary form, without @@ -1034,16 +1112,19 @@ license_detections: DAMAGE. identifier: proprietary_license-2c4aae81-5af5-c5c8-6bd9-38a342789964 - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 761 end_line: 768 + matcher: 1-hash + score: '100.0' matched_length: 75 match_coverage: '100.0' - matcher: 1-hash - license_expression: proprietary-license - rule_identifier: proprietary-license_311.RULE rule_relevance: 100 + rule_identifier: proprietary-license_311.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_311.RULE matched_text: | Comtrol grants permission to use and redistribute these firmware @@ -1056,16 +1137,19 @@ license_detections: of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. identifier: proprietary_license-838f5686-e3d0-2c33-daf1-28caf52e0dc9 - license_expression: ralink-firmware + license_expression_spdx: LicenseRef-scancode-ralink-firmware matches: - - score: '100.0' + - license_expression: ralink-firmware + spdx_license_expression: LicenseRef-scancode-ralink-firmware + from_file: start_line: 775 end_line: 810 + matcher: 2-aho + score: '100.0' matched_length: 297 match_coverage: '100.0' - matcher: 2-aho - license_expression: ralink-firmware - rule_identifier: ralink-firmware.LICENSE rule_relevance: 100 + rule_identifier: ralink-firmware.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ralink-firmware.LICENSE matched_text: | Redistribution. Redistribution and use in binary form, without @@ -1106,16 +1190,19 @@ license_detections: DAMAGE. identifier: ralink_firmware-93a62c8f-7797-e9e8-e61b-edd0e2768be0 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 815 end_line: 817 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: other-permissive - rule_identifier: other-permissive_66.RULE rule_relevance: 100 + rule_identifier: other-permissive_66.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_66.RULE matched_text: | Permission is hereby granted for the distribution of this firmware @@ -1123,16 +1210,19 @@ license_detections: notice is accompanying it. identifier: other_permissive-16dc1659-320f-55c9-0ddb-4d46c5526cbb - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 822 end_line: 824 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: other-permissive - rule_identifier: other-permissive_66.RULE rule_relevance: 100 + rule_identifier: other-permissive_66.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_66.RULE matched_text: | Permission is hereby granted for the distribution of this firmware @@ -1140,16 +1230,19 @@ license_detections: notice is accompanying it. identifier: other_permissive-16dc1659-320f-55c9-0ddb-4d46c5526cbb - license_expression: bsd-new AND proprietary-license + license_expression_spdx: BSD-3-Clause AND LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: bsd-new AND proprietary-license + spdx_license_expression: BSD-3-Clause AND LicenseRef-scancode-proprietary-license + from_file: start_line: 829 end_line: 861 + matcher: 1-hash + score: '100.0' matched_length: 266 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new AND proprietary-license - rule_identifier: bsd-new_and_proprietary-license_1.RULE rule_relevance: 100 + rule_identifier: bsd-new_and_proprietary-license_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_and_proprietary-license_1.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1187,16 +1280,19 @@ license_detections: EITHER SOLELY OR IN COMBINATION WITH THIS SOFTWARE. identifier: bsd_new_and_proprietary_license-c9674145-0129-79f6-f4e9-f55158e8b2ea - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 865 end_line: 871 + matcher: 1-hash + score: '100.0' matched_length: 75 match_coverage: '100.0' - matcher: 1-hash - license_expression: proprietary-license - rule_identifier: proprietary-license_308.RULE rule_relevance: 100 + rule_identifier: proprietary-license_308.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_308.RULE matched_text: | Conexant grants permission to use and redistribute these firmware @@ -1208,16 +1304,19 @@ license_detections: of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. identifier: proprietary_license-1be66554-dd2d-def0-56ec-6b64fe8eeadd - license_expression: intel + license_expression_spdx: LicenseRef-scancode-intel matches: - - score: '100.0' + - license_expression: intel + spdx_license_expression: LicenseRef-scancode-intel + from_file: start_line: 876 end_line: 911 + matcher: 2-aho + score: '100.0' matched_length: 295 match_coverage: '100.0' - matcher: 2-aho - license_expression: intel - rule_identifier: intel.LICENSE rule_relevance: 100 + rule_identifier: intel.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/intel.LICENSE matched_text: | Redistribution. Redistribution and use in binary form, without diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-myricom.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-myricom.copyright-detailed.expected.yml index aeb7b3d163..290f4c8ba5 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-myricom.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-myricom.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: bsd-source-code + license_expression_spdx: BSD-Source-Code matches: - - score: '99.46' + - license_expression: bsd-source-code + spdx_license_expression: BSD-Source-Code + from_file: start_line: 7 end_line: 27 + matcher: 2-aho + score: '99.46' matched_length: 185 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-source-code - rule_identifier: bsd-source-code_8.RULE rule_relevance: 100 + rule_identifier: bsd-source-code_8.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-source-code_8.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-netronome.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-netronome.copyright-detailed.expected.yml index 00c60d6e94..4195aecdd0 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-netronome.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-netronome.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: netronome-firmware + license_expression_spdx: LicenseRef-scancode-netronome-firmware matches: - - score: '100.0' + - license_expression: netronome-firmware + spdx_license_expression: LicenseRef-scancode-netronome-firmware + from_file: start_line: 6 end_line: 68 + matcher: 2-aho + score: '100.0' matched_length: 545 match_coverage: '100.0' - matcher: 2-aho - license_expression: netronome-firmware - rule_identifier: netronome-firmware.LICENSE rule_relevance: 100 + rule_identifier: netronome-firmware.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/netronome-firmware.LICENSE matched_text: | Agilio(r) Firmware License Agreement (the "AGREEMENT") diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-netxen.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-netxen.copyright-detailed.expected.yml index 7e525c09c5..796442203c 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-netxen.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-netxen.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: qlogic-firmware + license_expression_spdx: LicenseRef-scancode-qlogic-firmware matches: - - score: '100.0' + - license_expression: qlogic-firmware + spdx_license_expression: LicenseRef-scancode-qlogic-firmware + from_file: start_line: 7 end_line: 34 + matcher: 2-aho + score: '100.0' matched_length: 262 match_coverage: '100.0' - matcher: 2-aho - license_expression: qlogic-firmware - rule_identifier: qlogic-firmware.LICENSE rule_relevance: 100 + rule_identifier: qlogic-firmware.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/qlogic-firmware.LICENSE matched_text: "Redistribution and use in binary form, without modification, for use\ \ in conjunction\nwith QLogic authorized products is permitted provided that the following\ diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-qcom-media.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-qcom-media.copyright-detailed.expected.yml index c5d93c386d..d583474998 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-qcom-media.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-qcom-media.copyright-detailed.expected.yml @@ -14,16 +14,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: qti-linux-firmware + license_expression_spdx: LicenseRef-scancode-qti-linux-firmware matches: - - score: '100.0' + - license_expression: qti-linux-firmware + spdx_license_expression: LicenseRef-scancode-qti-linux-firmware + from_file: start_line: 6 end_line: 211 + matcher: 2-aho + score: '100.0' matched_length: 2208 match_coverage: '100.0' - matcher: 2-aho - license_expression: qti-linux-firmware - rule_identifier: qti-linux-firmware.LICENSE rule_relevance: 100 + rule_identifier: qti-linux-firmware.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/qti-linux-firmware.LICENSE matched_text: | PLEASE READ THIS LICENSE AGREEMENT ("AGREEMENT") CAREFULLY. THIS AGREEMENT IS @@ -234,16 +237,19 @@ license_detections: in English. identifier: qti_linux_firmware-8701f5f2-a72d-3e30-4c18-4411e2990f20 - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '44.44' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 231 end_line: 234 + matcher: 3-seq + score: '44.44' matched_length: 32 match_coverage: '100.0' - matcher: 3-seq - license_expression: proprietary-license - rule_identifier: proprietary-license_557.RULE rule_relevance: 50 + rule_identifier: proprietary-license_557.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_557.RULE matched_text: | is a trademark of Qualcomm Incorporated, registered in the @@ -252,16 +258,19 @@ license_detections: trademarks of their respective owners. identifier: proprietary_license-39b63884-7ff2-74b4-3a45-5a2b9738007e - license_expression: openssl-ssleay + license_expression_spdx: OpenSSL matches: - - score: '100.0' + - license_expression: openssl-ssleay + spdx_license_expression: OpenSSL + from_file: start_line: 240 end_line: 244 + matcher: 2-aho + score: '100.0' matched_length: 56 match_coverage: '100.0' - matcher: 2-aho - license_expression: openssl-ssleay - rule_identifier: openssl-ssleay_43.RULE rule_relevance: 100 + rule_identifier: openssl-ssleay_43.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/openssl-ssleay_43.RULE matched_text: | The OpenSSL toolkit stays under a dual license, i.e. both the conditions of @@ -269,29 +278,34 @@ license_detections: See below for the actual license texts. Actually both licenses are BSD-style Open Source licenses. In case of any license issues related to OpenSSL please contact openssl-core@openssl.org. - - score: '100.0' + - license_expression: openssl-ssleay + spdx_license_expression: OpenSSL + from_file: start_line: 246 end_line: 246 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: openssl-ssleay - rule_identifier: openssl-ssleay_2.RULE rule_relevance: 100 + rule_identifier: openssl-ssleay_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/openssl-ssleay_2.RULE matched_text: OpenSSL License identifier: openssl_ssleay-cbfdb9fc-932d-b226-10aa-6aeea27f1ff9 - license_expression: openssl + license_expression_spdx: LicenseRef-scancode-openssl matches: - - score: '100.0' + - license_expression: openssl + spdx_license_expression: LicenseRef-scancode-openssl + from_file: start_line: 252 end_line: 299 + matcher: 2-aho + score: '100.0' matched_length: 332 match_coverage: '100.0' - matcher: 2-aho - license_expression: openssl - rule_identifier: openssl_1.RULE rule_relevance: 100 + rule_identifier: openssl_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/openssl_1.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -344,16 +358,19 @@ license_detections: * Hudson (tjh@cryptsoft.com). identifier: openssl-e1da0b01-fab9-e27d-4ff3-c4944b09b621 - license_expression: ssleay-windows + license_expression_spdx: LicenseRef-scancode-ssleay-windows matches: - - score: '100.0' + - license_expression: ssleay-windows + spdx_license_expression: LicenseRef-scancode-ssleay-windows + from_file: start_line: 309 end_line: 360 + matcher: 2-aho + score: '100.0' matched_length: 453 match_coverage: '100.0' - matcher: 2-aho - license_expression: ssleay-windows - rule_identifier: ssleay-windows.LICENSE rule_relevance: 100 + rule_identifier: ssleay-windows.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ssleay-windows.LICENSE matched_text: | This package is an SSL implementation written @@ -410,30 +427,36 @@ license_detections: * [including the GNU Public Licence.] identifier: ssleay_windows-d3dabc12-d861-87db-b339-f73beba8703a - license_expression: zlib + license_expression_spdx: Zlib matches: - - score: '100.0' + - license_expression: zlib + spdx_license_expression: Zlib + from_file: start_line: 371 end_line: 371 + matcher: 2-aho + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 2-aho - license_expression: zlib - rule_identifier: zlib_5.RULE rule_relevance: 100 + rule_identifier: zlib_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE matched_text: For conditions of distribution and use, see copyright notice in zlib.h identifier: zlib-27de81f4-f6ce-2bf5-ab37-9a4c71f4b296 - license_expression: zlib + license_expression_spdx: Zlib matches: - - score: '100.0' + - license_expression: zlib + spdx_license_expression: Zlib + from_file: start_line: 380 end_line: 396 + matcher: 2-aho + score: '100.0' matched_length: 144 match_coverage: '100.0' - matcher: 2-aho - license_expression: zlib - rule_identifier: zlib_17.RULE rule_relevance: 100 + rule_identifier: zlib_17.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE matched_text: | This software is provided 'as-is', without any express or implied @@ -455,16 +478,19 @@ license_detections: jloup@gzip.org madler@alumni.caltech.edu identifier: zlib-b04102d0-a663-78b5-de18-9677ee48ce9c - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 413 end_line: 415 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_303.RULE rule_relevance: 100 + rule_identifier: public-domain_303.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_303.RULE matched_text: | This code was @@ -472,16 +498,19 @@ license_detections: * This code is in the public domain; do with it what you wish. identifier: public_domain-12604376-43c0-ec4b-0941-067570a4db40 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 439 end_line: 461 + matcher: 2-aho + score: '100.0' matched_length: 217 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_68.RULE rule_relevance: 100 + rule_identifier: bsd-new_68.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_68.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -509,32 +538,38 @@ license_detections: * SUCH DAMAGE. identifier: bsd_new-50d3a78f-7a51-9673-b9f5-74ef398f2d8a - license_expression: gary-s-brown + license_expression_spdx: LicenseRef-scancode-gary-s-brown matches: - - score: '100.0' + - license_expression: gary-s-brown + spdx_license_expression: LicenseRef-scancode-gary-s-brown + from_file: start_line: 469 end_line: 470 + matcher: 2-aho + score: '100.0' matched_length: 16 match_coverage: '100.0' - matcher: 2-aho - license_expression: gary-s-brown - rule_identifier: gary-s-brown.LICENSE rule_relevance: 100 + rule_identifier: gary-s-brown.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/gary-s-brown.LICENSE matched_text: | You may use this program, or * code or tables extracted from it, as desired without restriction. identifier: gary_s_brown-00cc5fb9-1775-705c-7cef-d16939c33621 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 514 end_line: 519 + matcher: 2-aho + score: '100.0' matched_length: 74 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_105.RULE rule_relevance: 100 + rule_identifier: other-permissive_105.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_105.RULE matched_text: | I retain copyright in this code but I encourage its free use provided @@ -545,16 +580,19 @@ license_detections: about the use to which it is being put. identifier: other_permissive-5ebac279-7f15-6158-1df3-0e743aaf1c03 - license_expression: public-domain-disclaimer + license_expression_spdx: LicenseRef-scancode-public-domain-disclaimer matches: - - score: '100.0' + - license_expression: public-domain-disclaimer + spdx_license_expression: LicenseRef-scancode-public-domain-disclaimer + from_file: start_line: 531 end_line: 539 + matcher: 2-aho + score: '100.0' matched_length: 85 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain-disclaimer - rule_identifier: public-domain-disclaimer_70.RULE rule_relevance: 100 + rule_identifier: public-domain-disclaimer_70.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain-disclaimer_70.RULE matched_text: | Please do not copyright this code. This code is in the public domain. @@ -568,16 +606,19 @@ license_detections: * PERFORMANCE OF THIS SOFTWARE. identifier: public_domain_disclaimer-fa151bee-d99d-f52f-7925-7ae1521f383d - license_expression: public-domain-disclaimer + license_expression_spdx: LicenseRef-scancode-public-domain-disclaimer matches: - - score: '100.0' + - license_expression: public-domain-disclaimer + spdx_license_expression: LicenseRef-scancode-public-domain-disclaimer + from_file: start_line: 549 end_line: 564 + matcher: 2-aho + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain-disclaimer - rule_identifier: public-domain-disclaimer_67.RULE rule_relevance: 100 + rule_identifier: public-domain-disclaimer_67.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain-disclaimer_67.RULE matched_text: | NO COPYRIGHT - THIS IS 100% IN THE PUBLIC DOMAIN @@ -598,16 +639,19 @@ license_detections: * SUCH DAMAGE. identifier: public_domain_disclaimer-304a8b05-ebaa-92f9-0e58-56b7d2029950 - license_expression: gpl-2.0 OR bsd-new + license_expression_spdx: GPL-2.0-only OR BSD-3-Clause matches: - - score: '100.0' + - license_expression: gpl-2.0 OR bsd-new + spdx_license_expression: GPL-2.0-only OR BSD-3-Clause + from_file: start_line: 580 end_line: 587 + matcher: 2-aho + score: '100.0' matched_length: 50 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 OR bsd-new - rule_identifier: gpl-2.0_or_bsd-new_aes_1.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_or_bsd-new_aes_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_or_bsd-new_aes_1.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -620,16 +664,19 @@ license_detections: * See README and COPYING for more details. identifier: gpl_2_0_or_bsd_new-1aafbf52-fc7a-3ded-e4ce-3a96e276a0f9 - license_expression: gpl-2.0 OR bsd-new + license_expression_spdx: GPL-2.0-only OR BSD-3-Clause matches: - - score: '100.0' + - license_expression: gpl-2.0 OR bsd-new + spdx_license_expression: GPL-2.0-only OR BSD-3-Clause + from_file: start_line: 594 end_line: 601 + matcher: 2-aho + score: '100.0' matched_length: 50 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 OR bsd-new - rule_identifier: gpl-2.0_or_bsd-new_aes_1.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_or_bsd-new_aes_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_or_bsd-new_aes_1.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -642,16 +689,19 @@ license_detections: * See README and COPYING for more details. identifier: gpl_2_0_or_bsd_new-1aafbf52-fc7a-3ded-e4ce-3a96e276a0f9 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 613 end_line: 635 + matcher: 2-aho + score: '100.0' matched_length: 215 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_1040.RULE rule_relevance: 100 + rule_identifier: bsd-new_1040.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1040.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -679,16 +729,19 @@ license_detections: * SUCH DAMAGE. identifier: bsd_new-debd6b28-1beb-61ff-558f-6ce629c42bd4 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 646 end_line: 668 + matcher: 2-aho + score: '100.0' matched_length: 215 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_1209.RULE rule_relevance: 100 + rule_identifier: bsd-new_1209.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1209.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -716,16 +769,19 @@ license_detections: * SUCH DAMAGE. identifier: bsd_new-79cb4d03-8935-6bd7-7fdf-7c3d7bb6581f - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 677 end_line: 697 + matcher: 2-aho + score: '100.0' matched_length: 200 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_76.RULE rule_relevance: 100 + rule_identifier: bsd-new_76.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_76.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -751,16 +807,19 @@ license_detections: * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-8253b828-e3cb-c484-e1ba-cfca208b3bf2 - license_expression: isc + license_expression_spdx: ISC matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 705 end_line: 715 + matcher: 2-aho + score: '100.0' matched_length: 111 match_coverage: '100.0' - matcher: 2-aho - license_expression: isc - rule_identifier: isc_14.RULE rule_relevance: 100 + rule_identifier: isc_14.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_14.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-qlogic.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-qlogic.copyright-detailed.expected.yml index 93c2ab5f85..ece97531fb 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-qlogic.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-qlogic.copyright-detailed.expected.yml @@ -13,16 +13,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 9 end_line: 28 + matcher: 1-hash + score: '100.0' matched_length: '199' match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_1070.RULE rule_relevance: 100 + rule_identifier: bsd-new_1070.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1070.RULE matched_text: | Redistribution and use in source and binary forms are permitted provided @@ -47,16 +50,19 @@ license_detections: THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-3fdabc09-7d33-9955-9b42-64e45eab4535 - license_expression: linux-openib + license_expression_spdx: Linux-OpenIB matches: - - score: '100.0' + - license_expression: linux-openib + spdx_license_expression: Linux-OpenIB + from_file: start_line: 35 end_line: 55 + matcher: 2-aho + score: '100.0' matched_length: 143 match_coverage: '100.0' - matcher: 2-aho - license_expression: linux-openib - rule_identifier: linux-openib.LICENSE rule_relevance: 100 + rule_identifier: linux-openib.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/linux-openib.LICENSE matched_text: | Redistribution and use in source and binary forms, with or @@ -82,16 +88,19 @@ license_detections: SOFTWARE. identifier: linux_openib-5cc86e85-b634-0fcb-8ddc-4ddbb0522a54 - license_expression: qlogic-microcode + license_expression_spdx: LicenseRef-scancode-qlogic-microcode matches: - - score: '100.0' + - license_expression: qlogic-microcode + spdx_license_expression: LicenseRef-scancode-qlogic-microcode + from_file: start_line: 61 end_line: 96 + matcher: 1-hash + score: '100.0' matched_length: 260 match_coverage: '100.0' - matcher: 1-hash - license_expression: qlogic-microcode - rule_identifier: qlogic-microcode.LICENSE rule_relevance: 100 + rule_identifier: qlogic-microcode.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/qlogic-microcode.LICENSE matched_text: | You may redistribute the hardware specific firmware binary file @@ -132,30 +141,35 @@ license_detections: COMBINATION WITH THIS PROGRAM. identifier: qlogic_microcode-dc001f04-531b-99f7-2248-d734ca5030f2 - license_expression: other-permissive AND proprietary-license + license_expression_spdx: LicenseRef-scancode-other-permissive AND LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 102 end_line: 104 + matcher: 2-aho + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_66.RULE rule_relevance: 100 + rule_identifier: other-permissive_66.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_66.RULE matched_text: | Permission is hereby granted for the distribution of this firmware data in hexadecimal or equivalent format, provided this copyright notice is accompanying it. - - score: '97.33' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 106 end_line: 112 + matcher: 3-seq + score: '97.33' matched_length: 73 match_coverage: '100.0' - matcher: 3-seq - license_expression: proprietary-license - rule_identifier: proprietary-license_310.RULE rule_relevance: 100 + rule_identifier: proprietary-license_310.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_310.RULE matched_text: | grants permission to use and redistribute these firmware files @@ -167,16 +181,19 @@ license_detections: of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. identifier: other_permissive_and_proprietary_license-697a2b44-6955-8abd-ac33-75afd7dab11e - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 117 end_line: 119 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: other-permissive - rule_identifier: other-permissive_66.RULE rule_relevance: 100 + rule_identifier: other-permissive_66.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_66.RULE matched_text: | Permission is hereby granted for the distribution of this firmware data diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-ralink.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-ralink.copyright-detailed.expected.yml index 95cac4ff9a..daaded87d2 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-ralink.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-ralink.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0-plus AND gpl-2.0 + license_expression_spdx: GPL-2.0-or-later AND GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 6 end_line: 20 + matcher: 2-aho + score: '100.0' matched_length: 114 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_68.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_68.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_68.RULE matched_text: | License: @@ -32,15 +35,17 @@ license_detections: You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 22 end_line: 23 + matcher: 2-aho + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1120.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1120.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1120.RULE matched_text: | On Debian systems, the complete text of the GNU General diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-realtek.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-realtek.copyright-detailed.expected.yml index ad4fedc6c8..05bf4eb59a 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-realtek.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-realtek.copyright-detailed.expected.yml @@ -7,16 +7,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 9 end_line: 11 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: other-permissive - rule_identifier: other-permissive_66.RULE rule_relevance: 100 + rule_identifier: other-permissive_66.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_66.RULE matched_text: | Permission is hereby granted for the distribution of this firmware @@ -24,16 +27,19 @@ license_detections: notice is accompanying it. identifier: other_permissive-16dc1659-320f-55c9-0ddb-4d46c5526cbb - license_expression: intel + license_expression_spdx: LicenseRef-scancode-intel matches: - - score: '93.72' + - license_expression: intel + spdx_license_expression: LicenseRef-scancode-intel + from_file: start_line: 18 end_line: 53 + matcher: 3-seq + score: '93.72' matched_length: 293 match_coverage: '100.0' - matcher: 3-seq - license_expression: intel - rule_identifier: intel_1.RULE rule_relevance: 95 + rule_identifier: intel_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/intel_1.RULE matched_text: | Redistribution. Redistribution and use in binary form, without diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-samsung.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-samsung.copyright-detailed.expected.yml index e7a7727755..2e559cc954 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-samsung.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-samsung.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 6 end_line: 13 + matcher: 2-aho + score: '100.0' matched_length: 77 match_coverage: '100.0' - matcher: 2-aho - license_expression: proprietary-license - rule_identifier: proprietary-license_307.RULE rule_relevance: 100 + rule_identifier: proprietary-license_307.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_307.RULE matched_text: | Samsung grants permission to use and redistribute aforementioned firmware diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-siano.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-siano.copyright-detailed.expected.yml index 1ee3311a61..21eb5eec93 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-siano.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-siano.copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '97.98' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 9 end_line: 34 + matcher: 3-seq + score: '97.98' matched_length: '194' match_coverage: '100.0' - matcher: 3-seq - license_expression: bsd-new - rule_identifier: bsd-new_1006.RULE rule_relevance: 100 + rule_identifier: bsd-new_1006.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1006.RULE matched_text: | Redistribution. Redistribution and use in binary form, without diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-ti-connectivity.copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-ti-connectivity.copyright-detailed.expected.yml index a6cab6541f..8312e83203 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-ti-connectivity.copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/f/firmware-nonfree/stable_firmware-ti-connectivity.copyright-detailed.expected.yml @@ -6,16 +6,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 9 end_line: 65 + matcher: 1-hash + score: '100.0' matched_length: 436 match_coverage: '100.0' - matcher: 1-hash - license_expression: proprietary-license - rule_identifier: proprietary-license_556.RULE rule_relevance: 100 + rule_identifier: proprietary-license_556.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_556.RULE matched_text: "All rights reserved not granted herein.\n\nLimited License.\n\nTexas\ \ Instruments Incorporated grants a world-wide, royalty-free, non-exclusive\nlicense\ diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org-mongos/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org-mongos/copyright-detailed.expected.yml index 95a591642e..3303753210 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org-mongos/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org-mongos/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: mongodb-sspl-1.0 + license_expression_spdx: SSPL-1.0 matches: - - score: '100.0' + - license_expression: mongodb-sspl-1.0 + spdx_license_expression: SSPL-1.0 + from_file: start_line: 18 end_line: 23 + matcher: 2-aho + score: '100.0' matched_length: 28 match_coverage: '100.0' - matcher: 2-aho - license_expression: mongodb-sspl-1.0 - rule_identifier: mongodb-sspl-1.0_9.RULE rule_relevance: 100 + rule_identifier: mongodb-sspl-1.0_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mongodb-sspl-1.0_9.RULE matched_text: | License: diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org-server/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org-server/copyright-detailed.expected.yml index 95a591642e..3303753210 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org-server/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org-server/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: mongodb-sspl-1.0 + license_expression_spdx: SSPL-1.0 matches: - - score: '100.0' + - license_expression: mongodb-sspl-1.0 + spdx_license_expression: SSPL-1.0 + from_file: start_line: 18 end_line: 23 + matcher: 2-aho + score: '100.0' matched_length: 28 match_coverage: '100.0' - matcher: 2-aho - license_expression: mongodb-sspl-1.0 - rule_identifier: mongodb-sspl-1.0_9.RULE rule_relevance: 100 + rule_identifier: mongodb-sspl-1.0_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mongodb-sspl-1.0_9.RULE matched_text: | License: diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org-shell/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org-shell/copyright-detailed.expected.yml index 95a591642e..3303753210 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org-shell/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org-shell/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: mongodb-sspl-1.0 + license_expression_spdx: SSPL-1.0 matches: - - score: '100.0' + - license_expression: mongodb-sspl-1.0 + spdx_license_expression: SSPL-1.0 + from_file: start_line: 18 end_line: 23 + matcher: 2-aho + score: '100.0' matched_length: 28 match_coverage: '100.0' - matcher: 2-aho - license_expression: mongodb-sspl-1.0 - rule_identifier: mongodb-sspl-1.0_9.RULE rule_relevance: 100 + rule_identifier: mongodb-sspl-1.0_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mongodb-sspl-1.0_9.RULE matched_text: | License: diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org-tools/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org-tools/copyright-detailed.expected.yml index 95a591642e..3303753210 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org-tools/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org-tools/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: mongodb-sspl-1.0 + license_expression_spdx: SSPL-1.0 matches: - - score: '100.0' + - license_expression: mongodb-sspl-1.0 + spdx_license_expression: SSPL-1.0 + from_file: start_line: 18 end_line: 23 + matcher: 2-aho + score: '100.0' matched_length: 28 match_coverage: '100.0' - matcher: 2-aho - license_expression: mongodb-sspl-1.0 - rule_identifier: mongodb-sspl-1.0_9.RULE rule_relevance: 100 + rule_identifier: mongodb-sspl-1.0_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mongodb-sspl-1.0_9.RULE matched_text: | License: diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org/copyright-detailed.expected.yml index 95a591642e..3303753210 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/mongodb-org/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: mongodb-sspl-1.0 + license_expression_spdx: SSPL-1.0 matches: - - score: '100.0' + - license_expression: mongodb-sspl-1.0 + spdx_license_expression: SSPL-1.0 + from_file: start_line: 18 end_line: 23 + matcher: 2-aho + score: '100.0' matched_length: 28 match_coverage: '100.0' - matcher: 2-aho - license_expression: mongodb-sspl-1.0 - rule_identifier: mongodb-sspl-1.0_9.RULE rule_relevance: 100 + rule_identifier: mongodb-sspl-1.0_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mongodb-sspl-1.0_9.RULE matched_text: | License: diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/r/raspi3-firmware/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/r/raspi3-firmware/stable_copyright-detailed.expected.yml index fb87d51d87..fd724b31be 100644 --- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/r/raspi3-firmware/stable_copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/non-free/r/raspi3-firmware/stable_copyright-detailed.expected.yml @@ -10,16 +10,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 21 end_line: 45 + matcher: 2-aho + score: '100.0' matched_length: 203 match_coverage: '100.0' - matcher: 2-aho - license_expression: proprietary-license - rule_identifier: proprietary-license_600.RULE rule_relevance: 100 + rule_identifier: proprietary-license_600.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_600.RULE matched_text: | Redistribution. Redistribution and use in binary form, without @@ -49,16 +52,19 @@ license_detections: DAMAGE. identifier: proprietary_license-f62990af-76c7-140e-c98a-c964711a4db6 - license_expression: broadcom-proprietary + license_expression_spdx: LicenseRef-scancode-broadcom-proprietary matches: - - score: '100.0' + - license_expression: broadcom-proprietary + spdx_license_expression: LicenseRef-scancode-broadcom-proprietary + from_file: start_line: 51 end_line: 254 + matcher: 1-hash + score: '100.0' matched_length: 1770 match_coverage: '100.0' - matcher: 1-hash - license_expression: broadcom-proprietary - rule_identifier: broadcom-proprietary_1.RULE rule_relevance: 100 + rule_identifier: broadcom-proprietary_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/broadcom-proprietary_1.RULE matched_text: "SOFTWARE LICENSE AGREEMENT\n\nUnless you and Broadcom Corporation (“Broadcom”)\ \ execute a separate written\nsoftware license agreement governing use of the accompanying\ @@ -202,27 +208,32 @@ license_detections: \ of the parties in\nwriting." identifier: broadcom_proprietary-8e7d81ee-b774-62b0-887f-2a2771ec256f - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 260 end_line: 260 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 261 end_line: 275 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_846.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_846.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_846.RULE matched_text: | This package is free software; you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-misc/usr/share/doc/zlib1g/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-misc/usr/share/doc/zlib1g/copyright-detailed.expected.yml index 6ff8b99ca5..b1ff22e729 100644 --- a/tests/packagedcode/data/debian/copyright/debian-misc/usr/share/doc/zlib1g/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-misc/usr/share/doc/zlib1g/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: zlib + license_expression_spdx: Zlib matches: - - score: '100.0' + - license_expression: zlib + spdx_license_expression: Zlib + from_file: start_line: 42 end_line: 59 + matcher: 2-aho + score: '100.0' matched_length: 144 match_coverage: '100.0' - matcher: 2-aho - license_expression: zlib - rule_identifier: zlib_17.RULE rule_relevance: 100 + rule_identifier: zlib_17.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE matched_text: | This software is provided 'as-is', without any express or implied diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/adduser/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/adduser/copyright-detailed.expected.yml index c7ff6a9e04..b24722e725 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/adduser/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/adduser/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 28 end_line: 47 + matcher: 2-aho + score: '100.0' matched_length: 143 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_811.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_811.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_811.RULE matched_text: | and is diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/apt/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/apt/copyright-detailed.expected.yml index b2036b32a4..7928466259 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/apt/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/apt/copyright-detailed.expected.yml @@ -5,27 +5,32 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 4 end_line: 4 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_374.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_374.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_374.RULE matched_text: 'License: GPLv2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 6 end_line: 22 + matcher: 2-aho + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_736.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_736.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_736.RULE matched_text: | This program is free software; you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/base-files/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/base-files/copyright-detailed.expected.yml index 87ba570221..f9e07ad0b0 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/base-files/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/base-files/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 17 end_line: 28 + matcher: 2-aho + score: '100.0' matched_length: 102 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_862.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_862.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_862.RULE matched_text: | This program is free software; you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/base-passwd/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/base-passwd/copyright-detailed.expected.yml index 2e04ccd95e..13798ea924 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/base-passwd/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/base-passwd/copyright-detailed.expected.yml @@ -11,43 +11,51 @@ other_license_expression_spdx: (GPL-2.0-only AND GPL-2.0-only) AND LicenseRef-sc license_detections: [] other_license_detections: - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 23 end_line: 23 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 24 end_line: 25 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1188.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1188.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1188.RULE matched_text: | On Debian and Debian-based systems, a copy of the GNU General Public License version 2 is available in /usr/share/common-licenses/GPL-2. identifier: gpl_2_0-3c00a491-4933-3121-b9bf-74ca28cddcfe - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '99.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 13 end_line: 13 + matcher: 1-hash + score: '99.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: pypi_public_domain.RULE rule_relevance: 99 + rule_identifier: pypi_public_domain.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_public_domain.RULE matched_text: 'License: public-domain' identifier: public_domain-1a6a4f2c-bd92-9942-920f-be3d0c2bbda6 diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/bash/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/bash/copyright-detailed.expected.yml index e671c87c01..47b2c1bfba 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/bash/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/bash/copyright-detailed.expected.yml @@ -10,16 +10,20 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-3.0-plus AND bash-exception-gpl AND gpl-1.0-plus + license_expression_spdx: GPL-3.0-or-later AND LicenseRef-scancode-bash-exception-gpl-2.0 + AND GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 13 end_line: 26 + matcher: 2-aho + score: '100.0' matched_length: 118 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_289.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_289.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_289.RULE matched_text: | Bash is free software; you can redistribute it and/or modify it under @@ -36,15 +40,17 @@ license_detections: along with Bash. If not, see . On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-3'. - - score: '100.0' + - license_expression: bash-exception-gpl + spdx_license_expression: LicenseRef-scancode-bash-exception-gpl-2.0 + from_file: start_line: 28 end_line: 34 + matcher: 2-aho + score: '100.0' matched_length: 78 match_coverage: '100.0' - matcher: 2-aho - license_expression: bash-exception-gpl - rule_identifier: bash-exception-gpl.LICENSE rule_relevance: 100 + rule_identifier: bash-exception-gpl.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bash-exception-gpl.LICENSE matched_text: | The Free Software Foundation has exempted Bash from the requirement of @@ -54,29 +60,34 @@ license_detections: and standards expect shells not to print such messages. This exception applies to any program that serves as a shell and that is based primarily on Bash as opposed to other GNU software. - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 37 end_line: 37 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus - rule_identifier: gpl_72.RULE rule_relevance: 100 + rule_identifier: gpl_72.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_72.RULE matched_text: License GPL identifier: gpl_3_0_plus_and_bash_exception_gpl_and_gpl_1_0_plus-97ecff07-b029-2b9f-7d04-2b0e02ccce04 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 44 end_line: 48 + matcher: 2-aho + score: '100.0' matched_length: 45 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_207.RULE rule_relevance: 100 + rule_identifier: other-permissive_207.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_207.RULE matched_text: | Permission is hereby granted, without written agreement and @@ -86,16 +97,19 @@ license_detections: contents of this document remain unaltered. identifier: other_permissive-60c74a7c-6092-8de0-c193-49a4fe912e05 - license_expression: gfdl-1.3-plus + license_expression_spdx: GFDL-1.3-or-later matches: - - score: '100.0' + - license_expression: gfdl-1.3-plus + spdx_license_expression: GFDL-1.3-or-later + from_file: start_line: 55 end_line: 64 + matcher: 2-aho + score: '100.0' matched_length: 85 match_coverage: '100.0' - matcher: 2-aho - license_expression: gfdl-1.3-plus - rule_identifier: gfdl-1.3-plus_22.RULE rule_relevance: 100 + rule_identifier: gfdl-1.3-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gfdl-1.3-plus_22.RULE matched_text: | Permission is granted to make and distribute verbatim copies of @@ -110,16 +124,19 @@ license_detections: ``GNU Free Documentation License''. identifier: gfdl_1_3_plus-0aeecc5a-f102-1cd4-f9a4-21a9fa22ea82 - license_expression: gfdl-1.3-plus + license_expression_spdx: GFDL-1.3-or-later matches: - - score: '100.0' + - license_expression: gfdl-1.3-plus + spdx_license_expression: GFDL-1.3-or-later + from_file: start_line: 71 end_line: 76 + matcher: 2-aho + score: '100.0' matched_length: 60 match_coverage: '100.0' - matcher: 2-aho - license_expression: gfdl-1.3-plus - rule_identifier: gfdl-1.3-plus.RULE rule_relevance: 100 + rule_identifier: gfdl-1.3-plus.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gfdl-1.3-plus.RULE matched_text: | Permission is granted to copy, distribute and/or modify this document @@ -130,30 +147,35 @@ license_detections: ``GNU Free Documentation License''. identifier: gfdl_1_3_plus-07dd7e9d-9df0-a5d7-2970-ca1db4485238 - license_expression: other-permissive AND latex2e + license_expression_spdx: LicenseRef-scancode-other-permissive AND Latex2e matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 82 end_line: 84 + matcher: 2-aho + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_206.RULE rule_relevance: 100 + rule_identifier: other-permissive_206.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_206.RULE matched_text: | Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice pare preserved on all copies. - - score: '99.0' + - license_expression: latex2e + spdx_license_expression: Latex2e + from_file: start_line: 86 end_line: 99 + matcher: 2-aho + score: '99.0' matched_length: 113 match_coverage: '100.0' - matcher: 2-aho - license_expression: latex2e - rule_identifier: latex2e_7.RULE rule_relevance: 99 + rule_identifier: latex2e_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/latex2e_7.RULE matched_text: | Permission is granted to process this file through TeX and print the @@ -172,16 +194,19 @@ license_detections: by the Foundation. identifier: other_permissive_and_latex2e-9bfec26a-a076-0444-9a14-c06a5cb3d5c9 - license_expression: latex2e + license_expression_spdx: Latex2e matches: - - score: '99.0' + - license_expression: latex2e + spdx_license_expression: Latex2e + from_file: start_line: 108 end_line: 124 + matcher: 2-aho + score: '99.0' matched_length: 137 match_coverage: '100.0' - matcher: 2-aho - license_expression: latex2e - rule_identifier: latex2e_3.RULE rule_relevance: 99 + rule_identifier: latex2e_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/latex2e_3.RULE matched_text: | Permission is granted to process this file through Tex and print the @@ -203,16 +228,19 @@ license_detections: into another language, under the above conditions for modified versions. identifier: latex2e-abecc49a-960b-cb0b-20f3-1234574e4447 - license_expression: gfdl-1.3-plus + license_expression_spdx: GFDL-1.3-or-later matches: - - score: '100.0' + - license_expression: gfdl-1.3-plus + spdx_license_expression: GFDL-1.3-or-later + from_file: start_line: 132 end_line: 137 + matcher: 2-aho + score: '100.0' matched_length: 60 match_coverage: '100.0' - matcher: 2-aho - license_expression: gfdl-1.3-plus - rule_identifier: gfdl-1.3-plus.RULE rule_relevance: 100 + rule_identifier: gfdl-1.3-plus.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gfdl-1.3-plus.RULE matched_text: | Permission is granted to copy, distribute and/or modify this document @@ -223,16 +251,19 @@ license_detections: ``GNU Free Documentation License''. identifier: gfdl_1_3_plus-07dd7e9d-9df0-a5d7-2970-ca1db4485238 - license_expression: latex2e + license_expression_spdx: Latex2e matches: - - score: '99.0' + - license_expression: latex2e + spdx_license_expression: Latex2e + from_file: start_line: 144 end_line: 160 + matcher: 2-aho + score: '99.0' matched_length: 137 match_coverage: '100.0' - matcher: 2-aho - license_expression: latex2e - rule_identifier: latex2e_2.RULE rule_relevance: 99 + rule_identifier: latex2e_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/latex2e_2.RULE matched_text: | Permission is granted to make and distribute verbatim copies of this manual @@ -254,16 +285,19 @@ license_detections: into another language, under the above conditions for modified versions. identifier: latex2e-6a890414-92fd-9f22-de3c-b47764d7b84e - license_expression: bsd-original-uc AND historical + license_expression_spdx: BSD-4-Clause-UC AND HPND matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 168 end_line: '194' + matcher: 2-aho + score: '100.0' matched_length: 243 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_3.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -293,15 +327,17 @@ license_detections: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - - score: '100.0' + - license_expression: historical + spdx_license_expression: HPND + from_file: start_line: '198' end_line: 212 + matcher: 2-aho + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 2-aho - license_expression: historical - rule_identifier: historical_10.RULE rule_relevance: 100 + rule_identifier: historical_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/historical_10.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -321,16 +357,19 @@ license_detections: * SOFTWARE. identifier: bsd_original_uc_and_historical-f1b25d95-5587-016c-88d1-a85a2079ce8f - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 220 end_line: 223 + matcher: 2-aho + score: '100.0' matched_length: 28 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_291.RULE rule_relevance: 100 + rule_identifier: other-permissive_291.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_291.RULE matched_text: | Permission is granted to distribute, modify and use this program as long diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/bsdutils/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/bsdutils/copyright-detailed.expected.yml index d7254b30df..bc7191dbd7 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/bsdutils/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/bsdutils/copyright-detailed.expected.yml @@ -72,43 +72,51 @@ other_license_expression_spdx: (GPL-2.0-or-later AND GPL-2.0-or-later) AND (GPL- license_detections: [] other_license_detections: - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 345 end_line: 346 + matcher: 2-aho + score: '100.0' matched_length: 17 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_28.RULE rule_relevance: 100 + rule_identifier: public-domain_28.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_28.RULE matched_text: | No copyright is claimed. This code is in the public domain; do with it what you wish. identifier: public_domain-94c09237-25b0-ab6d-340e-62eae2b7eea9 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 350 end_line: 350 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 351 end_line: 365 + matcher: 1-hash + score: '100.0' matched_length: 125 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1189.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1189.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1189.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -128,27 +136,32 @@ other_license_detections: License version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-f0da9233-5233-7bfb-cd4d-15c9cbd6a410 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 367 end_line: 367 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 368 end_line: 383 + matcher: 1-hash + score: '100.0' matched_length: 137 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_906.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_906.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_906.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -169,27 +182,32 @@ other_license_detections: License version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus-389a73cc-676e-ecc6-075d-3774a1be9778 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 385 end_line: 385 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 386 end_line: 400 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_416.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_416.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_416.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -209,16 +227,19 @@ other_license_detections: License version 3 can be found in `/usr/share/common-licenses/GPL-3'. identifier: gpl_3_0_plus-6dd38d39-ae32-a5a3-58aa-6d4f4a3f1cdb - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 403 end_line: 410 + matcher: 1-hash + score: '100.0' matched_length: 70 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified - rule_identifier: bsd-simplified_264.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_264.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_264.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -231,16 +252,19 @@ other_license_detections: documentation and/or other materials provided with the distribution. identifier: bsd_simplified-523bd88c-42d2-11cb-3886-60be795149d1 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 413 end_line: 437 + matcher: 1-hash + score: '100.0' matched_length: 215 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_1063.RULE rule_relevance: 100 + rule_identifier: bsd-new_1063.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1063.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -270,16 +294,19 @@ other_license_detections: POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-e6286cfc-fd40-08e1-ed33-3c2c1bad1f07 - license_expression: bsd-original-uc + license_expression_spdx: BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 440 end_line: 466 + matcher: 1-hash + score: '100.0' matched_length: 243 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_3.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -311,27 +338,32 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_original_uc-f28cb4d4-6336-ee60-f186-4c1929d3a4b0 - license_expression: lgpl-2.0-plus AND lgpl-2.1-plus + license_expression_spdx: LGPL-2.0-or-later AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 468 end_line: 468 + matcher: 1-hash + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_51.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_51.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_51.RULE matched_text: 'License: lgpl' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 469 end_line: 473 + matcher: 1-hash + score: '100.0' matched_length: 37 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_345.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_345.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_345.RULE matched_text: | This file may be redistributed under the terms of the @@ -341,27 +373,32 @@ other_license_detections: License can be found in ‘/usr/share/common-licenses/LGPL’. identifier: lgpl_2_0_plus_and_lgpl_2_1_plus-ee535b08-2e62-57ac-9b69-0ee8b03bde15 - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 475 end_line: 475 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_61.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_61.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_61.RULE matched_text: 'License: lgpl-2+' - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 476 end_line: 490 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_477.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_477.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_477.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -381,27 +418,32 @@ other_license_detections: can be found in /usr/share/common-licenses/LGPL-2 file. identifier: lgpl_2_0_plus-8aa1c724-4bbb-dbb4-937d-77e7ac7027fe - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 492 end_line: 492 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 493 end_line: 508 + matcher: 1-hash + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_344.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_344.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_344.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -422,27 +464,32 @@ other_license_detections: License version 2.1 can be found in ‘/usr/share/common-licenses/LGPL-2.1’. identifier: lgpl_2_1_plus-920f52f3-7de9-6f8b-d6c2-998167ded0bd - license_expression: lgpl-3.0-plus + license_expression_spdx: LGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 510 end_line: 510 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_166.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE matched_text: 'License: lgpl-3+' - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 511 end_line: 525 + matcher: 1-hash + score: '100.0' matched_length: 127 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_206.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_206.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_206.RULE matched_text: | This package is free software; you can redistribute it and/or @@ -462,16 +509,19 @@ other_license_detections: Public License can be found in "/usr/share/common-licenses/LGPL-3". identifier: lgpl_3_0_plus-65e3f8ed-4734-2985-77a5-8c1ebf21d5a1 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 528 end_line: 546 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/coreutils/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/coreutils/copyright-detailed.expected.yml index 3ac8842261..fe9ea8e985 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/coreutils/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/coreutils/copyright-detailed.expected.yml @@ -9,16 +9,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '81.1' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 22 end_line: 41 + matcher: 3-seq + score: '81.1' matched_length: 103 match_coverage: '81.1' - matcher: 3-seq - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_487.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_487.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_487.RULE matched_text: | License @@ -43,16 +46,19 @@ license_detections: along with this program. If not, see . */ identifier: gpl_3_0_plus-58ef5a2f-7e40-62ff-7783-d9d46c47ccfd - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 47 end_line: 69 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_42.RULE rule_relevance: 100 + rule_identifier: bsd-new_42.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_42.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -80,16 +86,19 @@ license_detections: * SUCH DAMAGE. identifier: bsd_new-fe71ef21-9657-e8d8-ad75-ddd776ac9710 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 78 end_line: 89 + matcher: 2-aho + score: '100.0' matched_length: 102 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_290.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_290.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_290.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -106,16 +115,19 @@ license_detections: along with this program. If not, see . */ identifier: gpl_3_0_plus-494d0068-7138-a14f-4cbb-fd2137263a4f - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 95 end_line: 117 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_42.RULE rule_relevance: 100 + rule_identifier: bsd-new_42.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_42.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -143,16 +155,19 @@ license_detections: * SUCH DAMAGE. identifier: bsd_new-fe71ef21-9657-e8d8-ad75-ddd776ac9710 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 126 end_line: 137 + matcher: 2-aho + score: '100.0' matched_length: 102 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_290.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_290.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_290.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -169,16 +184,19 @@ license_detections: along with this program. If not, see . identifier: gpl_3_0_plus-494d0068-7138-a14f-4cbb-fd2137263a4f - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 145 end_line: 157 + matcher: 2-aho + score: '100.0' matched_length: 110 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_4.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_4.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -196,16 +214,19 @@ license_detections: Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ identifier: gpl_3_0_plus-3bfa9c99-47df-a325-9340-4a339cab8cf7 - license_expression: isc + license_expression_spdx: ISC matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 162 end_line: 173 + matcher: 2-aho + score: '100.0' matched_length: 113 match_coverage: '100.0' - matcher: 2-aho - license_expression: isc - rule_identifier: isc_9.RULE rule_relevance: 100 + rule_identifier: isc_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_9.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -222,16 +243,19 @@ license_detections: * SOFTWARE. identifier: isc-fbf6f8d8-a949-0427-62b2-aef52fe84e71 - license_expression: fsf-unlimited + license_expression_spdx: FSFULLR matches: - - score: '100.0' + - license_expression: fsf-unlimited + spdx_license_expression: FSFULLR + from_file: start_line: 180 end_line: 182 + matcher: 2-aho + score: '100.0' matched_length: 29 match_coverage: '100.0' - matcher: 2-aho - license_expression: fsf-unlimited - rule_identifier: fsf-unlimited.LICENSE rule_relevance: 100 + rule_identifier: fsf-unlimited.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-unlimited.LICENSE matched_text: | This file is free software; the Free Software Foundation @@ -239,16 +263,19 @@ license_detections: dnl with or without modifications, as long as this notice is preserved. identifier: fsf_unlimited-8da7bfd8-1c00-9b33-a4c5-6170a19ffb0f - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '75.18' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: '193' end_line: 214 + matcher: 3-seq + score: '75.18' matched_length: 106 match_coverage: '75.18' - matcher: 3-seq - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_286.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_286.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_286.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -273,15 +300,17 @@ license_detections: This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 213 end_line: 224 + matcher: 2-aho + score: '100.0' matched_length: 102 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_290.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_290.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_290.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -298,16 +327,19 @@ license_detections: along with this program. If not, see . */ identifier: gpl_3_0_plus-0da3ef65-99de-5ae9-77c7-870876e764cf - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 233 end_line: 244 + matcher: 2-aho + score: '100.0' matched_length: 102 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_290.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_290.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_290.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -324,16 +356,19 @@ license_detections: along with this program. If not, see . */ identifier: gpl_3_0_plus-494d0068-7138-a14f-4cbb-fd2137263a4f - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 253 end_line: 264 + matcher: 2-aho + score: '100.0' matched_length: 102 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_290.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_290.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_290.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -350,16 +385,19 @@ license_detections: along with this program. If not, see . identifier: gpl_3_0_plus-494d0068-7138-a14f-4cbb-fd2137263a4f - license_expression: gfdl-1.2-plus + license_expression_spdx: GFDL-1.2-or-later matches: - - score: '100.0' + - license_expression: gfdl-1.2-plus + spdx_license_expression: GFDL-1.2-or-later + from_file: start_line: 272 end_line: 277 + matcher: 2-aho + score: '100.0' matched_length: 62 match_coverage: '100.0' - matcher: 2-aho - license_expression: gfdl-1.2-plus - rule_identifier: gfdl-1.2-plus.RULE rule_relevance: 100 + rule_identifier: gfdl-1.2-plus.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gfdl-1.2-plus.RULE matched_text: | Permission is granted to copy, distribute and/or modify this document @@ -370,16 +408,19 @@ license_detections: Free Documentation License''. identifier: gfdl_1_2_plus-861db719-73be-b056-b95c-1a4494feed0b - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 285 end_line: 299 + matcher: 2-aho + score: '100.0' matched_length: 124 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_2.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_2.RULE matched_text: | This program is free software: you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/dash/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/dash/copyright-detailed.expected.yml index a1e8608fa2..29a4d0baf9 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/dash/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/dash/copyright-detailed.expected.yml @@ -47,16 +47,19 @@ other_license_expression_spdx: BSD-3-Clause AND FSFULLRWD AND FSFULLRWD AND FSFU license_detections: [] other_license_detections: - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 155 end_line: 177 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -84,32 +87,38 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98 - license_expression: fsf-free + license_expression_spdx: FSFUL matches: - - score: '100.0' + - license_expression: fsf-free + spdx_license_expression: FSFUL + from_file: start_line: 180 end_line: 181 + matcher: 1-hash + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-free - rule_identifier: fsf-free.LICENSE rule_relevance: 100 + rule_identifier: fsf-free.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-free.LICENSE matched_text: | This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. identifier: fsf_free-95bff5c5-ed9b-1c78-0dd8-4c05168176ba - license_expression: fsf-unlimited-no-warranty + license_expression_spdx: FSFULLRWD matches: - - score: '100.0' + - license_expression: fsf-unlimited-no-warranty + spdx_license_expression: FSFULLRWD + from_file: start_line: 184 end_line: '191' + matcher: 1-hash + score: '100.0' matched_length: 63 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-unlimited-no-warranty - rule_identifier: fsf-unlimited-no-warranty.LICENSE rule_relevance: 100 + rule_identifier: fsf-unlimited-no-warranty.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-unlimited-no-warranty.LICENSE matched_text: | This file is free software; the Free Software Foundation @@ -122,16 +131,19 @@ other_license_detections: PARTICULAR PURPOSE. identifier: fsf_unlimited_no_warranty-0823c9f0-6e4b-8cf0-64e1-5165a09dfa45 - license_expression: x11-xconsortium AND public-domain + license_expression_spdx: X11 AND LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: x11-xconsortium + spdx_license_expression: X11 + from_file: start_line: '194' end_line: 214 + matcher: 2-aho + score: '100.0' matched_length: 201 match_coverage: '100.0' - matcher: 2-aho - license_expression: x11-xconsortium - rule_identifier: x11-xconsortium_2.RULE rule_relevance: 100 + rule_identifier: x11-xconsortium_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -155,40 +167,47 @@ other_license_detections: be used in advertising or otherwise to promote the sale, use or other deal- ings in this Software without prior written authorization from the X Consor- tium. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 216 end_line: 216 + matcher: 2-aho + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_58.RULE rule_relevance: 100 + rule_identifier: public-domain_58.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_58.RULE matched_text: FSF changes to this file are in the public domain. identifier: x11_xconsortium_and_public_domain-85b6bf80-9de9-fe71-fa83-14be44f52a4b - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 218 end_line: 218 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 219 end_line: 234 + matcher: 1-hash + score: '100.0' matched_length: 134 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_737.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_737.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_737.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -209,16 +228,19 @@ other_license_detections: version 2 can be found in ‘/usr/share/common-licenses/GPL-2’. identifier: gpl_2_0_plus-b1b987d4-03d4-5eb8-154c-7c270ba63c44 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '99.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 138 end_line: 138 + matcher: 1-hash + score: '99.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: pypi_public_domain.RULE rule_relevance: 99 + rule_identifier: pypi_public_domain.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_public_domain.RULE matched_text: 'License: public-domain' identifier: public_domain-1a6a4f2c-bd92-9942-920f-be3d0c2bbda6 diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/debconf/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/debconf/copyright-detailed.expected.yml index 6c1fe1cf3d..23db0ea39c 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/debconf/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/debconf/copyright-detailed.expected.yml @@ -22,16 +22,19 @@ other_license_expression_spdx: BSD-2-Clause AND BSD-2-Clause AND BSD-2-Clause AN license_detections: [] other_license_detections: - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '99.45' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 59 end_line: 78 + matcher: 3-seq + score: '99.45' matched_length: 182 match_coverage: '99.45' - matcher: 3-seq - license_expression: bsd-simplified - rule_identifier: bsd-simplified_52.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_52.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_52.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/debian-archive-keyring/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/debian-archive-keyring/copyright-detailed.expected.yml index 17d47eb837..a9f0a968be 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/debian-archive-keyring/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/debian-archive-keyring/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '90.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 6 end_line: 26 + matcher: 3-seq + score: '90.0' matched_length: 162 match_coverage: '100.0' - matcher: 3-seq - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_306.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_306.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_306.RULE matched_text: "The keys in the keyrings don't fall under any copyright. Everything\n\ else in the package is covered by the GNU GPL.\n\nDebian support files Copyright (C)\ diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/debianutils/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/debianutils/copyright-detailed.expected.yml index 57f5373167..891b6dd93e 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/debianutils/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/debianutils/copyright-detailed.expected.yml @@ -6,16 +6,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0-plus AND public-domain + license_expression_spdx: GPL-2.0-or-later AND LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: gpl-2.0-plus AND public-domain + spdx_license_expression: GPL-2.0-or-later AND LicenseRef-scancode-public-domain + from_file: start_line: 8 end_line: 11 + matcher: 2-aho + score: '100.0' matched_length: 31 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus AND public-domain - rule_identifier: gpl-2.0-plus_and_public-domain_810.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_and_public-domain_810.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_and_public-domain_810.RULE matched_text: | redistributed under the terms of the GNU GPL, Version 2 or later, @@ -24,16 +27,19 @@ license_detections: which is in the public domain. identifier: gpl_2_0_plus_and_public_domain-e8510ebe-e9a6-c0d1-ae7e-42280922b32a - license_expression: smail-gpl + license_expression_spdx: LicenseRef-scancode-smail-gpl matches: - - score: '100.0' + - license_expression: smail-gpl + spdx_license_expression: LicenseRef-scancode-smail-gpl + from_file: start_line: 18 end_line: 161 + matcher: 2-aho + score: '100.0' matched_length: 1227 match_coverage: '100.0' - matcher: 2-aho - license_expression: smail-gpl - rule_identifier: smail-gpl.LICENSE rule_relevance: 100 + rule_identifier: smail-gpl.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/smail-gpl.LICENSE matched_text: "SMAIL GENERAL PUBLIC LICENSE\n\t\t (Clarified 11 Feb 1988)\n\n\ \ Copyright (C) 1988 Landon Curt Noll & Ronald S. Karr\n Copyright (C) 1992 Ronald\ diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/diffutils/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/diffutils/copyright-detailed.expected.yml index f30f0b2855..738e2206da 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/diffutils/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/diffutils/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 18 end_line: 29 + matcher: 2-aho + score: '100.0' matched_length: 100 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_234.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_234.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_234.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -31,16 +34,19 @@ license_detections: may be found in `/usr/share/common-licenses/GPL'. identifier: gpl_3_0_plus-5534b6bc-4eef-713f-94c7-caa583171b85 - license_expression: gfdl-1.3-plus + license_expression_spdx: GFDL-1.3-or-later matches: - - score: '100.0' + - license_expression: gfdl-1.3-plus + spdx_license_expression: GFDL-1.3-or-later + from_file: start_line: 38 end_line: 44 + matcher: 2-aho + score: '100.0' matched_length: 67 match_coverage: '100.0' - matcher: 2-aho - license_expression: gfdl-1.3-plus - rule_identifier: gfdl-1.3-plus_3.RULE rule_relevance: 100 + rule_identifier: gfdl-1.3-plus_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gfdl-1.3-plus_3.RULE matched_text: | Permission is granted to copy, distribute and/or modify this document diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/dpkg/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/dpkg/copyright-detailed.expected.yml index 04833158a3..337678c635 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/dpkg/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/dpkg/copyright-detailed.expected.yml @@ -21,78 +21,92 @@ other_license_expression_spdx: (GPL-2.0-or-later AND GPL-2.0-or-later AND GPL-2. license_detections: [] other_license_detections: - license_expression: public-domain AND other-permissive + license_expression_spdx: LicenseRef-scancode-public-domain AND LicenseRef-scancode-other-permissive matches: - - score: '70.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 102 end_line: 102 + matcher: 2-aho + score: '70.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_bare_words.RULE rule_relevance: 70 + rule_identifier: public-domain_bare_words.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE matched_text: public domain. - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 103 end_line: 104 + matcher: 2-aho + score: '100.0' matched_length: 9 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_277.RULE rule_relevance: 100 + rule_identifier: other-permissive_277.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_277.RULE matched_text: | May be used and distributed freely for any purpose. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 106 end_line: 106 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_346.RULE rule_relevance: 100 + rule_identifier: public-domain_346.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_346.RULE matched_text: also placed in public domain. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 107 end_line: 108 + matcher: 2-aho + score: '100.0' matched_length: 6 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_348.RULE rule_relevance: 100 + rule_identifier: public-domain_348.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_348.RULE matched_text: | also placed in the Public Domain. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 111 end_line: 111 + matcher: 2-aho + score: '100.0' matched_length: 6 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_347.RULE rule_relevance: 100 + rule_identifier: public-domain_347.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_347.RULE matched_text: placed in public domain as well. identifier: public_domain_and_other_permissive-6d37fe29-1db1-5e5f-a49b-c1130b99e1cd - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 118 end_line: 120 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_303.RULE rule_relevance: 100 + rule_identifier: public-domain_303.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_303.RULE matched_text: | This code was @@ -100,27 +114,32 @@ other_license_detections: This code is in the public domain; do with it what you wish. identifier: public_domain-12604376-43c0-ec4b-0941-067570a4db40 - license_expression: gpl-2.0-plus AND gpl-2.0 + license_expression_spdx: GPL-2.0-or-later AND GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 127 end_line: 127 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 128 end_line: 139 + matcher: 1-hash + score: '100.0' matched_length: 102 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_860.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_860.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_860.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -135,15 +154,17 @@ other_license_detections: You should have received a copy of the GNU General Public License along with this program. If not, see . - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 141 end_line: 143 + matcher: 1-hash + score: '100.0' matched_length: 31 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1299.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1299.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1299.RULE matched_text: | On Debian systems, the complete text of the GNU General Public License @@ -151,27 +172,32 @@ other_license_detections: as the file ‘COPYING’. identifier: gpl_2_0_plus_and_gpl_2_0-5a6543fd-26b8-dd6a-e1e9-6425e51ff1a5 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 145 end_line: 145 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 146 end_line: 156 + matcher: 1-hash + score: '100.0' matched_length: 92 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1119.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1119.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1119.RULE matched_text: | This is free software; you can redistribute it and/or modify @@ -187,16 +213,19 @@ other_license_detections: along with this program. If not, see . identifier: gpl_2_0-a054018a-dccf-8b92-9ab1-ab255ec3aba9 - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '99.45' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 159 end_line: 178 + matcher: 3-seq + score: '99.45' matched_length: 182 match_coverage: '99.45' - matcher: 3-seq - license_expression: bsd-simplified - rule_identifier: bsd-simplified_52.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_52.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_52.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/e2fsprogs/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/e2fsprogs/copyright-detailed.expected.yml index 6ca09097ea..6517e12a76 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/e2fsprogs/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/e2fsprogs/copyright-detailed.expected.yml @@ -7,16 +7,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0 AND lgpl-2.0 AND bsd-new AND mit-old-style-no-advert + license_expression_spdx: GPL-2.0-only AND LGPL-2.0-only AND BSD-3-Clause AND NTP matches: - - score: '99.02' + - license_expression: gpl-2.0 AND lgpl-2.0 AND bsd-new AND mit-old-style-no-advert + spdx_license_expression: GPL-2.0-only AND LGPL-2.0-only AND BSD-3-Clause AND NTP + from_file: start_line: 17 end_line: 30 + matcher: 3-seq + score: '99.02' matched_length: 101 match_coverage: '99.02' - matcher: 3-seq - license_expression: gpl-2.0 AND lgpl-2.0 AND bsd-new AND mit-old-style-no-advert - rule_identifier: gpl-2.0_and_lgpl-2.0_and_bsd-new_and_mit_1.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_and_lgpl-2.0_and_bsd-new_and_mit_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_and_lgpl-2.0_and_bsd-new_and_mit_1.RULE matched_text: "This package, the EXT2 filesystem utilities, are made available under\n\ the GNU General Public License version 2, with the exception of the\nlib/ext2fs and\ @@ -29,16 +32,19 @@ license_detections: \ The\ncomplete text of the GNU Library General Public License can be found\nin '/usr/share/common-licenses/LGPL-2'." identifier: gpl_2_0_and_lgpl_2_0_and_bsd_new_and_mit_old_style_no_advert-aed55561-0504-0265-5986-832cc7f7bbf2 - license_expression: ntp-0 AND bsd-new + license_expression_spdx: NTP-0 AND BSD-3-Clause matches: - - score: '100.0' + - license_expression: ntp-0 + spdx_license_expression: NTP-0 + from_file: start_line: 38 end_line: 45 + matcher: 2-aho + score: '100.0' matched_length: 85 match_coverage: '100.0' - matcher: 2-aho - license_expression: ntp-0 - rule_identifier: ntp-0.LICENSE rule_relevance: 100 + rule_identifier: ntp-0.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ntp-0.LICENSE matched_text: | Permission to use, copy, modify, and distribute this software and @@ -49,15 +55,17 @@ license_detections: M.I.T. S.I.P.B. make no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 49 end_line: 73 + matcher: 2-aho + score: '100.0' matched_length: 210 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_117.RULE rule_relevance: 100 + rule_identifier: bsd-new_117.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_117.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/findutils/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/findutils/copyright-detailed.expected.yml index 64a0f5e6f1..16b1070155 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/findutils/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/findutils/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-3.0-plus AND gfdl-1.3-plus + license_expression_spdx: GPL-3.0-or-later AND GFDL-1.3-or-later matches: - - score: '87.25' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 49 end_line: 73 + matcher: 3-seq + score: '87.25' matched_length: 130 match_coverage: '87.25' - matcher: 3-seq - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_410.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_410.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_410.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -42,15 +45,17 @@ license_detections: Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version - - score: '100.0' + - license_expression: gfdl-1.3-plus + spdx_license_expression: GFDL-1.3-or-later + from_file: start_line: 71 end_line: 81 + matcher: 2-aho + score: '100.0' matched_length: 88 match_coverage: '100.0' - matcher: 2-aho - license_expression: gfdl-1.3-plus - rule_identifier: gfdl-1.3-plus_6.RULE rule_relevance: 100 + rule_identifier: gfdl-1.3-plus_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gfdl-1.3-plus_6.RULE matched_text: | Permission is granted to copy, distribute and/or modify this diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/gcc-10-base/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/gcc-10-base/copyright-detailed.expected.yml index 3a7e441429..879187c57b 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/gcc-10-base/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/gcc-10-base/copyright-detailed.expected.yml @@ -40,16 +40,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 + license_expression_spdx: GPL-3.0-or-later WITH GCC-exception-3.1 matches: - - score: '100.0' + - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 + spdx_license_expression: GPL-3.0-or-later WITH GCC-exception-3.1 + from_file: start_line: 83 end_line: 99 + matcher: 2-aho + score: '100.0' matched_length: 133 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 - rule_identifier: gpl-3.0-plus_with_gcc-exception-3.1_21.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_with_gcc-exception-3.1_21.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_gcc-exception-3.1_21.RULE matched_text: | GCC is free software; you can redistribute it and/or modify it under @@ -69,15 +72,17 @@ license_detections: On Debian GNU/Linux systems, the complete text of the GNU General Public License is in `/usr/share/common-licenses/GPL', version 3 of this license in `/usr/share/common-licenses/GPL-3'. - - score: '100.0' + - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 + spdx_license_expression: GPL-3.0-or-later WITH GCC-exception-3.1 + from_file: start_line: 101 end_line: 103 + matcher: 2-aho + score: '100.0' matched_length: 32 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 - rule_identifier: gpl-3.0-plus_with_gcc-exception-3.1_18.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_with_gcc-exception-3.1_18.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_gcc-exception-3.1_18.RULE matched_text: | The following runtime libraries are licensed under the terms of the @@ -85,16 +90,19 @@ license_detections: Runtime Library Exception (included in this file): identifier: gpl_3_0_plus_with_gcc_exception_3_1-515ad309-fd9b-9f8d-bb86-8c7089f7f67a - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 123 end_line: 149 + matcher: 2-aho + score: '100.0' matched_length: 203 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_98.RULE rule_relevance: 100 + rule_identifier: bsd-new_98.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_98.RULE matched_text: "Redistribution and use in source and binary forms, with or without\n\ modification, are permitted provided that the following conditions are\nmet:\n\n \ @@ -115,16 +123,19 @@ license_detections: \ THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE." identifier: bsd_new-ddbdf2af-d93f-9912-6c83-1167bb9d3f80 - license_expression: uoi-ncsa AND mit + license_expression_spdx: NCSA AND MIT matches: - - score: '100.0' + - license_expression: uoi-ncsa + spdx_license_expression: NCSA + from_file: start_line: 167 end_line: '192' + matcher: 2-aho + score: '100.0' matched_length: 224 match_coverage: '100.0' - matcher: 2-aho - license_expression: uoi-ncsa - rule_identifier: uoi-ncsa_9.RULE rule_relevance: 100 + rule_identifier: uoi-ncsa_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/uoi-ncsa_9.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy of @@ -153,15 +164,17 @@ license_detections: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: '194' end_line: 210 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -183,16 +196,19 @@ license_detections: THE SOFTWARE. identifier: uoi_ncsa_and_mit-665f4b33-de00-67e2-f39e-c4aeed276c1e - license_expression: mit AND gfdl-1.2 AND gcc-exception-3.1 + license_expression_spdx: MIT AND GFDL-1.2-only AND GCC-exception-3.1 matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 217 end_line: 234 + matcher: 2-aho + score: '100.0' matched_length: 158 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_1083.RULE rule_relevance: 100 + rule_identifier: mit_1083.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1083.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining @@ -213,29 +229,33 @@ license_detections: OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - score: '100.0' + - license_expression: gfdl-1.2 + spdx_license_expression: GFDL-1.2-only + from_file: start_line: 237 end_line: 239 + matcher: 2-aho + score: '100.0' matched_length: 32 match_coverage: '100.0' - matcher: 2-aho - license_expression: gfdl-1.2 - rule_identifier: gfdl-1.2_7.RULE rule_relevance: 100 + rule_identifier: gfdl-1.2_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gfdl-1.2_7.RULE matched_text: | The documentation is licensed under the GNU Free Documentation License (v1.2). On Debian GNU/Linux systems, the complete text of this license is in `/usr/share/common-licenses/GFDL-1.2'. - - score: '100.0' + - license_expression: gcc-exception-3.1 + spdx_license_expression: GCC-exception-3.1 + from_file: start_line: 242 end_line: 313 + matcher: 2-aho + score: '100.0' matched_length: 512 match_coverage: '100.0' - matcher: 2-aho - license_expression: gcc-exception-3.1 - rule_identifier: gcc-exception-3.1.LICENSE rule_relevance: 100 + rule_identifier: gcc-exception-3.1.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/gcc-exception-3.1.LICENSE matched_text: | GCC RUNTIME LIBRARY EXCEPTION @@ -312,16 +332,19 @@ license_detections: requirements of the license of GCC. identifier: mit_and_gfdl_1_2_and_gcc_exception_3_1-52d926fc-e7f5-999e-1780-6dd7bd70cd6f - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 322 end_line: 331 + matcher: 2-aho + score: '100.0' matched_length: 87 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_469.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_469.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_469.RULE matched_text: | This file is part of the libiberty library. @@ -336,16 +359,19 @@ license_detections: Library General Public License for more details. identifier: lgpl_2_0_plus-35d0fb1e-679a-92c4-4ed4-ba6282419c63 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 338 end_line: 346 + matcher: 2-aho + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_34.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_34.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -359,16 +385,19 @@ license_detections: Lesser General Public License for more details. identifier: lgpl_2_1_plus-3b5f0e12-e5c2-78c5-f441-4ca7bdfbc474 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 356 end_line: 364 + matcher: 2-aho + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_34.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_34.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -382,16 +411,19 @@ license_detections: Lesser General Public License for more details. identifier: lgpl_2_1_plus-3b5f0e12-e5c2-78c5-f441-4ca7bdfbc474 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 374 end_line: 382 + matcher: 2-aho + score: '100.0' matched_length: 86 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_327.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_327.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_327.RULE matched_text: | The GNU C Library is free software; you can redistribute it and/or @@ -405,30 +437,36 @@ license_detections: Lesser General Public License for more details. identifier: lgpl_2_1_plus-1e9ed5fb-59c8-38f4-3025-8ef27ff4bcb2 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '70.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 387 end_line: 387 + matcher: 2-aho + score: '70.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_bare_words.RULE rule_relevance: 70 + rule_identifier: public-domain_bare_words.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE matched_text: Public domain. identifier: public_domain-3dd945ae-65df-7d90-6467-60f8ecf2eb77 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 395 end_line: 403 + matcher: 2-aho + score: '100.0' matched_length: 86 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_327.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_327.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_327.RULE matched_text: | The GNU C Library is free software; you can redistribute it and/or @@ -442,16 +480,19 @@ license_detections: Lesser General Public License for more details. identifier: lgpl_2_1_plus-1e9ed5fb-59c8-38f4-3025-8ef27ff4bcb2 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 410 end_line: 418 + matcher: 2-aho + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_34.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_34.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -465,16 +506,19 @@ license_detections: Lesser General Public License for more details. identifier: lgpl_2_1_plus-3b5f0e12-e5c2-78c5-f441-4ca7bdfbc474 - license_expression: sunpro + license_expression_spdx: SunPro matches: - - score: '100.0' + - license_expression: sunpro + spdx_license_expression: SunPro + from_file: start_line: 424 end_line: 427 + matcher: 2-aho + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 2-aho - license_expression: sunpro - rule_identifier: sunpro.LICENSE rule_relevance: 100 + rule_identifier: sunpro.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/sunpro.LICENSE matched_text: | Developed at SunPro, a Sun Microsystems, Inc. business. @@ -483,16 +527,19 @@ license_detections: * is preserved. identifier: sunpro-8cbf8f94-4a9d-af5a-dc57-033780c667f7 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 434 end_line: 458 + matcher: 2-aho + score: '100.0' matched_length: 212 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_166.RULE rule_relevance: 100 + rule_identifier: bsd-new_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_166.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -522,16 +569,19 @@ license_detections: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-050b3051-820b-200e-26c9-1a3c8e9761d2 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 473 end_line: 480 + matcher: 2-aho + score: '100.0' matched_length: 75 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_812.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_812.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_812.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -544,16 +594,19 @@ license_detections: license in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus-61a2eca6-5026-e856-1a3d-dd46fc4ec497 - license_expression: artistic-perl-1.0 OR gpl-1.0 + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-only matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0 + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-only + from_file: start_line: 490 end_line: 495 + matcher: 2-aho + score: '100.0' matched_length: 46 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0 - rule_identifier: artistic-perl-1.0_or_gpl-1.0_2.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0_2.RULE matched_text: | License for redistribution is by either the Artistic License or @@ -564,16 +617,19 @@ license_detections: license in `/usr/share/common-licenses/Artistic'. identifier: artistic_perl_1_0_or_gpl_1_0-3595a871-9965-7e70-31ab-7b75ec03f7f3 - license_expression: zlib + license_expression_spdx: Zlib matches: - - score: '100.0' + - license_expression: zlib + spdx_license_expression: Zlib + from_file: start_line: 503 end_line: 517 + matcher: 2-aho + score: '100.0' matched_length: 132 match_coverage: '100.0' - matcher: 2-aho - license_expression: zlib - rule_identifier: zlib.LICENSE rule_relevance: 100 + rule_identifier: zlib.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE matched_text: | This software is provided 'as-is', without any express or implied @@ -593,16 +649,19 @@ license_detections: 3. This notice may not be removed or altered from any source distribution. identifier: zlib-f32ae987-c66a-44ce-bd13-c90e0c59aab8 - license_expression: d-zlib + license_expression_spdx: LicenseRef-scancode-d-zlib matches: - - score: '100.0' + - license_expression: d-zlib + spdx_license_expression: LicenseRef-scancode-d-zlib + from_file: start_line: 529 end_line: 545 + matcher: 2-aho + score: '100.0' matched_length: 138 match_coverage: '100.0' - matcher: 2-aho - license_expression: d-zlib - rule_identifier: d-zlib.LICENSE rule_relevance: 100 + rule_identifier: d-zlib.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/d-zlib.LICENSE matched_text: | This software is provided 'as-is', without any express or implied @@ -624,16 +683,19 @@ license_detections: distribution. identifier: d_zlib-b5366170-a1b8-db31-98f3-558ace6d8893 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 557 end_line: 574 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -656,16 +718,19 @@ license_detections: USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 + license_expression_spdx: GPL-3.0-or-later WITH GCC-exception-3.1 matches: - - score: '100.0' + - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 + spdx_license_expression: GPL-3.0-or-later WITH GCC-exception-3.1 + from_file: start_line: 581 end_line: 598 + matcher: 2-aho + score: '100.0' matched_length: 144 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 - rule_identifier: gpl-3.0-plus_with_gcc-exception-3.1_10.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_with_gcc-exception-3.1_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_gcc-exception-3.1_10.RULE matched_text: | This file is free software; you can redistribute it and/or modify it @@ -688,16 +753,19 @@ license_detections: . identifier: gpl_3_0_plus_with_gcc_exception_3_1-1400acf6-c9c6-a16e-dd05-a6cc5929f4d8 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 609 end_line: 617 + matcher: 2-aho + score: '100.0' matched_length: 78 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_397.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_397.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_397.RULE matched_text: | GNU Modula-2 is free software; you can redistribute it and/or modify @@ -711,16 +779,19 @@ license_detections: General Public License for more details. identifier: gpl_3_0_plus-8e3845a7-0660-b619-feb1-108f0b0c6227 - license_expression: gfdl-1.3-plus + license_expression_spdx: GFDL-1.3-or-later matches: - - score: '100.0' + - license_expression: gfdl-1.3-plus + spdx_license_expression: GFDL-1.3-or-later + from_file: start_line: 623 end_line: 626 + matcher: 2-aho + score: '100.0' matched_length: 46 match_coverage: '100.0' - matcher: 2-aho - license_expression: gfdl-1.3-plus - rule_identifier: gfdl-1.3-plus_4.RULE rule_relevance: 100 + rule_identifier: gfdl-1.3-plus_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gfdl-1.3-plus_4.RULE matched_text: | Permission is granted to copy, distribute and/or modify this document @@ -729,16 +800,20 @@ license_detections: Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. identifier: gfdl_1_3_plus-df889bb7-d78d-afbe-a993-9f7165b10997 - license_expression: lgpl-2.1-plus WITH gcc-exception-3.1 AND gpl-3.0-plus WITH gcc-exception-3.1 + license_expression_spdx: LGPL-2.1-or-later WITH GCC-exception-3.1 AND GPL-3.0-or-later WITH + GCC-exception-3.1 matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus WITH gcc-exception-3.1 + spdx_license_expression: LGPL-2.1-or-later WITH GCC-exception-3.1 + from_file: start_line: 635 end_line: 647 + matcher: 2-aho + score: '100.0' matched_length: 111 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus WITH gcc-exception-3.1 - rule_identifier: lgpl-2.1-plus_with_gcc-exception-3.1_1.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_with_gcc-exception-3.1_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_with_gcc-exception-3.1_1.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -754,15 +829,17 @@ license_detections: Under Section 7 of GPL version 3, you are granted additional permissions described in the GCC Runtime Library Exception, version 3.1, as published by the Free Software Foundation. - - score: '100.0' + - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 + spdx_license_expression: GPL-3.0-or-later WITH GCC-exception-3.1 + from_file: start_line: 650 end_line: 651 + matcher: 2-aho + score: '100.0' matched_length: 17 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 - rule_identifier: gpl-3.0-plus_with_gcc-exception-3.1_41.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_with_gcc-exception-3.1_41.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_gcc-exception-3.1_41.RULE matched_text: | This has a mix of licenses, most as GPL-3+ plus GCC Runtime Library @@ -770,60 +847,73 @@ license_detections: identifier: lgpl_2_1_plus_with_gcc_exception_3_1_and_gpl_3_0_plus_with_gcc_exception_3_1-a992f3a6-bd11-41fc-1f29-aa01c5643b2f - license_expression: (gpl-3.0 AND lgpl-2.1 AND lgpl-3.0) AND (lgpl-2.0 AND gpl-3.0) AND gpl-3.0-plus AND gnu-emacs-gpl-1988 AND (gpl-3.0 AND lgpl-2.1) AND (gpl-2.0-plus AND gpl-3.0-plus) + license_expression_spdx: (GPL-3.0-only AND LGPL-2.1-only AND LGPL-3.0-only) AND (LGPL-2.0-only + AND GPL-3.0-only) AND GPL-3.0-or-later AND LicenseRef-scancode-gnu-emacs-gpl-1988 AND + (GPL-3.0-only AND LGPL-2.1-only) AND (GPL-2.0-or-later AND GPL-3.0-or-later) matches: - - score: '100.0' + - license_expression: gpl-3.0 AND lgpl-2.1 AND lgpl-3.0 + spdx_license_expression: GPL-3.0-only AND LGPL-2.1-only AND LGPL-3.0-only + from_file: start_line: 663 end_line: 663 + matcher: 2-aho + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0 AND lgpl-2.1 AND lgpl-3.0 - rule_identifier: gpl-3.0_and_lgpl-2.1_and_lgpl-3.0_1.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_and_lgpl-2.1_and_lgpl-3.0_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_and_lgpl-2.1_and_lgpl-3.0_1.RULE matched_text: mix of GPL-3.0 and LGPL-2.1/3 - - score: '100.0' + - license_expression: gpl-3.0 AND lgpl-2.1 AND lgpl-3.0 + spdx_license_expression: GPL-3.0-only AND LGPL-2.1-only AND LGPL-3.0-only + from_file: start_line: 666 end_line: 666 + matcher: 2-aho + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0 AND lgpl-2.1 AND lgpl-3.0 - rule_identifier: gpl-3.0_and_lgpl-2.1_and_lgpl-3.0_1.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_and_lgpl-2.1_and_lgpl-3.0_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_and_lgpl-2.1_and_lgpl-3.0_1.RULE matched_text: mix of GPL-3.0 and LGPL-2.1/3 - - score: '100.0' + - license_expression: lgpl-2.0 AND gpl-3.0 + spdx_license_expression: LGPL-2.0-only AND GPL-3.0-only + from_file: start_line: 670 end_line: 670 + matcher: 2-aho + score: '100.0' matched_length: 9 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0 AND gpl-3.0 - rule_identifier: lgpl-2.0_and_gpl-3.0_1.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0_and_gpl-3.0_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0_and_gpl-3.0_1.RULE matched_text: Mix of LGPL-2.1 and GPL-3.0. - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 673 end_line: 673 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_89.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_89.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_89.RULE matched_text: GPL-3+ - - score: '100.0' + - license_expression: gnu-emacs-gpl-1988 + spdx_license_expression: LicenseRef-scancode-gnu-emacs-gpl-1988 + from_file: start_line: 676 end_line: 682 + matcher: 2-aho + score: '100.0' matched_length: 70 match_coverage: '100.0' - matcher: 2-aho - license_expression: gnu-emacs-gpl-1988 - rule_identifier: gnu-emacs-gpl-1988_1.RULE rule_relevance: 100 + rule_identifier: gnu-emacs-gpl-1988_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gnu-emacs-gpl-1988_1.RULE matched_text: | Everyone is granted permission to copy, modify and redistribute @@ -833,40 +923,47 @@ license_detections: ;; can know your rights and responsibilities. It should be in a ;; file named COPYING. Among other things, the copyright notice ;; and this notice must be preserved on all copies. - - score: '100.0' + - license_expression: gpl-3.0 AND lgpl-2.1 + spdx_license_expression: GPL-3.0-only AND LGPL-2.1-only + from_file: start_line: 686 end_line: 686 + matcher: 2-aho + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0 AND lgpl-2.1 - rule_identifier: gpl-3.0_and_lgpl-2.1_2.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_and_lgpl-2.1_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_and_lgpl-2.1_2.RULE matched_text: Mix of GPL-3 and LGPL-2.1. - - score: '100.0' + - license_expression: gpl-2.0-plus AND gpl-3.0-plus + spdx_license_expression: GPL-2.0-or-later AND GPL-3.0-or-later + from_file: start_line: 690 end_line: 690 + matcher: 2-aho + score: '100.0' matched_length: 7 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus AND gpl-3.0-plus - rule_identifier: gpl-2.0-plus_and_gpl-3.0-plus_3.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_and_gpl-3.0-plus_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_and_gpl-3.0-plus_3.RULE matched_text: Mix of GPL-2+ and GPL-3+ identifier: gpl_3_0_and_lgpl_2_1_and_lgpl_3_0__and__lgpl_2_0_and_gpl_3_0__and_gpl_3_0_plus_and_gnu_emacs_gpl_1988_and__gpl_3_0_and_lgpl_2_1__and__gpl_2_0_plus_and_gpl_3_0_plus-d1c41ede-85ab-f71e-acff-90e3585e0615 - license_expression: lgpl-2.1-plus WITH gcc-exception-3.1 + license_expression_spdx: LGPL-2.1-or-later WITH GCC-exception-3.1 matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus WITH gcc-exception-3.1 + spdx_license_expression: LGPL-2.1-or-later WITH GCC-exception-3.1 + from_file: start_line: 701 end_line: 713 + matcher: 2-aho + score: '100.0' matched_length: 111 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus WITH gcc-exception-3.1 - rule_identifier: lgpl-2.1-plus_with_gcc-exception-3.1_1.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_with_gcc-exception-3.1_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_with_gcc-exception-3.1_1.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -884,16 +981,19 @@ license_detections: 3.1, as published by the Free Software Foundation. identifier: lgpl_2_1_plus_with_gcc_exception_3_1-90c78958-a68e-4d1f-f2be-cdbe3641ea93 - license_expression: lgpl-2.0-plus AND gpl-1.0-plus + license_expression_spdx: LGPL-2.0-or-later AND GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus AND gpl-1.0-plus + spdx_license_expression: LGPL-2.0-or-later AND GPL-1.0-or-later + from_file: start_line: 739 end_line: 745 + matcher: 2-aho + score: '100.0' matched_length: 66 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus AND gpl-1.0-plus - rule_identifier: lgpl-2.0-plus_and_gpl-1.0-plus_2.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_and_gpl-1.0-plus_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_and_gpl-1.0-plus_2.RULE matched_text: | Parts of this work are licensed under the terms of the GNU General @@ -905,16 +1005,19 @@ license_detections: license be found in /usr/share/common-licenses/LGPL. identifier: lgpl_2_0_plus_and_gpl_1_0_plus-ea6120ce-febd-518c-1a96-ebf5ad359b44 - license_expression: bsla-no-advert + license_expression_spdx: LicenseRef-scancode-bsla-no-advert matches: - - score: '100.0' + - license_expression: bsla-no-advert + spdx_license_expression: LicenseRef-scancode-bsla-no-advert + from_file: start_line: 754 end_line: 764 + matcher: 2-aho + score: '100.0' matched_length: 99 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsla-no-advert - rule_identifier: bsla-no-advert.LICENSE rule_relevance: 100 + rule_identifier: bsla-no-advert.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsla-no-advert.LICENSE matched_text: "Redistribution and use in source and binary forms are permitted\nprovided\ \ that the above copyright notice and this paragraph are\nduplicated in all such forms\ @@ -927,16 +1030,19 @@ license_detections: \ PARTICULAR PURPOSE." identifier: bsla_no_advert-57978d98-817a-ef5a-43bc-8507eaddaf43 - license_expression: bsla + license_expression_spdx: BSD-4.3TAHOE matches: - - score: '100.0' + - license_expression: bsla + spdx_license_expression: BSD-4.3TAHOE + from_file: start_line: 771 end_line: 781 + matcher: 2-aho + score: '100.0' matched_length: 101 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsla - rule_identifier: bsla.LICENSE rule_relevance: 100 + rule_identifier: bsla.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsla.LICENSE matched_text: | Redistribution and use in source and binary forms are permitted @@ -952,16 +1058,19 @@ license_detections: WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. identifier: bsla-f5e6e752-5580-dedf-4978-65f27db044cc - license_expression: bsd-original-uc + license_expression_spdx: BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 789 end_line: 815 + matcher: 2-aho + score: '100.0' matched_length: 243 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_3.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -993,16 +1102,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_original_uc-f28cb4d4-6336-ee60-f186-4c1929d3a4b0 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 822 end_line: 844 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1030,16 +1142,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98 - license_expression: bsd-original-uc + license_expression_spdx: BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 856 end_line: 882 + matcher: 2-aho + score: '100.0' matched_length: 243 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_3.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1071,16 +1186,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_original_uc-f28cb4d4-6336-ee60-f186-4c1929d3a4b0 - license_expression: flex-2.5 + license_expression_spdx: BSD-3-Clause-flex matches: - - score: '100.0' + - license_expression: flex-2.5 + spdx_license_expression: BSD-3-Clause-flex + from_file: start_line: 889 end_line: 901 + matcher: 2-aho + score: '100.0' matched_length: 122 match_coverage: '100.0' - matcher: 2-aho - license_expression: flex-2.5 - rule_identifier: flex-2.5_6.RULE rule_relevance: 100 + rule_identifier: flex-2.5_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/flex-2.5_6.RULE matched_text: | Redistribution and use in source and binary forms are permitted @@ -1098,32 +1216,40 @@ license_detections: WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. identifier: flex_2_5-dc2b38a4-d8d9-e49a-8c97-65694300b4be - license_expression: bsd-original-uc + license_expression_spdx: BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 909 end_line: 909 + matcher: 2-aho + score: '100.0' matched_length: 11 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc.RULE matched_text: ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change identifier: bsd_original_uc-3028f908-0199-4878-9644-da1c6c536067 - license_expression: gpl-3.0 AND gpl-2.0 AND lgpl-3.0-plus WITH cygwin-exception-lgpl-3.0-plus AND other-copyleft AND other-permissive + license_expression_spdx: GPL-3.0-only AND GPL-2.0-only AND LGPL-3.0-or-later WITH LicenseRef-scancode-cygwin-exception-lgpl-3.0-plus + AND LicenseRef-scancode-other-copyleft AND LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: gpl-3.0 AND gpl-2.0 AND lgpl-3.0-plus WITH cygwin-exception-lgpl-3.0-plus + AND other-copyleft AND other-permissive + spdx_license_expression: GPL-3.0-only AND GPL-2.0-only AND LGPL-3.0-or-later WITH LicenseRef-scancode-cygwin-exception-lgpl-3.0-plus + AND LicenseRef-scancode-other-copyleft AND LicenseRef-scancode-other-permissive + from_file: start_line: 919 end_line: 921 + matcher: 2-aho + score: '100.0' matched_length: 21 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0 AND gpl-2.0 AND lgpl-3.0-plus WITH cygwin-exception-lgpl-3.0-plus - AND other-copyleft AND other-permissive - rule_identifier: gpl-3.0_and_gpl-2.0_and_lgpl-3.0-plus_and_other-copyleft_and_other-permissive_1.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_and_gpl-2.0_and_lgpl-3.0-plus_and_other-copyleft_and_other-permissive_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_and_gpl-2.0_and_lgpl-3.0-plus_and_other-copyleft_and_other-permissive_1.RULE matched_text: | This software is a copyrighted work licensed under the terms of the @@ -1131,16 +1257,19 @@ license_detections: details. identifier: gpl_3_0_and_gpl_2_0_and_lgpl_3_0_plus_with_cygwin_exception_lgpl_3_0_plus_and_other_copyleft_and_other_permissive-97e72829-8548-5a17-f1ec-868edb9679fc - license_expression: x11-lucent + license_expression_spdx: dtoa matches: - - score: '100.0' + - license_expression: x11-lucent + spdx_license_expression: dtoa + from_file: start_line: 929 end_line: 938 + matcher: 2-aho + score: '100.0' matched_length: 93 match_coverage: '100.0' - matcher: 2-aho - license_expression: x11-lucent - rule_identifier: x11-lucent.RULE rule_relevance: 100 + rule_identifier: x11-lucent.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-lucent.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -1155,16 +1284,19 @@ license_detections: OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. identifier: x11_lucent-0e33f797-24ab-9665-2d4b-10a0ff4d546d - license_expression: amd-historical + license_expression_spdx: LicenseRef-scancode-amd-historical matches: - - score: '100.0' + - license_expression: amd-historical + spdx_license_expression: LicenseRef-scancode-amd-historical + from_file: start_line: 944 end_line: 955 + matcher: 2-aho + score: '100.0' matched_length: 98 match_coverage: '100.0' - matcher: 2-aho - license_expression: amd-historical - rule_identifier: amd-historical_1.RULE rule_relevance: 100 + rule_identifier: amd-historical_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/amd-historical_1.RULE matched_text: | This software is the property of Advanced Micro Devices, Inc (AMD) which @@ -1181,32 +1313,38 @@ license_detections: or suggestions about this software identifier: amd_historical-2ce3eef6-3c42-bf88-a157-854440a529af - license_expression: sunpro + license_expression_spdx: SunPro matches: - - score: '100.0' + - license_expression: sunpro + spdx_license_expression: SunPro + from_file: start_line: 983 end_line: 986 + matcher: 2-aho + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 2-aho - license_expression: sunpro - rule_identifier: sunpro.LICENSE rule_relevance: 100 + rule_identifier: sunpro.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/sunpro.LICENSE matched_text: "Developed at SunPro, a Sun Microsystems, Inc. business.\nPermission to\ \ use, copy, modify, and distribute this\nsoftware is freely granted, provided that\ \ this notice \nis preserved." identifier: sunpro-8cbf8f94-4a9d-af5a-dc57-033780c667f7 - license_expression: hp-1986 + license_expression_spdx: HP-1986 matches: - - score: '100.0' + - license_expression: hp-1986 + spdx_license_expression: HP-1986 + from_file: start_line: 992 end_line: 1001 + matcher: 2-aho + score: '100.0' matched_length: 88 match_coverage: '100.0' - matcher: 2-aho - license_expression: hp-1986 - rule_identifier: hp-1986.LICENSE rule_relevance: 100 + rule_identifier: hp-1986.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/hp-1986.LICENSE matched_text: | To anyone who acknowledges that this file is provided "AS IS" @@ -1221,16 +1359,19 @@ license_detections: suitability of this software for any purpose. identifier: hp_1986-28bf595d-945f-f17e-30dc-d425078ee11d - license_expression: nilsson-historical + license_expression_spdx: LicenseRef-scancode-nilsson-historical matches: - - score: '100.0' + - license_expression: nilsson-historical + spdx_license_expression: LicenseRef-scancode-nilsson-historical + from_file: start_line: 1007 end_line: 1014 + matcher: 2-aho + score: '100.0' matched_length: 55 match_coverage: '100.0' - matcher: 2-aho - license_expression: nilsson-historical - rule_identifier: nilsson-historical.LICENSE rule_relevance: 100 + rule_identifier: nilsson-historical.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/nilsson-historical.LICENSE matched_text: | Permission to use, copy, modify, and distribute this software is @@ -1243,16 +1384,19 @@ license_detections: PURPOSE. identifier: nilsson_historical-1f77a0ef-7d4f-1428-9fd6-07ecdadd3d9d - license_expression: newlib-historical + license_expression_spdx: LicenseRef-scancode-newlib-historical matches: - - score: '100.0' + - license_expression: newlib-historical + spdx_license_expression: LicenseRef-scancode-newlib-historical + from_file: start_line: 1020 end_line: 1028 + matcher: 2-aho + score: '100.0' matched_length: 92 match_coverage: '100.0' - matcher: 2-aho - license_expression: newlib-historical - rule_identifier: newlib-historical.LICENSE rule_relevance: 100 + rule_identifier: newlib-historical.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/newlib-historical.LICENSE matched_text: | The authors hereby grant permission to use, copy, modify, distribute, @@ -1266,16 +1410,19 @@ license_detections: they apply. identifier: newlib_historical-d8838826-351c-66cc-4bd2-2c3b747dc93e - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1035 end_line: 1055 + matcher: 2-aho + score: '100.0' matched_length: 203 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_98.RULE rule_relevance: 100 + rule_identifier: bsd-new_98.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_98.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1301,16 +1448,19 @@ license_detections: THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-ddbdf2af-d93f-9912-6c83-1167bb9d3f80 - license_expression: amd-historical + license_expression_spdx: LicenseRef-scancode-amd-historical matches: - - score: '95.0' + - license_expression: amd-historical + spdx_license_expression: LicenseRef-scancode-amd-historical + from_file: start_line: 1061 end_line: 1072 + matcher: 2-aho + score: '95.0' matched_length: 95 match_coverage: '100.0' - matcher: 2-aho - license_expression: amd-historical - rule_identifier: amd-historical4.RULE rule_relevance: 100 + rule_identifier: amd-historical4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/amd-historical4.RULE matched_text: "This software is the property of SuperH, Inc (SuperH) which specifically\n\ grants the user the right to modify, use and distribute this software\nprovided this\ @@ -1322,16 +1472,19 @@ license_detections: \ any problems\nor suggestions about this software to the" identifier: amd_historical-b5686d7a-c91d-603d-6a57-9b6f23e3c003 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1087 end_line: 1112 + matcher: 2-aho + score: '100.0' matched_length: 212 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_933.RULE rule_relevance: 100 + rule_identifier: bsd-new_933.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_933.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1362,16 +1515,19 @@ license_detections: ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-3067d87e-03fa-386b-14c5-8c725b58e271 - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1119 end_line: 1138 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1396,16 +1552,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_simplified-24fb2214-fe65-fd01-a4db-75b7cf8d710c - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1145 end_line: 1164 + matcher: 2-aho + score: '100.0' matched_length: 181 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_newlib3.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_newlib3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_newlib3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1430,16 +1589,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_simplified-02e6e9b3-23f0-6c99-5b76-c00ab96724f0 - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1171 end_line: 1190 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1464,16 +1626,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_simplified-24fb2214-fe65-fd01-a4db-75b7cf8d710c - license_expression: x11-hanson + license_expression_spdx: LicenseRef-scancode-x11-hanson matches: - - score: '99.0' + - license_expression: x11-hanson + spdx_license_expression: LicenseRef-scancode-x11-hanson + from_file: start_line: 1198 end_line: 1207 + matcher: 2-aho + score: '99.0' matched_length: 89 match_coverage: '100.0' - matcher: 2-aho - license_expression: x11-hanson - rule_identifier: x11-hanson2.RULE rule_relevance: 99 + rule_identifier: x11-hanson2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-hanson2.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -1488,16 +1653,19 @@ license_detections: SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. identifier: x11_hanson-5e7211ee-2950-c22e-9dac-36a7c8fd780b - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1214 end_line: 1233 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1522,16 +1690,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_simplified-24fb2214-fe65-fd01-a4db-75b7cf8d710c - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1240 end_line: 1260 + matcher: 2-aho + score: '100.0' matched_length: 200 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_76.RULE rule_relevance: 100 + rule_identifier: bsd-new_76.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_76.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1557,30 +1728,36 @@ license_detections: ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-8253b828-e3cb-c484-e1ba-cfca208b3bf2 - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 1274 end_line: 1274 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl_39.RULE rule_relevance: 100 + rule_identifier: lgpl_39.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_39.RULE matched_text: Free Software Foundation LGPL License (*- identifier: lgpl_2_0_plus-3510e639-5cec-653e-6f61-1a4daf9a674b - license_expression: lgpl-2.1-plus AND lgpl-2.0-plus + license_expression_spdx: LGPL-2.1-or-later AND LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 1281 end_line: 1294 + matcher: 2-aho + score: '100.0' matched_length: 123 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_12.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_12.RULE matched_text: | The GNU C Library is free software; you can redistribute it and/or @@ -1597,26 +1774,30 @@ license_detections: License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - score: '99.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 1296 end_line: 1296 + matcher: 2-aho + score: '99.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl_33.RULE rule_relevance: 99 + rule_identifier: lgpl_33.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_33.RULE matched_text: LGPL License ( - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 1300 end_line: 1308 + matcher: 2-aho + score: '100.0' matched_length: 81 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_339.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_339.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_339.RULE matched_text: "This program is free software; you can redistribute it and/or\nmodify\ \ it under the terms of the GNU Library General Public License\nas published by the\ @@ -1627,16 +1808,19 @@ license_detections: \ PURPOSE. See the\nGNU Library General Public License for more details." identifier: lgpl_2_1_plus_and_lgpl_2_0_plus-ce146db9-f01c-90ae-37cc-692163db9888 - license_expression: intel-osl-1993 + license_expression_spdx: LicenseRef-scancode-intel-osl-1993 matches: - - score: '100.0' + - license_expression: intel-osl-1993 + spdx_license_expression: LicenseRef-scancode-intel-osl-1993 + from_file: start_line: 1314 end_line: 1336 + matcher: 2-aho + score: '100.0' matched_length: 210 match_coverage: '100.0' - matcher: 2-aho - license_expression: intel-osl-1993 - rule_identifier: intel-osl-1993.LICENSE rule_relevance: 100 + rule_identifier: intel-osl-1993.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/intel-osl-1993.LICENSE matched_text: | Intel hereby grants you permission to copy, modify, and distribute this @@ -1664,16 +1848,19 @@ license_detections: PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER. identifier: intel_osl_1993-19445c9b-464b-0dc8-0e77-c358d42a8657 - license_expression: hp-1986 + license_expression_spdx: HP-1986 matches: - - score: '100.0' + - license_expression: hp-1986 + spdx_license_expression: HP-1986 + from_file: start_line: 1342 end_line: 1351 + matcher: 2-aho + score: '100.0' matched_length: 88 match_coverage: '100.0' - matcher: 2-aho - license_expression: hp-1986 - rule_identifier: hp-1986.LICENSE rule_relevance: 100 + rule_identifier: hp-1986.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/hp-1986.LICENSE matched_text: | To anyone who acknowledges that this file is provided "AS IS" @@ -1688,16 +1875,19 @@ license_detections: suitability of this software for any purpose. identifier: hp_1986-28bf595d-945f-f17e-30dc-d425078ee11d - license_expression: hs-regexp + license_expression_spdx: Spencer-94 matches: - - score: '100.0' + - license_expression: hs-regexp + spdx_license_expression: Spencer-94 + from_file: start_line: 1356 end_line: 1374 + matcher: 2-aho + score: '100.0' matched_length: 147 match_coverage: '100.0' - matcher: 2-aho - license_expression: hs-regexp - rule_identifier: hs-regexp.LICENSE rule_relevance: 100 + rule_identifier: hs-regexp.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/hs-regexp.LICENSE matched_text: | This software is not subject to any license of the American Telephone @@ -1721,16 +1911,19 @@ license_detections: 4. This notice may not be removed or altered. identifier: hs_regexp-45f2b42c-373c-dcca-6300-bc6a3f618b50 - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1381 end_line: 1400 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1755,16 +1948,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_simplified-24fb2214-fe65-fd01-a4db-75b7cf8d710c - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1407 end_line: 1426 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1789,16 +1985,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_simplified-24fb2214-fe65-fd01-a4db-75b7cf8d710c - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1435 end_line: 1454 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1823,16 +2022,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_simplified-24fb2214-fe65-fd01-a4db-75b7cf8d710c - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1466 end_line: 1489 + matcher: 2-aho + score: '100.0' matched_length: 205 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_983.RULE rule_relevance: 100 + rule_identifier: bsd-new_983.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_983.RULE matched_text: "Redistribution and use in source and binary forms, with or without \n\ modification, are permitted provided that the following conditions are met: \n\n \ @@ -1854,16 +2056,19 @@ license_detections: \ OF SUCH DAMAGE." identifier: bsd_new-5869de9a-8140-2461-9d3a-19ac46ce9eca - license_expression: unicode AND lgpl-2.1-plus + license_expression_spdx: LicenseRef-scancode-unicode AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: unicode + spdx_license_expression: LicenseRef-scancode-unicode + from_file: start_line: 1494 end_line: 1511 + matcher: 2-aho + score: '100.0' matched_length: 151 match_coverage: '100.0' - matcher: 2-aho - license_expression: unicode - rule_identifier: unicode_6.RULE rule_relevance: 100 + rule_identifier: unicode_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unicode_6.RULE matched_text: | UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE @@ -1884,15 +2089,17 @@ license_detections: FILES OR SOFTWARE. COPYRIGHT AND PERMISSION NOTICE - - score: '100.0' + - license_expression: unicode + spdx_license_expression: LicenseRef-scancode-unicode + from_file: start_line: 1513 end_line: 1543 + matcher: 2-aho + score: '100.0' matched_length: 309 match_coverage: '100.0' - matcher: 2-aho - license_expression: unicode - rule_identifier: unicode_17.RULE rule_relevance: 100 + rule_identifier: unicode_17.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unicode_17.RULE matched_text: | Distributed under @@ -1926,15 +2133,17 @@ license_detections: not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder. - - score: '81.51' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 1547 end_line: 1561 + matcher: 3-seq + score: '81.51' matched_length: 119 match_coverage: '81.51' - matcher: 3-seq - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_492.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_492.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_492.RULE matched_text: | Free Software Foundation, Inc. diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/gcc-9-base/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/gcc-9-base/copyright-detailed.expected.yml index fe8942e87b..b20efc4be4 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/gcc-9-base/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/gcc-9-base/copyright-detailed.expected.yml @@ -46,16 +46,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 + license_expression_spdx: GPL-3.0-or-later WITH GCC-exception-3.1 matches: - - score: '100.0' + - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 + spdx_license_expression: GPL-3.0-or-later WITH GCC-exception-3.1 + from_file: start_line: 83 end_line: 99 + matcher: 2-aho + score: '100.0' matched_length: 133 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 - rule_identifier: gpl-3.0-plus_with_gcc-exception-3.1_21.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_with_gcc-exception-3.1_21.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_gcc-exception-3.1_21.RULE matched_text: | GCC is free software; you can redistribute it and/or modify it under @@ -75,15 +78,17 @@ license_detections: On Debian GNU/Linux systems, the complete text of the GNU General Public License is in `/usr/share/common-licenses/GPL', version 3 of this license in `/usr/share/common-licenses/GPL-3'. - - score: '100.0' + - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 + spdx_license_expression: GPL-3.0-or-later WITH GCC-exception-3.1 + from_file: start_line: 101 end_line: 103 + matcher: 2-aho + score: '100.0' matched_length: 32 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 - rule_identifier: gpl-3.0-plus_with_gcc-exception-3.1_18.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_with_gcc-exception-3.1_18.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_gcc-exception-3.1_18.RULE matched_text: | The following runtime libraries are licensed under the terms of the @@ -91,16 +96,19 @@ license_detections: Runtime Library Exception (included in this file): identifier: gpl_3_0_plus_with_gcc_exception_3_1-515ad309-fd9b-9f8d-bb86-8c7089f7f67a - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 123 end_line: 149 + matcher: 2-aho + score: '100.0' matched_length: 203 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_98.RULE rule_relevance: 100 + rule_identifier: bsd-new_98.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_98.RULE matched_text: "Redistribution and use in source and binary forms, with or without\n\ modification, are permitted provided that the following conditions are\nmet:\n\n \ @@ -121,16 +129,19 @@ license_detections: \ THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE." identifier: bsd_new-ddbdf2af-d93f-9912-6c83-1167bb9d3f80 - license_expression: uoi-ncsa AND mit + license_expression_spdx: NCSA AND MIT matches: - - score: '100.0' + - license_expression: uoi-ncsa + spdx_license_expression: NCSA + from_file: start_line: 167 end_line: '192' + matcher: 2-aho + score: '100.0' matched_length: 224 match_coverage: '100.0' - matcher: 2-aho - license_expression: uoi-ncsa - rule_identifier: uoi-ncsa_9.RULE rule_relevance: 100 + rule_identifier: uoi-ncsa_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/uoi-ncsa_9.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy of @@ -159,15 +170,17 @@ license_detections: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: '194' end_line: 210 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -189,16 +202,19 @@ license_detections: THE SOFTWARE. identifier: uoi_ncsa_and_mit-665f4b33-de00-67e2-f39e-c4aeed276c1e - license_expression: mit AND gfdl-1.2 AND gcc-exception-3.1 + license_expression_spdx: MIT AND GFDL-1.2-only AND GCC-exception-3.1 matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 217 end_line: 234 + matcher: 2-aho + score: '100.0' matched_length: 158 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_1083.RULE rule_relevance: 100 + rule_identifier: mit_1083.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1083.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining @@ -219,29 +235,33 @@ license_detections: OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - score: '100.0' + - license_expression: gfdl-1.2 + spdx_license_expression: GFDL-1.2-only + from_file: start_line: 237 end_line: 239 + matcher: 2-aho + score: '100.0' matched_length: 32 match_coverage: '100.0' - matcher: 2-aho - license_expression: gfdl-1.2 - rule_identifier: gfdl-1.2_7.RULE rule_relevance: 100 + rule_identifier: gfdl-1.2_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gfdl-1.2_7.RULE matched_text: | The documentation is licensed under the GNU Free Documentation License (v1.2). On Debian GNU/Linux systems, the complete text of this license is in `/usr/share/common-licenses/GFDL-1.2'. - - score: '100.0' + - license_expression: gcc-exception-3.1 + spdx_license_expression: GCC-exception-3.1 + from_file: start_line: 242 end_line: 313 + matcher: 2-aho + score: '100.0' matched_length: 512 match_coverage: '100.0' - matcher: 2-aho - license_expression: gcc-exception-3.1 - rule_identifier: gcc-exception-3.1.LICENSE rule_relevance: 100 + rule_identifier: gcc-exception-3.1.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/gcc-exception-3.1.LICENSE matched_text: | GCC RUNTIME LIBRARY EXCEPTION @@ -318,16 +338,19 @@ license_detections: requirements of the license of GCC. identifier: mit_and_gfdl_1_2_and_gcc_exception_3_1-52d926fc-e7f5-999e-1780-6dd7bd70cd6f - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 322 end_line: 331 + matcher: 2-aho + score: '100.0' matched_length: 87 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_469.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_469.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_469.RULE matched_text: | This file is part of the libiberty library. @@ -342,16 +365,19 @@ license_detections: Library General Public License for more details. identifier: lgpl_2_0_plus-35d0fb1e-679a-92c4-4ed4-ba6282419c63 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 338 end_line: 346 + matcher: 2-aho + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_34.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_34.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -365,16 +391,19 @@ license_detections: Lesser General Public License for more details. identifier: lgpl_2_1_plus-3b5f0e12-e5c2-78c5-f441-4ca7bdfbc474 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 356 end_line: 364 + matcher: 2-aho + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_34.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_34.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -388,16 +417,19 @@ license_detections: Lesser General Public License for more details. identifier: lgpl_2_1_plus-3b5f0e12-e5c2-78c5-f441-4ca7bdfbc474 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 374 end_line: 382 + matcher: 2-aho + score: '100.0' matched_length: 86 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_327.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_327.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_327.RULE matched_text: | The GNU C Library is free software; you can redistribute it and/or @@ -411,30 +443,36 @@ license_detections: Lesser General Public License for more details. identifier: lgpl_2_1_plus-1e9ed5fb-59c8-38f4-3025-8ef27ff4bcb2 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '70.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 387 end_line: 387 + matcher: 2-aho + score: '70.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_bare_words.RULE rule_relevance: 70 + rule_identifier: public-domain_bare_words.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE matched_text: Public domain. identifier: public_domain-3dd945ae-65df-7d90-6467-60f8ecf2eb77 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 395 end_line: 403 + matcher: 2-aho + score: '100.0' matched_length: 86 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_327.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_327.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_327.RULE matched_text: | The GNU C Library is free software; you can redistribute it and/or @@ -448,16 +486,19 @@ license_detections: Lesser General Public License for more details. identifier: lgpl_2_1_plus-1e9ed5fb-59c8-38f4-3025-8ef27ff4bcb2 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 410 end_line: 418 + matcher: 2-aho + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_34.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_34.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -471,16 +512,19 @@ license_detections: Lesser General Public License for more details. identifier: lgpl_2_1_plus-3b5f0e12-e5c2-78c5-f441-4ca7bdfbc474 - license_expression: sunpro + license_expression_spdx: SunPro matches: - - score: '100.0' + - license_expression: sunpro + spdx_license_expression: SunPro + from_file: start_line: 424 end_line: 427 + matcher: 2-aho + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 2-aho - license_expression: sunpro - rule_identifier: sunpro.LICENSE rule_relevance: 100 + rule_identifier: sunpro.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/sunpro.LICENSE matched_text: | Developed at SunPro, a Sun Microsystems, Inc. business. @@ -489,16 +533,19 @@ license_detections: * is preserved. identifier: sunpro-8cbf8f94-4a9d-af5a-dc57-033780c667f7 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 434 end_line: 458 + matcher: 2-aho + score: '100.0' matched_length: 212 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_166.RULE rule_relevance: 100 + rule_identifier: bsd-new_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_166.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -528,16 +575,19 @@ license_detections: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-050b3051-820b-200e-26c9-1a3c8e9761d2 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 473 end_line: 480 + matcher: 2-aho + score: '100.0' matched_length: 75 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_812.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_812.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_812.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -550,16 +600,19 @@ license_detections: license in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus-61a2eca6-5026-e856-1a3d-dd46fc4ec497 - license_expression: artistic-perl-1.0 OR gpl-1.0 + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-only matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0 + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-only + from_file: start_line: 490 end_line: 495 + matcher: 2-aho + score: '100.0' matched_length: 46 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0 - rule_identifier: artistic-perl-1.0_or_gpl-1.0_2.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0_2.RULE matched_text: | License for redistribution is by either the Artistic License or @@ -570,16 +623,19 @@ license_detections: license in `/usr/share/common-licenses/Artistic'. identifier: artistic_perl_1_0_or_gpl_1_0-3595a871-9965-7e70-31ab-7b75ec03f7f3 - license_expression: zlib + license_expression_spdx: Zlib matches: - - score: '100.0' + - license_expression: zlib + spdx_license_expression: Zlib + from_file: start_line: 503 end_line: 517 + matcher: 2-aho + score: '100.0' matched_length: 132 match_coverage: '100.0' - matcher: 2-aho - license_expression: zlib - rule_identifier: zlib.LICENSE rule_relevance: 100 + rule_identifier: zlib.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE matched_text: | This software is provided 'as-is', without any express or implied @@ -599,16 +655,19 @@ license_detections: 3. This notice may not be removed or altered from any source distribution. identifier: zlib-f32ae987-c66a-44ce-bd13-c90e0c59aab8 - license_expression: d-zlib + license_expression_spdx: LicenseRef-scancode-d-zlib matches: - - score: '100.0' + - license_expression: d-zlib + spdx_license_expression: LicenseRef-scancode-d-zlib + from_file: start_line: 529 end_line: 545 + matcher: 2-aho + score: '100.0' matched_length: 138 match_coverage: '100.0' - matcher: 2-aho - license_expression: d-zlib - rule_identifier: d-zlib.LICENSE rule_relevance: 100 + rule_identifier: d-zlib.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/d-zlib.LICENSE matched_text: | This software is provided 'as-is', without any express or implied @@ -630,16 +689,19 @@ license_detections: distribution. identifier: d_zlib-b5366170-a1b8-db31-98f3-558ace6d8893 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 557 end_line: 574 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -662,16 +724,19 @@ license_detections: USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 + license_expression_spdx: GPL-3.0-or-later WITH GCC-exception-3.1 matches: - - score: '100.0' + - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 + spdx_license_expression: GPL-3.0-or-later WITH GCC-exception-3.1 + from_file: start_line: 581 end_line: 598 + matcher: 2-aho + score: '100.0' matched_length: 144 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 - rule_identifier: gpl-3.0-plus_with_gcc-exception-3.1_10.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_with_gcc-exception-3.1_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_gcc-exception-3.1_10.RULE matched_text: | This file is free software; you can redistribute it and/or modify it @@ -694,16 +759,19 @@ license_detections: . identifier: gpl_3_0_plus_with_gcc_exception_3_1-1400acf6-c9c6-a16e-dd05-a6cc5929f4d8 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 606 end_line: 614 + matcher: 2-aho + score: '100.0' matched_length: 78 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_397.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_397.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_397.RULE matched_text: | GNU Modula-2 is free software; you can redistribute it and/or modify @@ -717,16 +785,19 @@ license_detections: General Public License for more details. identifier: gpl_3_0_plus-8e3845a7-0660-b619-feb1-108f0b0c6227 - license_expression: gfdl-1.3-plus + license_expression_spdx: GFDL-1.3-or-later matches: - - score: '100.0' + - license_expression: gfdl-1.3-plus + spdx_license_expression: GFDL-1.3-or-later + from_file: start_line: 620 end_line: 623 + matcher: 2-aho + score: '100.0' matched_length: 46 match_coverage: '100.0' - matcher: 2-aho - license_expression: gfdl-1.3-plus - rule_identifier: gfdl-1.3-plus_4.RULE rule_relevance: 100 + rule_identifier: gfdl-1.3-plus_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gfdl-1.3-plus_4.RULE matched_text: | Permission is granted to copy, distribute and/or modify this document @@ -735,16 +806,19 @@ license_detections: Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. identifier: gfdl_1_3_plus-df889bb7-d78d-afbe-a993-9f7165b10997 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 629 end_line: 637 + matcher: 2-aho + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_34.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_34.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -758,16 +832,19 @@ license_detections: Lesser General Public License for more details. identifier: lgpl_2_1_plus-3b5f0e12-e5c2-78c5-f441-4ca7bdfbc474 - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 + license_expression_spdx: GPL-3.0-or-later WITH GCC-exception-3.1 matches: - - score: '100.0' + - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 + spdx_license_expression: GPL-3.0-or-later WITH GCC-exception-3.1 + from_file: start_line: 643 end_line: 646 + matcher: 2-aho + score: '100.0' matched_length: 40 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus WITH gcc-exception-3.1 - rule_identifier: gpl-3.0-plus_with_gcc-exception-3.1_20.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_with_gcc-exception-3.1_20.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_gcc-exception-3.1_20.RULE matched_text: | GNU Modula-2 is free software; you can redistribute it and/or modify it under @@ -776,16 +853,19 @@ license_detections: version. identifier: gpl_3_0_plus_with_gcc_exception_3_1-77ef2921-6876-afac-9289-25e5eb34efc0 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 661 end_line: 669 + matcher: 2-aho + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_34.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_34.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -799,16 +879,19 @@ license_detections: Lesser General Public License for more details. identifier: lgpl_2_1_plus-3b5f0e12-e5c2-78c5-f441-4ca7bdfbc474 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 675 end_line: 683 + matcher: 2-aho + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_34.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_34.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -822,16 +905,19 @@ license_detections: Lesser General Public License for more details. identifier: lgpl_2_1_plus-3b5f0e12-e5c2-78c5-f441-4ca7bdfbc474 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 705 end_line: 713 + matcher: 2-aho + score: '100.0' matched_length: 78 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_397.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_397.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_397.RULE matched_text: | GNU Modula-2 is free software; you can redistribute it and/or modify @@ -845,16 +931,19 @@ license_detections: General Public License for more details. identifier: gpl_3_0_plus-8e3845a7-0660-b619-feb1-108f0b0c6227 - license_expression: gpl-3.0-plus AND (gpl-3.0 AND lgpl-2.1) + license_expression_spdx: GPL-3.0-or-later AND (GPL-3.0-only AND LGPL-2.1-only) matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 728 end_line: 736 + matcher: 2-aho + score: '100.0' matched_length: 78 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_397.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_397.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_397.RULE matched_text: | GNU Modula-2 is free software; you can redistribute it and/or modify it under @@ -866,29 +955,34 @@ license_detections: WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - score: '95.0' + - license_expression: gpl-3.0 AND lgpl-2.1 + spdx_license_expression: GPL-3.0-only AND LGPL-2.1-only + from_file: start_line: 739 end_line: 739 + matcher: 2-aho + score: '95.0' matched_length: 16 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0 AND lgpl-2.1 - rule_identifier: gpl-3.0_and_lgpl-2.1_1.RULE rule_relevance: 95 + rule_identifier: gpl-3.0_and_lgpl-2.1_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_and_lgpl-2.1_1.RULE matched_text: This has a mix of licenses, both LGPL-2.1 and GPL-3.0, plus the apparently identifier: gpl_3_0_plus_and__gpl_3_0_and_lgpl_2_1-c16ec1a5-26e8-5560-9e27-e9ca7ec4a7d2 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 757 end_line: 765 + matcher: 2-aho + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_34.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_34.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -902,16 +996,19 @@ license_detections: Lesser General Public License for more details. identifier: lgpl_2_1_plus-3b5f0e12-e5c2-78c5-f441-4ca7bdfbc474 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 771 end_line: 779 + matcher: 2-aho + score: '100.0' matched_length: 78 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_397.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_397.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_397.RULE matched_text: | GNU Modula-2 is free software; you can redistribute it and/or modify it under @@ -926,16 +1023,21 @@ license_detections: identifier: gpl_3_0_plus-8e3845a7-0660-b619-feb1-108f0b0c6227 - license_expression: lgpl-2.1-plus AND (lgpl-3.0 AND gpl-3.0) AND (gpl-3.0 AND lgpl-2.1 AND lgpl-3.0) AND (lgpl-2.0 AND gpl-3.0) AND gpl-3.0-plus AND gnu-emacs-gpl-1988 + license_expression_spdx: LGPL-2.1-or-later AND (LGPL-3.0-only AND GPL-3.0-only) AND (GPL-3.0-only + AND LGPL-2.1-only AND LGPL-3.0-only) AND (LGPL-2.0-only AND GPL-3.0-only) AND GPL-3.0-or-later + AND LicenseRef-scancode-gnu-emacs-gpl-1988 matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 785 end_line: 793 + matcher: 2-aho + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_34.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_34.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -947,70 +1049,82 @@ license_detections: but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - - score: '100.0' + - license_expression: lgpl-3.0 AND gpl-3.0 + spdx_license_expression: LGPL-3.0-only AND GPL-3.0-only + from_file: start_line: 797 end_line: 797 + matcher: 2-aho + score: '100.0' matched_length: 9 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0 AND gpl-3.0 - rule_identifier: lgpl-3.0_and_gpl-3.0_3.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0_and_gpl-3.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_and_gpl-3.0_3.RULE matched_text: mix of GPL-3.0 and LGPL-3.0 - - score: '100.0' + - license_expression: gpl-3.0 AND lgpl-2.1 AND lgpl-3.0 + spdx_license_expression: GPL-3.0-only AND LGPL-2.1-only AND LGPL-3.0-only + from_file: start_line: 801 end_line: 801 + matcher: 2-aho + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0 AND lgpl-2.1 AND lgpl-3.0 - rule_identifier: gpl-3.0_and_lgpl-2.1_and_lgpl-3.0_1.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_and_lgpl-2.1_and_lgpl-3.0_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_and_lgpl-2.1_and_lgpl-3.0_1.RULE matched_text: mix of GPL-3.0 and LGPL-2.1/3 - - score: '100.0' + - license_expression: gpl-3.0 AND lgpl-2.1 AND lgpl-3.0 + spdx_license_expression: GPL-3.0-only AND LGPL-2.1-only AND LGPL-3.0-only + from_file: start_line: 805 end_line: 805 + matcher: 2-aho + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0 AND lgpl-2.1 AND lgpl-3.0 - rule_identifier: gpl-3.0_and_lgpl-2.1_and_lgpl-3.0_1.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_and_lgpl-2.1_and_lgpl-3.0_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_and_lgpl-2.1_and_lgpl-3.0_1.RULE matched_text: mix of GPL-3.0 and LGPL-2.1/3 - - score: '100.0' + - license_expression: lgpl-2.0 AND gpl-3.0 + spdx_license_expression: LGPL-2.0-only AND GPL-3.0-only + from_file: start_line: 809 end_line: 809 + matcher: 2-aho + score: '100.0' matched_length: 9 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0 AND gpl-3.0 - rule_identifier: lgpl-2.0_and_gpl-3.0_1.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0_and_gpl-3.0_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0_and_gpl-3.0_1.RULE matched_text: Mix of LGPL-2.1 and GPL-3.0. - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 812 end_line: 812 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_89.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_89.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_89.RULE matched_text: GPL-3+ - - score: '100.0' + - license_expression: gnu-emacs-gpl-1988 + spdx_license_expression: LicenseRef-scancode-gnu-emacs-gpl-1988 + from_file: start_line: 815 end_line: 821 + matcher: 2-aho + score: '100.0' matched_length: 70 match_coverage: '100.0' - matcher: 2-aho - license_expression: gnu-emacs-gpl-1988 - rule_identifier: gnu-emacs-gpl-1988_1.RULE rule_relevance: 100 + rule_identifier: gnu-emacs-gpl-1988_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gnu-emacs-gpl-1988_1.RULE matched_text: | Everyone is granted permission to copy, modify and redistribute @@ -1022,42 +1136,51 @@ license_detections: ;; and this notice must be preserved on all copies. identifier: lgpl_2_1_plus_and__lgpl_3_0_and_gpl_3_0__and__gpl_3_0_and_lgpl_2_1_and_lgpl_3_0__and__lgpl_2_0_and_gpl_3_0__and_gpl_3_0_plus_and_gnu_emacs_gpl_1988-bebf37e4-4b91-2b28-3d6b-8bd51e577b4c - license_expression: (gpl-3.0 AND lgpl-2.1) AND (gpl-2.0-plus AND gpl-3.0-plus) + license_expression_spdx: (GPL-3.0-only AND LGPL-2.1-only) AND (GPL-2.0-or-later AND GPL-3.0-or-later) matches: - - score: '100.0' + - license_expression: gpl-3.0 AND lgpl-2.1 + spdx_license_expression: GPL-3.0-only AND LGPL-2.1-only + from_file: start_line: 826 end_line: 826 + matcher: 2-aho + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0 AND lgpl-2.1 - rule_identifier: gpl-3.0_and_lgpl-2.1_2.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_and_lgpl-2.1_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_and_lgpl-2.1_2.RULE matched_text: Mix of GPL-3 and LGPL-2.1. - - score: '100.0' + - license_expression: gpl-2.0-plus AND gpl-3.0-plus + spdx_license_expression: GPL-2.0-or-later AND GPL-3.0-or-later + from_file: start_line: 830 end_line: 830 + matcher: 2-aho + score: '100.0' matched_length: 7 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus AND gpl-3.0-plus - rule_identifier: gpl-2.0-plus_and_gpl-3.0-plus_3.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_and_gpl-3.0-plus_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_and_gpl-3.0-plus_3.RULE matched_text: Mix of GPL-2+ and GPL-3+ identifier: gpl_3_0_and_lgpl_2_1__and__gpl_2_0_plus_and_gpl_3_0_plus-41b20618-fcb3-c4b1-b693-d0562b1c05e4 - license_expression: lgpl-2.1-plus AND (lgpl-2.1 AND lgpl-3.0 AND gpl-3.0) AND (lgpl-2.1 AND lgpl-3.0) + license_expression_spdx: LGPL-2.1-or-later AND (LGPL-2.1-only AND LGPL-3.0-only AND GPL-3.0-only) + AND (LGPL-2.1-only AND LGPL-3.0-only) matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 837 end_line: 845 + matcher: 2-aho + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_34.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_34.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -1069,37 +1192,43 @@ license_detections: but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - - score: '100.0' + - license_expression: lgpl-2.1 AND lgpl-3.0 AND gpl-3.0 + spdx_license_expression: LGPL-2.1-only AND LGPL-3.0-only AND GPL-3.0-only + from_file: start_line: 849 end_line: 849 + matcher: 2-aho + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1 AND lgpl-3.0 AND gpl-3.0 - rule_identifier: lgpl-2.1_and_lgpl-3.0_and_gpl-3.0_1.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_and_lgpl-3.0_and_gpl-3.0_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_and_lgpl-3.0_and_gpl-3.0_1.RULE matched_text: Mix of LGPL-2.1, LGPL-3 and GPL-3. - - score: '100.0' + - license_expression: lgpl-2.1 AND lgpl-3.0 + spdx_license_expression: LGPL-2.1-only AND LGPL-3.0-only + from_file: start_line: 853 end_line: 853 + matcher: 2-aho + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1 AND lgpl-3.0 - rule_identifier: lgpl-2.1_and_lgpl-3.0_1.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_and_lgpl-3.0_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_and_lgpl-3.0_1.RULE matched_text: Mix of LGPL-2.1 and LGPL-3. - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 857 end_line: 866 + matcher: 2-aho + score: '100.0' matched_length: 86 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_396.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_396.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_396.RULE matched_text: | License: LGPL-2.1+ @@ -1114,16 +1243,19 @@ license_detections: Library General Public License for more details. identifier: lgpl_2_1_plus_and__lgpl_2_1_and_lgpl_3_0_and_gpl_3_0__and__lgpl_2_1_and_lgpl_3_0-d98cca80-ca02-194f-67c1-081450d70c19 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 872 end_line: 880 + matcher: 2-aho + score: '100.0' matched_length: 78 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_397.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_397.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_397.RULE matched_text: | GNU Modula-2 is free software; you can redistribute it and/or modify it under @@ -1137,16 +1269,19 @@ license_detections: for more details. identifier: gpl_3_0_plus-8e3845a7-0660-b619-feb1-108f0b0c6227 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 886 end_line: 894 + matcher: 2-aho + score: '100.0' matched_length: 78 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_397.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_397.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_397.RULE matched_text: | GNU Modula-2 is free software; you can redistribute it and/or modify @@ -1160,16 +1295,19 @@ license_detections: General Public License for more details. identifier: gpl_3_0_plus-8e3845a7-0660-b619-feb1-108f0b0c6227 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 899 end_line: 907 + matcher: 2-aho + score: '100.0' matched_length: 78 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_397.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_397.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_397.RULE matched_text: | GNU Modula-2 is free software; you can redistribute it and/or modify it under @@ -1183,16 +1321,19 @@ license_detections: for more details. identifier: gpl_3_0_plus-8e3845a7-0660-b619-feb1-108f0b0c6227 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 913 end_line: 921 + matcher: 2-aho + score: '100.0' matched_length: 78 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_397.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_397.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_397.RULE matched_text: | GNU Modula-2 is free software; you can redistribute it and/or modify @@ -1206,16 +1347,19 @@ license_detections: GNU General Public License for more details. identifier: gpl_3_0_plus-8e3845a7-0660-b619-feb1-108f0b0c6227 - license_expression: lgpl-2.0-plus AND gpl-1.0-plus + license_expression_spdx: LGPL-2.0-or-later AND GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus AND gpl-1.0-plus + spdx_license_expression: LGPL-2.0-or-later AND GPL-1.0-or-later + from_file: start_line: 947 end_line: 953 + matcher: 2-aho + score: '100.0' matched_length: 66 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus AND gpl-1.0-plus - rule_identifier: lgpl-2.0-plus_and_gpl-1.0-plus_2.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_and_gpl-1.0-plus_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_and_gpl-1.0-plus_2.RULE matched_text: | Parts of this work are licensed under the terms of the GNU General @@ -1227,16 +1371,19 @@ license_detections: license be found in /usr/share/common-licenses/LGPL. identifier: lgpl_2_0_plus_and_gpl_1_0_plus-ea6120ce-febd-518c-1a96-ebf5ad359b44 - license_expression: bsla-no-advert + license_expression_spdx: LicenseRef-scancode-bsla-no-advert matches: - - score: '100.0' + - license_expression: bsla-no-advert + spdx_license_expression: LicenseRef-scancode-bsla-no-advert + from_file: start_line: 962 end_line: 972 + matcher: 2-aho + score: '100.0' matched_length: 99 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsla-no-advert - rule_identifier: bsla-no-advert.LICENSE rule_relevance: 100 + rule_identifier: bsla-no-advert.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsla-no-advert.LICENSE matched_text: "Redistribution and use in source and binary forms are permitted\nprovided\ \ that the above copyright notice and this paragraph are\nduplicated in all such forms\ @@ -1249,16 +1396,19 @@ license_detections: \ PARTICULAR PURPOSE." identifier: bsla_no_advert-57978d98-817a-ef5a-43bc-8507eaddaf43 - license_expression: bsla + license_expression_spdx: BSD-4.3TAHOE matches: - - score: '100.0' + - license_expression: bsla + spdx_license_expression: BSD-4.3TAHOE + from_file: start_line: 979 end_line: 989 + matcher: 2-aho + score: '100.0' matched_length: 101 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsla - rule_identifier: bsla.LICENSE rule_relevance: 100 + rule_identifier: bsla.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsla.LICENSE matched_text: | Redistribution and use in source and binary forms are permitted @@ -1274,16 +1424,19 @@ license_detections: WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. identifier: bsla-f5e6e752-5580-dedf-4978-65f27db044cc - license_expression: bsd-original-uc + license_expression_spdx: BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 997 end_line: 1023 + matcher: 2-aho + score: '100.0' matched_length: 243 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_3.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1315,16 +1468,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_original_uc-f28cb4d4-6336-ee60-f186-4c1929d3a4b0 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1030 end_line: 1052 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1352,16 +1508,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98 - license_expression: bsd-original-uc + license_expression_spdx: BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 1064 end_line: 1090 + matcher: 2-aho + score: '100.0' matched_length: 243 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_3.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1393,16 +1552,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_original_uc-f28cb4d4-6336-ee60-f186-4c1929d3a4b0 - license_expression: flex-2.5 + license_expression_spdx: BSD-3-Clause-flex matches: - - score: '100.0' + - license_expression: flex-2.5 + spdx_license_expression: BSD-3-Clause-flex + from_file: start_line: 1097 end_line: 1109 + matcher: 2-aho + score: '100.0' matched_length: 122 match_coverage: '100.0' - matcher: 2-aho - license_expression: flex-2.5 - rule_identifier: flex-2.5_6.RULE rule_relevance: 100 + rule_identifier: flex-2.5_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/flex-2.5_6.RULE matched_text: | Redistribution and use in source and binary forms are permitted @@ -1420,32 +1582,40 @@ license_detections: WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. identifier: flex_2_5-dc2b38a4-d8d9-e49a-8c97-65694300b4be - license_expression: bsd-original-uc + license_expression_spdx: BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 1117 end_line: 1117 + matcher: 2-aho + score: '100.0' matched_length: 11 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc.RULE matched_text: ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change identifier: bsd_original_uc-3028f908-0199-4878-9644-da1c6c536067 - license_expression: gpl-3.0 AND gpl-2.0 AND lgpl-3.0-plus WITH cygwin-exception-lgpl-3.0-plus AND other-copyleft AND other-permissive + license_expression_spdx: GPL-3.0-only AND GPL-2.0-only AND LGPL-3.0-or-later WITH LicenseRef-scancode-cygwin-exception-lgpl-3.0-plus + AND LicenseRef-scancode-other-copyleft AND LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: gpl-3.0 AND gpl-2.0 AND lgpl-3.0-plus WITH cygwin-exception-lgpl-3.0-plus + AND other-copyleft AND other-permissive + spdx_license_expression: GPL-3.0-only AND GPL-2.0-only AND LGPL-3.0-or-later WITH LicenseRef-scancode-cygwin-exception-lgpl-3.0-plus + AND LicenseRef-scancode-other-copyleft AND LicenseRef-scancode-other-permissive + from_file: start_line: 1127 end_line: 1129 + matcher: 2-aho + score: '100.0' matched_length: 21 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0 AND gpl-2.0 AND lgpl-3.0-plus WITH cygwin-exception-lgpl-3.0-plus - AND other-copyleft AND other-permissive - rule_identifier: gpl-3.0_and_gpl-2.0_and_lgpl-3.0-plus_and_other-copyleft_and_other-permissive_1.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_and_gpl-2.0_and_lgpl-3.0-plus_and_other-copyleft_and_other-permissive_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_and_gpl-2.0_and_lgpl-3.0-plus_and_other-copyleft_and_other-permissive_1.RULE matched_text: | This software is a copyrighted work licensed under the terms of the @@ -1453,16 +1623,19 @@ license_detections: details. identifier: gpl_3_0_and_gpl_2_0_and_lgpl_3_0_plus_with_cygwin_exception_lgpl_3_0_plus_and_other_copyleft_and_other_permissive-97e72829-8548-5a17-f1ec-868edb9679fc - license_expression: x11-lucent + license_expression_spdx: dtoa matches: - - score: '100.0' + - license_expression: x11-lucent + spdx_license_expression: dtoa + from_file: start_line: 1137 end_line: 1146 + matcher: 2-aho + score: '100.0' matched_length: 93 match_coverage: '100.0' - matcher: 2-aho - license_expression: x11-lucent - rule_identifier: x11-lucent.RULE rule_relevance: 100 + rule_identifier: x11-lucent.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-lucent.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -1477,16 +1650,19 @@ license_detections: OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. identifier: x11_lucent-0e33f797-24ab-9665-2d4b-10a0ff4d546d - license_expression: amd-historical + license_expression_spdx: LicenseRef-scancode-amd-historical matches: - - score: '100.0' + - license_expression: amd-historical + spdx_license_expression: LicenseRef-scancode-amd-historical + from_file: start_line: 1152 end_line: 1163 + matcher: 2-aho + score: '100.0' matched_length: 98 match_coverage: '100.0' - matcher: 2-aho - license_expression: amd-historical - rule_identifier: amd-historical_1.RULE rule_relevance: 100 + rule_identifier: amd-historical_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/amd-historical_1.RULE matched_text: | This software is the property of Advanced Micro Devices, Inc (AMD) which @@ -1503,32 +1679,38 @@ license_detections: or suggestions about this software identifier: amd_historical-2ce3eef6-3c42-bf88-a157-854440a529af - license_expression: sunpro + license_expression_spdx: SunPro matches: - - score: '100.0' + - license_expression: sunpro + spdx_license_expression: SunPro + from_file: start_line: 1191 end_line: 1194 + matcher: 2-aho + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 2-aho - license_expression: sunpro - rule_identifier: sunpro.LICENSE rule_relevance: 100 + rule_identifier: sunpro.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/sunpro.LICENSE matched_text: "Developed at SunPro, a Sun Microsystems, Inc. business.\nPermission to\ \ use, copy, modify, and distribute this\nsoftware is freely granted, provided that\ \ this notice \nis preserved." identifier: sunpro-8cbf8f94-4a9d-af5a-dc57-033780c667f7 - license_expression: hp-1986 + license_expression_spdx: HP-1986 matches: - - score: '100.0' + - license_expression: hp-1986 + spdx_license_expression: HP-1986 + from_file: start_line: 1200 end_line: 1209 + matcher: 2-aho + score: '100.0' matched_length: 88 match_coverage: '100.0' - matcher: 2-aho - license_expression: hp-1986 - rule_identifier: hp-1986.LICENSE rule_relevance: 100 + rule_identifier: hp-1986.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/hp-1986.LICENSE matched_text: | To anyone who acknowledges that this file is provided "AS IS" @@ -1543,16 +1725,19 @@ license_detections: suitability of this software for any purpose. identifier: hp_1986-28bf595d-945f-f17e-30dc-d425078ee11d - license_expression: nilsson-historical + license_expression_spdx: LicenseRef-scancode-nilsson-historical matches: - - score: '100.0' + - license_expression: nilsson-historical + spdx_license_expression: LicenseRef-scancode-nilsson-historical + from_file: start_line: 1215 end_line: 1222 + matcher: 2-aho + score: '100.0' matched_length: 55 match_coverage: '100.0' - matcher: 2-aho - license_expression: nilsson-historical - rule_identifier: nilsson-historical.LICENSE rule_relevance: 100 + rule_identifier: nilsson-historical.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/nilsson-historical.LICENSE matched_text: | Permission to use, copy, modify, and distribute this software is @@ -1565,16 +1750,19 @@ license_detections: PURPOSE. identifier: nilsson_historical-1f77a0ef-7d4f-1428-9fd6-07ecdadd3d9d - license_expression: newlib-historical + license_expression_spdx: LicenseRef-scancode-newlib-historical matches: - - score: '100.0' + - license_expression: newlib-historical + spdx_license_expression: LicenseRef-scancode-newlib-historical + from_file: start_line: 1228 end_line: 1236 + matcher: 2-aho + score: '100.0' matched_length: 92 match_coverage: '100.0' - matcher: 2-aho - license_expression: newlib-historical - rule_identifier: newlib-historical.LICENSE rule_relevance: 100 + rule_identifier: newlib-historical.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/newlib-historical.LICENSE matched_text: | The authors hereby grant permission to use, copy, modify, distribute, @@ -1588,16 +1776,19 @@ license_detections: they apply. identifier: newlib_historical-d8838826-351c-66cc-4bd2-2c3b747dc93e - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1243 end_line: 1263 + matcher: 2-aho + score: '100.0' matched_length: 203 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_98.RULE rule_relevance: 100 + rule_identifier: bsd-new_98.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_98.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1623,16 +1814,19 @@ license_detections: THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-ddbdf2af-d93f-9912-6c83-1167bb9d3f80 - license_expression: amd-historical + license_expression_spdx: LicenseRef-scancode-amd-historical matches: - - score: '95.0' + - license_expression: amd-historical + spdx_license_expression: LicenseRef-scancode-amd-historical + from_file: start_line: 1269 end_line: 1280 + matcher: 2-aho + score: '95.0' matched_length: 95 match_coverage: '100.0' - matcher: 2-aho - license_expression: amd-historical - rule_identifier: amd-historical4.RULE rule_relevance: 100 + rule_identifier: amd-historical4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/amd-historical4.RULE matched_text: "This software is the property of SuperH, Inc (SuperH) which specifically\n\ grants the user the right to modify, use and distribute this software\nprovided this\ @@ -1644,16 +1838,19 @@ license_detections: \ any problems\nor suggestions about this software to the" identifier: amd_historical-b5686d7a-c91d-603d-6a57-9b6f23e3c003 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1295 end_line: 1320 + matcher: 2-aho + score: '100.0' matched_length: 212 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_933.RULE rule_relevance: 100 + rule_identifier: bsd-new_933.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_933.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1684,16 +1881,19 @@ license_detections: ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-3067d87e-03fa-386b-14c5-8c725b58e271 - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1327 end_line: 1346 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1718,16 +1918,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_simplified-24fb2214-fe65-fd01-a4db-75b7cf8d710c - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1353 end_line: 1372 + matcher: 2-aho + score: '100.0' matched_length: 181 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_newlib3.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_newlib3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_newlib3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1752,16 +1955,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_simplified-02e6e9b3-23f0-6c99-5b76-c00ab96724f0 - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1379 end_line: 1398 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1786,16 +1992,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_simplified-24fb2214-fe65-fd01-a4db-75b7cf8d710c - license_expression: x11-hanson + license_expression_spdx: LicenseRef-scancode-x11-hanson matches: - - score: '99.0' + - license_expression: x11-hanson + spdx_license_expression: LicenseRef-scancode-x11-hanson + from_file: start_line: 1406 end_line: 1415 + matcher: 2-aho + score: '99.0' matched_length: 89 match_coverage: '100.0' - matcher: 2-aho - license_expression: x11-hanson - rule_identifier: x11-hanson2.RULE rule_relevance: 99 + rule_identifier: x11-hanson2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-hanson2.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -1810,16 +2019,19 @@ license_detections: SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. identifier: x11_hanson-5e7211ee-2950-c22e-9dac-36a7c8fd780b - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1422 end_line: 1441 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1844,16 +2056,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_simplified-24fb2214-fe65-fd01-a4db-75b7cf8d710c - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1448 end_line: 1468 + matcher: 2-aho + score: '100.0' matched_length: 200 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_76.RULE rule_relevance: 100 + rule_identifier: bsd-new_76.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_76.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1879,30 +2094,36 @@ license_detections: ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-8253b828-e3cb-c484-e1ba-cfca208b3bf2 - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 1482 end_line: 1482 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl_39.RULE rule_relevance: 100 + rule_identifier: lgpl_39.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_39.RULE matched_text: Free Software Foundation LGPL License (*- identifier: lgpl_2_0_plus-3510e639-5cec-653e-6f61-1a4daf9a674b - license_expression: lgpl-2.1-plus AND lgpl-2.0-plus + license_expression_spdx: LGPL-2.1-or-later AND LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 1489 end_line: 1502 + matcher: 2-aho + score: '100.0' matched_length: 123 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_12.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_12.RULE matched_text: | The GNU C Library is free software; you can redistribute it and/or @@ -1919,26 +2140,30 @@ license_detections: License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - score: '99.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 1504 end_line: 1504 + matcher: 2-aho + score: '99.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl_33.RULE rule_relevance: 99 + rule_identifier: lgpl_33.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_33.RULE matched_text: LGPL License ( - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 1508 end_line: 1516 + matcher: 2-aho + score: '100.0' matched_length: 81 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_339.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_339.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_339.RULE matched_text: "This program is free software; you can redistribute it and/or\nmodify\ \ it under the terms of the GNU Library General Public License\nas published by the\ @@ -1949,16 +2174,19 @@ license_detections: \ PURPOSE. See the\nGNU Library General Public License for more details." identifier: lgpl_2_1_plus_and_lgpl_2_0_plus-ce146db9-f01c-90ae-37cc-692163db9888 - license_expression: intel-osl-1993 + license_expression_spdx: LicenseRef-scancode-intel-osl-1993 matches: - - score: '100.0' + - license_expression: intel-osl-1993 + spdx_license_expression: LicenseRef-scancode-intel-osl-1993 + from_file: start_line: 1522 end_line: 1544 + matcher: 2-aho + score: '100.0' matched_length: 210 match_coverage: '100.0' - matcher: 2-aho - license_expression: intel-osl-1993 - rule_identifier: intel-osl-1993.LICENSE rule_relevance: 100 + rule_identifier: intel-osl-1993.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/intel-osl-1993.LICENSE matched_text: | Intel hereby grants you permission to copy, modify, and distribute this @@ -1986,16 +2214,19 @@ license_detections: PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER. identifier: intel_osl_1993-19445c9b-464b-0dc8-0e77-c358d42a8657 - license_expression: hp-1986 + license_expression_spdx: HP-1986 matches: - - score: '100.0' + - license_expression: hp-1986 + spdx_license_expression: HP-1986 + from_file: start_line: 1550 end_line: 1559 + matcher: 2-aho + score: '100.0' matched_length: 88 match_coverage: '100.0' - matcher: 2-aho - license_expression: hp-1986 - rule_identifier: hp-1986.LICENSE rule_relevance: 100 + rule_identifier: hp-1986.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/hp-1986.LICENSE matched_text: | To anyone who acknowledges that this file is provided "AS IS" @@ -2010,16 +2241,19 @@ license_detections: suitability of this software for any purpose. identifier: hp_1986-28bf595d-945f-f17e-30dc-d425078ee11d - license_expression: hs-regexp + license_expression_spdx: Spencer-94 matches: - - score: '100.0' + - license_expression: hs-regexp + spdx_license_expression: Spencer-94 + from_file: start_line: 1564 end_line: 1582 + matcher: 2-aho + score: '100.0' matched_length: 147 match_coverage: '100.0' - matcher: 2-aho - license_expression: hs-regexp - rule_identifier: hs-regexp.LICENSE rule_relevance: 100 + rule_identifier: hs-regexp.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/hs-regexp.LICENSE matched_text: | This software is not subject to any license of the American Telephone @@ -2043,16 +2277,19 @@ license_detections: 4. This notice may not be removed or altered. identifier: hs_regexp-45f2b42c-373c-dcca-6300-bc6a3f618b50 - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1589 end_line: 1608 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -2077,16 +2314,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_simplified-24fb2214-fe65-fd01-a4db-75b7cf8d710c - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1615 end_line: 1634 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -2111,16 +2351,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_simplified-24fb2214-fe65-fd01-a4db-75b7cf8d710c - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1643 end_line: 1662 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -2145,16 +2388,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_simplified-24fb2214-fe65-fd01-a4db-75b7cf8d710c - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1674 end_line: 1697 + matcher: 2-aho + score: '100.0' matched_length: 205 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_983.RULE rule_relevance: 100 + rule_identifier: bsd-new_983.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_983.RULE matched_text: "Redistribution and use in source and binary forms, with or without \n\ modification, are permitted provided that the following conditions are met: \n\n \ diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/gpgv/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/gpgv/copyright-detailed.expected.yml index 8328865175..eb23f0a2ff 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/gpgv/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/gpgv/copyright-detailed.expected.yml @@ -38,16 +38,19 @@ other_license_expression_spdx: (GPL-3.0-or-later AND GPL-3.0-or-later) AND (GPL- license_detections: [] other_license_detections: - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '99.05' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 85 end_line: 110 + matcher: 1-hash + score: '99.05' matched_length: 209 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_594.RULE rule_relevance: 100 + rule_identifier: bsd-new_594.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_594.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -78,16 +81,19 @@ other_license_detections: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-1529bb96-2d58-f678-a443-d3bbbf37a9ff - license_expression: fsf-unlimited-no-warranty + license_expression_spdx: FSFULLRWD matches: - - score: '100.0' + - license_expression: fsf-unlimited-no-warranty + spdx_license_expression: FSFULLRWD + from_file: start_line: 114 end_line: 121 + matcher: 1-hash + score: '100.0' matched_length: 64 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-unlimited-no-warranty - rule_identifier: fsf-unlimited-no-warranty.RULE rule_relevance: 100 + rule_identifier: fsf-unlimited-no-warranty.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-unlimited-no-warranty.RULE matched_text: | This file is free software; as a special exception the author gives @@ -100,16 +106,19 @@ other_license_detections: PURPOSE. identifier: fsf_unlimited_no_warranty-005cbd82-97e0-5c6c-e111-cd46d95d2c5a - license_expression: ietf + license_expression_spdx: LicenseRef-scancode-ietf matches: - - score: '90.0' + - license_expression: ietf + spdx_license_expression: LicenseRef-scancode-ietf + from_file: start_line: 129 end_line: 144 + matcher: 2-aho + score: '90.0' matched_length: 149 match_coverage: '100.0' - matcher: 2-aho - license_expression: ietf - rule_identifier: ietf_7.RULE rule_relevance: 90 + rule_identifier: ietf_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/ietf_7.RULE matched_text: | This document and translations of it may be copied and furnished to @@ -130,27 +139,32 @@ other_license_detections: revoked by the Internet Society or its successors or assigns. identifier: ietf-020936d7-aad7-a859-aa41-3ef78b39c612 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 147 end_line: 147 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 148 end_line: 163 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_480.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_480.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_480.RULE matched_text: | GnuPG is free software; you can redistribute it and/or modify @@ -171,27 +185,32 @@ other_license_detections: `/usr/share/common-licenses/GPL-3'. identifier: gpl_3_0_plus-59e30787-1a62-c2cf-50f5-e0d50fffcd04 - license_expression: lgpl-3.0-plus + license_expression_spdx: LGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 165 end_line: 165 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_166.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE matched_text: 'License: lgpl-3+' - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 166 end_line: 181 + matcher: 1-hash + score: '100.0' matched_length: 132 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_191.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_191.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_191.RULE matched_text: | This program is free software; you can redistribute it and/or modify it @@ -212,27 +231,32 @@ other_license_detections: `/usr/share/common-licenses/LGPL-3'. identifier: lgpl_3_0_plus-1cede042-6a19-16e7-f08a-f722296d0745 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 183 end_line: 183 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 184 end_line: '199' + matcher: 1-hash + score: '100.0' matched_length: 135 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_307.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_307.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_307.RULE matched_text: | This program is free software; you can redistribute it and/or modify it @@ -253,16 +277,19 @@ other_license_detections: `/usr/share/common-licenses/LGPL-2.1'. identifier: lgpl_2_1_plus-75b8a956-d72b-ab7f-5921-bec21e7047bb - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 202 end_line: 225 + matcher: 1-hash + score: '100.0' matched_length: 205 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_910.RULE rule_relevance: 100 + rule_identifier: bsd-new_910.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_910.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -291,16 +318,19 @@ other_license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-d710da7a-d455-7e11-d6d1-e58805668aae - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 228 end_line: 245 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -323,27 +353,32 @@ other_license_detections: USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: cc0-1.0 + license_expression_spdx: CC0-1.0 matches: - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 247 end_line: 247 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_12.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_12.RULE matched_text: 'License: cc0-1.0' - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 248 end_line: 253 + matcher: 1-hash + score: '100.0' matched_length: 57 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_131.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_131.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_131.RULE matched_text: | To the extent possible under law, the author(s) have dedicated all @@ -354,16 +389,19 @@ other_license_detections: can be found in /usr/share/common-licenses/CC0-1.0. identifier: cc0_1_0-28709819-142f-86f2-a09a-d8ab5f97a889 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 81 end_line: 81 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_321.RULE rule_relevance: 100 + rule_identifier: other-permissive_321.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_321.RULE matched_text: This file is licensed permissively identifier: other_permissive-9b0e778e-b2cb-3f63-cd43-d76f05797558 diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/grep/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/grep/copyright-detailed.expected.yml index 901afcd1cb..b3a299104c 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/grep/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/grep/copyright-detailed.expected.yml @@ -10,27 +10,32 @@ other_license_expression_spdx: (GPL-3.0-or-later AND GPL-3.0-or-later) AND (GPL- license_detections: [] other_license_detections: - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 23 end_line: 23 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 27 end_line: 45 + matcher: 2-aho + score: '100.0' matched_length: 128 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_481.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_481.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_481.RULE matched_text: | This program is free software; you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/gzip/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/gzip/copyright-detailed.expected.yml index 1bb8edf80d..47454e79e8 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/gzip/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/gzip/copyright-detailed.expected.yml @@ -15,27 +15,32 @@ other_license_expression_spdx: (GPL-3.0-or-later AND GPL-3.0-or-later) AND (GPL- license_detections: [] other_license_detections: - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 25 end_line: 25 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 26 end_line: 40 + matcher: 1-hash + score: '100.0' matched_length: 123 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_482.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_482.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_482.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -55,16 +60,19 @@ other_license_detections: Public License can be found in `/usr/share/common-licenses/GPL-3'. identifier: gpl_3_0_plus-64267dbf-cd13-53b6-0e75-79a84b05d3cf - license_expression: gfdl-1.3-plus + license_expression_spdx: GFDL-1.3-or-later matches: - - score: '100.0' + - license_expression: gfdl-1.3-plus + spdx_license_expression: GFDL-1.3-or-later + from_file: start_line: 43 end_line: 50 + matcher: 1-hash + score: '100.0' matched_length: 72 match_coverage: '100.0' - matcher: 1-hash - license_expression: gfdl-1.3-plus - rule_identifier: gfdl-1.3-plus_24.RULE rule_relevance: 100 + rule_identifier: gfdl-1.3-plus_24.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gfdl-1.3-plus_24.RULE matched_text: | Permission is granted to copy, distribute and/or modify this document @@ -77,16 +85,19 @@ other_license_detections: License can be found in `/usr/share/common-licenses/GFDL-3'. identifier: gfdl_1_3_plus-60c54326-73ad-53e9-8924-f9dfc5748830 - license_expression: latex2e + license_expression_spdx: Latex2e matches: - - score: '85.0' + - license_expression: latex2e + spdx_license_expression: Latex2e + from_file: start_line: 53 end_line: 70 + matcher: 1-hash + score: '85.0' matched_length: 138 match_coverage: '100.0' - matcher: 1-hash - license_expression: latex2e - rule_identifier: latex2e_8.RULE rule_relevance: 85 + rule_identifier: latex2e_8.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/latex2e_8.RULE matched_text: | Permission is granted to make and distribute verbatim copies of diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/hostname/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/hostname/copyright-detailed.expected.yml index 685b0be0bc..d59f57e8ac 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/hostname/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/hostname/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 12 end_line: 26 + matcher: 2-aho + score: '100.0' matched_length: 128 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1033.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1033.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1033.RULE matched_text: "This program is free software; you can redistribute it and/or modify\n\ \tit under the terms of the GNU General Public License as published by\n\tthe Free\ diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/init-system-helpers/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/init-system-helpers/copyright-detailed.expected.yml index 752bf6377b..64bc9fcf9f 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/init-system-helpers/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/init-system-helpers/copyright-detailed.expected.yml @@ -15,27 +15,32 @@ other_license_expression_spdx: BSD-3-Clause AND BSD-3-Clause AND (GPL-2.0-or-lat license_detections: [] other_license_detections: - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 25 end_line: 25 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 26 end_line: 41 + matcher: 1-hash + score: '100.0' matched_length: 134 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_737.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_737.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_737.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -56,16 +61,19 @@ other_license_detections: version 2 can be found in ‘/usr/share/common-licenses/GPL-2’. identifier: gpl_2_0_plus-b1b987d4-03d4-5eb8-154c-7c270ba63c44 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 47 end_line: 70 + matcher: 2-aho + score: '100.0' matched_length: 205 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_1068.RULE rule_relevance: 100 + rule_identifier: bsd-new_1068.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1068.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libacl1/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libacl1/copyright-detailed.expected.yml index 8cbd5b4d99..eb501c707b 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libacl1/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libacl1/copyright-detailed.expected.yml @@ -10,27 +10,32 @@ other_license_expression_spdx: (GPL-2.0-or-later AND GPL-2.0-or-later AND GPL-2. license_detections: [] other_license_detections: - license_expression: gpl-2.0-plus AND gpl-2.0 + license_expression_spdx: GPL-2.0-or-later AND GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 8 end_line: 8 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 9 end_line: 20 + matcher: 1-hash + score: '100.0' matched_length: 102 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_860.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_860.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_860.RULE matched_text: | This program is free software: you can redistribute it and/or modify it @@ -45,42 +50,49 @@ other_license_detections: You should have received a copy of the GNU General Public License along with this program. If not, see . - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 22 end_line: 23 + matcher: 1-hash + score: '100.0' matched_length: 22 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1160.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1160.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1160.RULE matched_text: | On Debian systems, the full text of the GNU General Public License can be found in '/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus_and_gpl_2_0-6749e336-e70c-3988-4833-e4900655801f - license_expression: lgpl-2.0-plus AND lgpl-2.1-plus + license_expression_spdx: LGPL-2.0-or-later AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 39 end_line: 39 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_61.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_61.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_61.RULE matched_text: 'License: lgpl-2+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 40 end_line: 51 + matcher: 1-hash + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_306.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_306.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_306.RULE matched_text: | This program is free software: you can redistribute it and/or modify it @@ -97,32 +109,38 @@ other_license_detections: along with this program. If not, see . identifier: lgpl_2_0_plus_and_lgpl_2_1_plus-c21bb300-ded5-f5b0-2943-5f76e0f2f623 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 22 end_line: 23 + matcher: 1-hash + score: '100.0' matched_length: 22 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1160.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1160.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1160.RULE matched_text: | On Debian systems, the full text of the GNU General Public License can be found in '/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-f5a12419-1f21-0dcb-9684-72c2f6e40432 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 53 end_line: 54 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_325.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_325.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_325.RULE matched_text: | On Debian systems, the full text of the GNU Lesser General Public License diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libapt-pkg6.0/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libapt-pkg6.0/copyright-detailed.expected.yml index b2036b32a4..7928466259 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libapt-pkg6.0/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libapt-pkg6.0/copyright-detailed.expected.yml @@ -5,27 +5,32 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 4 end_line: 4 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_374.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_374.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_374.RULE matched_text: 'License: GPLv2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 6 end_line: 22 + matcher: 2-aho + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_736.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_736.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_736.RULE matched_text: | This program is free software; you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libattr1/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libattr1/copyright-detailed.expected.yml index 96bee13204..eb0873af9b 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libattr1/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libattr1/copyright-detailed.expected.yml @@ -10,27 +10,32 @@ other_license_expression_spdx: (GPL-2.0-or-later AND GPL-2.0-or-later AND GPL-2. license_detections: [] other_license_detections: - license_expression: gpl-2.0-plus AND gpl-2.0 + license_expression_spdx: GPL-2.0-or-later AND GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 8 end_line: 8 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 9 end_line: 20 + matcher: 1-hash + score: '100.0' matched_length: 102 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_860.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_860.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_860.RULE matched_text: | This program is free software: you can redistribute it and/or modify it @@ -45,42 +50,49 @@ other_license_detections: You should have received a copy of the GNU General Public License along with this program. If not, see . - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 22 end_line: 23 + matcher: 1-hash + score: '100.0' matched_length: 22 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1160.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1160.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1160.RULE matched_text: | On Debian systems, the full text of the GNU General Public License can be found in '/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus_and_gpl_2_0-6749e336-e70c-3988-4833-e4900655801f - license_expression: lgpl-2.0-plus AND lgpl-2.1-plus + license_expression_spdx: LGPL-2.0-or-later AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 32 end_line: 32 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_61.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_61.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_61.RULE matched_text: 'License: lgpl-2+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 33 end_line: 44 + matcher: 1-hash + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_306.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_306.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_306.RULE matched_text: | This program is free software: you can redistribute it and/or modify it @@ -97,32 +109,38 @@ other_license_detections: along with this program. If not, see . identifier: lgpl_2_0_plus_and_lgpl_2_1_plus-c21bb300-ded5-f5b0-2943-5f76e0f2f623 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 22 end_line: 23 + matcher: 1-hash + score: '100.0' matched_length: 22 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1160.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1160.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1160.RULE matched_text: | On Debian systems, the full text of the GNU General Public License can be found in '/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-f5a12419-1f21-0dcb-9684-72c2f6e40432 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 46 end_line: 47 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_325.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_325.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_325.RULE matched_text: | On Debian systems, the full text of the GNU Lesser General Public License diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libaudit-common/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libaudit-common/copyright-detailed.expected.yml index 3e23a89468..66b9004d6b 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libaudit-common/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libaudit-common/copyright-detailed.expected.yml @@ -13,27 +13,32 @@ other_license_expression_spdx: (GPL-2.0-only AND GPL-2.0-only) AND (GPL-2.0-only license_detections: [] other_license_detections: - license_expression: lgpl-2.1 + license_expression_spdx: LGPL-2.1-only matches: - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 16 end_line: 16 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_38.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_38.RULE matched_text: 'License: lgpl-2.1' - - score: '97.44' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 17 end_line: 21 + matcher: 2-aho + score: '97.44' matched_length: 38 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_372.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_372.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_372.RULE matched_text: | library libaudit.* is released under LGPL @@ -43,27 +48,32 @@ other_license_detections: for the complete text of the GNU Lesser General Public License. identifier: lgpl_2_1-20d58352-2308-f9d4-19be-3c2cf2b3336a - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 28 end_line: 28 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '99.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 29 end_line: 43 + matcher: 1-hash + score: '99.0' matched_length: 124 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1031.RULE rule_relevance: 99 + rule_identifier: gpl-2.0_1031.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1031.RULE matched_text: | This package is free software; you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libblkid1/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libblkid1/copyright-detailed.expected.yml index d7254b30df..bc7191dbd7 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libblkid1/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libblkid1/copyright-detailed.expected.yml @@ -72,43 +72,51 @@ other_license_expression_spdx: (GPL-2.0-or-later AND GPL-2.0-or-later) AND (GPL- license_detections: [] other_license_detections: - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 345 end_line: 346 + matcher: 2-aho + score: '100.0' matched_length: 17 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_28.RULE rule_relevance: 100 + rule_identifier: public-domain_28.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_28.RULE matched_text: | No copyright is claimed. This code is in the public domain; do with it what you wish. identifier: public_domain-94c09237-25b0-ab6d-340e-62eae2b7eea9 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 350 end_line: 350 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 351 end_line: 365 + matcher: 1-hash + score: '100.0' matched_length: 125 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1189.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1189.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1189.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -128,27 +136,32 @@ other_license_detections: License version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-f0da9233-5233-7bfb-cd4d-15c9cbd6a410 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 367 end_line: 367 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 368 end_line: 383 + matcher: 1-hash + score: '100.0' matched_length: 137 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_906.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_906.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_906.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -169,27 +182,32 @@ other_license_detections: License version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus-389a73cc-676e-ecc6-075d-3774a1be9778 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 385 end_line: 385 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 386 end_line: 400 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_416.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_416.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_416.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -209,16 +227,19 @@ other_license_detections: License version 3 can be found in `/usr/share/common-licenses/GPL-3'. identifier: gpl_3_0_plus-6dd38d39-ae32-a5a3-58aa-6d4f4a3f1cdb - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 403 end_line: 410 + matcher: 1-hash + score: '100.0' matched_length: 70 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified - rule_identifier: bsd-simplified_264.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_264.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_264.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -231,16 +252,19 @@ other_license_detections: documentation and/or other materials provided with the distribution. identifier: bsd_simplified-523bd88c-42d2-11cb-3886-60be795149d1 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 413 end_line: 437 + matcher: 1-hash + score: '100.0' matched_length: 215 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_1063.RULE rule_relevance: 100 + rule_identifier: bsd-new_1063.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1063.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -270,16 +294,19 @@ other_license_detections: POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-e6286cfc-fd40-08e1-ed33-3c2c1bad1f07 - license_expression: bsd-original-uc + license_expression_spdx: BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 440 end_line: 466 + matcher: 1-hash + score: '100.0' matched_length: 243 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_3.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -311,27 +338,32 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_original_uc-f28cb4d4-6336-ee60-f186-4c1929d3a4b0 - license_expression: lgpl-2.0-plus AND lgpl-2.1-plus + license_expression_spdx: LGPL-2.0-or-later AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 468 end_line: 468 + matcher: 1-hash + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_51.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_51.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_51.RULE matched_text: 'License: lgpl' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 469 end_line: 473 + matcher: 1-hash + score: '100.0' matched_length: 37 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_345.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_345.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_345.RULE matched_text: | This file may be redistributed under the terms of the @@ -341,27 +373,32 @@ other_license_detections: License can be found in ‘/usr/share/common-licenses/LGPL’. identifier: lgpl_2_0_plus_and_lgpl_2_1_plus-ee535b08-2e62-57ac-9b69-0ee8b03bde15 - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 475 end_line: 475 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_61.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_61.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_61.RULE matched_text: 'License: lgpl-2+' - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 476 end_line: 490 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_477.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_477.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_477.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -381,27 +418,32 @@ other_license_detections: can be found in /usr/share/common-licenses/LGPL-2 file. identifier: lgpl_2_0_plus-8aa1c724-4bbb-dbb4-937d-77e7ac7027fe - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 492 end_line: 492 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 493 end_line: 508 + matcher: 1-hash + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_344.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_344.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_344.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -422,27 +464,32 @@ other_license_detections: License version 2.1 can be found in ‘/usr/share/common-licenses/LGPL-2.1’. identifier: lgpl_2_1_plus-920f52f3-7de9-6f8b-d6c2-998167ded0bd - license_expression: lgpl-3.0-plus + license_expression_spdx: LGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 510 end_line: 510 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_166.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE matched_text: 'License: lgpl-3+' - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 511 end_line: 525 + matcher: 1-hash + score: '100.0' matched_length: 127 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_206.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_206.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_206.RULE matched_text: | This package is free software; you can redistribute it and/or @@ -462,16 +509,19 @@ other_license_detections: Public License can be found in "/usr/share/common-licenses/LGPL-3". identifier: lgpl_3_0_plus-65e3f8ed-4734-2985-77a5-8c1ebf21d5a1 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 528 end_line: 546 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libbz2-1.0/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libbz2-1.0/copyright-detailed.expected.yml index a934c837ce..6afd69f2aa 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libbz2-1.0/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libbz2-1.0/copyright-detailed.expected.yml @@ -8,16 +8,19 @@ other_license_expression_spdx: bzip2-1.0.6 AND (GPL-2.0-only AND GPL-2.0-only) license_detections: [] other_license_detections: - license_expression: bzip2-libbzip-2010 + license_expression_spdx: bzip2-1.0.6 matches: - - score: '100.0' + - license_expression: bzip2-libbzip-2010 + spdx_license_expression: bzip2-1.0.6 + from_file: start_line: 8 end_line: 37 + matcher: 1-hash + score: '100.0' matched_length: 233 match_coverage: '100.0' - matcher: 1-hash - license_expression: bzip2-libbzip-2010 - rule_identifier: bzip2-libbzip-2010.LICENSE rule_relevance: 100 + rule_identifier: bzip2-libbzip-2010.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bzip2-libbzip-2010.LICENSE matched_text: | Redistribution and use in source and binary forms, with or without @@ -52,27 +55,32 @@ other_license_detections: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bzip2_libbzip_2010-72b4db44-6142-9aeb-acd2-1d8f2447148c - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 46 end_line: 46 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 47 end_line: 48 + matcher: 1-hash + score: '100.0' matched_length: 21 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1294.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1294.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1294.RULE matched_text: | The full text of the GNU General Public License version 2 diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libc-bin/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libc-bin/copyright-detailed.expected.yml index 6ab7bdd607..b39c7b918d 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libc-bin/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libc-bin/copyright-detailed.expected.yml @@ -14,16 +14,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 10 end_line: 26 + matcher: 2-aho + score: '100.0' matched_length: 147 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_1.RULE matched_text: | The GNU C Library is free software; you can redistribute it and/or @@ -45,16 +48,19 @@ license_detections: General Public License can be found in `/usr/share/common-licenses/LGPL-2.1'. identifier: lgpl_2_1_plus-effa9b0d-2dd9-16c2-f7de-6c9b6389a0c1 - license_expression: gpl-2.0-plus AND bsd-new + license_expression_spdx: GPL-2.0-or-later AND BSD-3-Clause matches: - - score: '95.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 33 end_line: 48 + matcher: 2-aho + score: '95.0' matched_length: 135 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_15.RULE rule_relevance: 95 + rule_identifier: gpl-2.0-plus_15.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_15.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -73,31 +79,36 @@ license_detections: On Debian systems, the complete text of the GNU Library General Public License can be found in `/usr/share/common-licenses/GPL-2'. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 50 end_line: 51 + matcher: 2-aho + score: '100.0' matched_length: 13 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_24.RULE rule_relevance: 100 + rule_identifier: bsd-new_24.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_24.RULE matched_text: | All code incorporated from 4.4 BSD is distributed under the following license: identifier: gpl_2_0_plus_and_bsd_new-8c21febb-54ca-ba5d-046f-fee85ec37185 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 56 end_line: 80 + matcher: 2-aho + score: '100.0' matched_length: 218 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_57.RULE rule_relevance: 100 + rule_identifier: bsd-new_57.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_57.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -127,16 +138,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-b6760a68-89b7-1bd6-4698-89448b896f0e - license_expression: historical + license_expression_spdx: HPND matches: - - score: '100.0' + - license_expression: historical + spdx_license_expression: HPND + from_file: start_line: 88 end_line: 102 + matcher: 2-aho + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 2-aho - license_expression: historical - rule_identifier: historical_10.RULE rule_relevance: 100 + rule_identifier: historical_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/historical_10.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -156,16 +170,19 @@ license_detections: WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. identifier: historical-322b727f-722e-1ae7-dd47-9d55d61e81ec - license_expression: isc + license_expression_spdx: ISC matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 108 end_line: 119 + matcher: 2-aho + score: '100.0' matched_length: 113 match_coverage: '100.0' - matcher: 2-aho - license_expression: isc - rule_identifier: isc_9.RULE rule_relevance: 100 + rule_identifier: isc_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_9.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -182,16 +199,19 @@ license_detections: SOFTWARE. identifier: isc-fbf6f8d8-a949-0427-62b2-aef52fe84e71 - license_expression: bsd-new AND carnegie-mellon-contributors + license_expression_spdx: BSD-3-Clause AND CMU-Mach matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 126 end_line: 151 + matcher: 2-aho + score: '100.0' matched_length: 214 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_591.RULE rule_relevance: 100 + rule_identifier: bsd-new_591.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_591.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -220,15 +240,17 @@ license_detections: WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: carnegie-mellon-contributors + spdx_license_expression: CMU-Mach + from_file: start_line: 153 end_line: 179 + matcher: 2-aho + score: '100.0' matched_length: 159 match_coverage: '100.0' - matcher: 2-aho - license_expression: carnegie-mellon-contributors - rule_identifier: carnegie-mellon-contributors_3.RULE rule_relevance: 100 + rule_identifier: carnegie-mellon-contributors_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/carnegie-mellon-contributors_3.RULE matched_text: | The following CMU license covers some of the support code for Mach, @@ -258,15 +280,17 @@ license_detections: or Software.Distribution@CS.CMU.EDU any improvements or extensions that they make and grant Carnegie Mellon the rights to redistribute these changes. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 181 end_line: 206 + matcher: 2-aho + score: '100.0' matched_length: 219 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_592.RULE rule_relevance: 100 + rule_identifier: bsd-new_592.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_592.RULE matched_text: | under the following CMU license: @@ -295,15 +319,17 @@ license_detections: IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 208 end_line: 211 + matcher: 2-aho + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_593.RULE rule_relevance: 100 + rule_identifier: bsd-new_593.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_593.RULE matched_text: | The following license covers the files from Intel's "Highly Optimized @@ -312,16 +338,19 @@ license_detections: Intel License Agreement identifier: bsd_new_and_carnegie_mellon_contributors-45f65077-fffa-19dd-b436-5027d4b2f218 - license_expression: bsd-new AND inner-net-2.0 + license_expression_spdx: BSD-3-Clause AND Inner-Net-2.0 matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 217 end_line: 242 + matcher: 2-aho + score: '100.0' matched_length: 204 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-intel_2.RULE rule_relevance: 100 + rule_identifier: bsd-intel_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-intel_2.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -350,15 +379,17 @@ license_detections: LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: inner-net-2.0 + spdx_license_expression: Inner-Net-2.0 + from_file: start_line: 245 end_line: 280 + matcher: 2-aho + score: '100.0' matched_length: 314 match_coverage: '100.0' - matcher: 2-aho - license_expression: inner-net-2.0 - rule_identifier: inner-net-2.0_2.RULE rule_relevance: 100 + rule_identifier: inner-net-2.0_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/inner-net-2.0_2.RULE matched_text: | distributed under the following license: @@ -399,16 +430,19 @@ license_detections: If these license terms cause you a real problem, contact the author. */ identifier: bsd_new_and_inner_net_2_0-532e8013-dbb6-0b26-da03-db6fd50178c1 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 286 end_line: 289 + matcher: 2-aho + score: '100.0' matched_length: 48 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_177.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_177.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_177.RULE matched_text: | This file is distributed under the terms of the GNU Lesser General @@ -417,16 +451,19 @@ license_detections: see to obtain a copy. identifier: lgpl_2_1_plus-cbb754d2-a8a7-b58c-4ef8-315e1df5356e - license_expression: lgpl-2.1-plus AND lgpl-2.0-plus + license_expression_spdx: LGPL-2.1-or-later AND LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 298 end_line: 309 + matcher: 2-aho + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_491.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_491.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_491.RULE matched_text: | GNU Libidn is free software; you can redistribute it and/or @@ -441,31 +478,36 @@ license_detections: You should have received a copy of the GNU Lesser General Public License along with GNU Libidn; if not, see . - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 313 end_line: 314 + matcher: 2-aho + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_573.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_573.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_573.RULE matched_text: | This file contains functions from GLIB, including gutf8.c and gunidecomp.c, all licensed under LGPL and copyright hold by: identifier: lgpl_2_1_plus_and_lgpl_2_0_plus-04228d42-945a-cc8b-eba4-536171dd96ee - license_expression: punycode AND ietf + license_expression_spdx: LicenseRef-scancode-punycode AND LicenseRef-scancode-ietf matches: - - score: '100.0' + - license_expression: punycode + spdx_license_expression: LicenseRef-scancode-punycode + from_file: start_line: 324 end_line: 332 + matcher: 2-aho + score: '100.0' matched_length: 87 match_coverage: '100.0' - matcher: 2-aho - license_expression: punycode - rule_identifier: punycode.LICENSE rule_relevance: 100 + rule_identifier: punycode.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/punycode.LICENSE matched_text: | Disclaimer and license: Regarding this entire document or any @@ -477,15 +519,17 @@ license_detections: provided that redistributed derivative works do not contain misleading author or version information. Derivative works need not be licensed under similar terms. - - score: '100.0' + - license_expression: ietf + spdx_license_expression: LicenseRef-scancode-ietf + from_file: start_line: 336 end_line: 358 + matcher: 2-aho + score: '100.0' matched_length: 209 match_coverage: '100.0' - matcher: 2-aho - license_expression: ietf - rule_identifier: ietf.LICENSE rule_relevance: 100 + rule_identifier: ietf.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ietf.LICENSE matched_text: | This document and translations of it may be copied and furnished to @@ -513,16 +557,19 @@ license_detections: MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. identifier: punycode_and_ietf-b9a37f0a-236b-5181-9ab2-2312abe8f010 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 365 end_line: 387 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_66.RULE rule_relevance: 100 + rule_identifier: bsd-new_66.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_66.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -550,16 +597,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-1c9f5e21-d1f7-70e3-725e-68240c6ce757 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 395 end_line: 409 + matcher: 2-aho + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_144.RULE rule_relevance: 100 + rule_identifier: other-permissive_144.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_144.RULE matched_text: | Permission to use, copy, modify, and distribute this software and its @@ -579,16 +629,19 @@ license_detections: PERFORMANCE OF THIS SOFTWARE. identifier: other_permissive-464315b0-8a5a-0d67-4a44-3fd90abf71f7 - license_expression: hs-regexp + license_expression_spdx: Spencer-94 matches: - - score: '100.0' + - license_expression: hs-regexp + spdx_license_expression: Spencer-94 + from_file: start_line: 414 end_line: 432 + matcher: 2-aho + score: '100.0' matched_length: 147 match_coverage: '100.0' - matcher: 2-aho - license_expression: hs-regexp - rule_identifier: hs-regexp.LICENSE rule_relevance: 100 + rule_identifier: hs-regexp.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/hs-regexp.LICENSE matched_text: | This software is not subject to any license of the American Telephone @@ -612,16 +665,19 @@ license_detections: 4. This notice may not be removed or altered. identifier: hs_regexp-45f2b42c-373c-dcca-6300-bc6a3f618b50 - license_expression: pcre + license_expression_spdx: LicenseRef-scancode-pcre matches: - - score: '95.0' + - license_expression: pcre + spdx_license_expression: LicenseRef-scancode-pcre + from_file: start_line: 438 end_line: 473 + matcher: 2-aho + score: '95.0' matched_length: 271 match_coverage: '100.0' - matcher: 2-aho - license_expression: pcre - rule_identifier: pcre_2.RULE rule_relevance: 95 + rule_identifier: pcre_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pcre_2.RULE matched_text: | Permission is granted to anyone to use this software for any purpose on any @@ -662,16 +718,19 @@ license_detections: which it is incompatible. identifier: pcre-d4f9dab2-85b9-1c79-0a5b-a4431a4d0a8c - license_expression: sunpro + license_expression_spdx: SunPro matches: - - score: '100.0' + - license_expression: sunpro + spdx_license_expression: SunPro + from_file: start_line: 479 end_line: 482 + matcher: 2-aho + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 2-aho - license_expression: sunpro - rule_identifier: sunpro.LICENSE rule_relevance: 100 + rule_identifier: sunpro.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/sunpro.LICENSE matched_text: | Developed at SunPro, a Sun Microsystems, Inc. business. @@ -680,16 +739,19 @@ license_detections: is preserved. identifier: sunpro-8cbf8f94-4a9d-af5a-dc57-033780c667f7 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 488 end_line: 491 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_145.RULE rule_relevance: 100 + rule_identifier: other-permissive_145.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_145.RULE matched_text: | Feel free to copy, use and distribute this software provided: @@ -698,16 +760,19 @@ license_detections: 2. you leave this copyright notice intact. identifier: other_permissive-ef3b6b92-0319-fdb5-7719-25b5d16e6fe9 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 497 end_line: 509 + matcher: 2-aho + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_36.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_36.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_36.RULE matched_text: | This library is free software; you can redistribute it and/or diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libc6/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libc6/copyright-detailed.expected.yml index 6ab7bdd607..b39c7b918d 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libc6/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libc6/copyright-detailed.expected.yml @@ -14,16 +14,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 10 end_line: 26 + matcher: 2-aho + score: '100.0' matched_length: 147 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_1.RULE matched_text: | The GNU C Library is free software; you can redistribute it and/or @@ -45,16 +48,19 @@ license_detections: General Public License can be found in `/usr/share/common-licenses/LGPL-2.1'. identifier: lgpl_2_1_plus-effa9b0d-2dd9-16c2-f7de-6c9b6389a0c1 - license_expression: gpl-2.0-plus AND bsd-new + license_expression_spdx: GPL-2.0-or-later AND BSD-3-Clause matches: - - score: '95.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 33 end_line: 48 + matcher: 2-aho + score: '95.0' matched_length: 135 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_15.RULE rule_relevance: 95 + rule_identifier: gpl-2.0-plus_15.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_15.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -73,31 +79,36 @@ license_detections: On Debian systems, the complete text of the GNU Library General Public License can be found in `/usr/share/common-licenses/GPL-2'. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 50 end_line: 51 + matcher: 2-aho + score: '100.0' matched_length: 13 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_24.RULE rule_relevance: 100 + rule_identifier: bsd-new_24.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_24.RULE matched_text: | All code incorporated from 4.4 BSD is distributed under the following license: identifier: gpl_2_0_plus_and_bsd_new-8c21febb-54ca-ba5d-046f-fee85ec37185 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 56 end_line: 80 + matcher: 2-aho + score: '100.0' matched_length: 218 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_57.RULE rule_relevance: 100 + rule_identifier: bsd-new_57.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_57.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -127,16 +138,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-b6760a68-89b7-1bd6-4698-89448b896f0e - license_expression: historical + license_expression_spdx: HPND matches: - - score: '100.0' + - license_expression: historical + spdx_license_expression: HPND + from_file: start_line: 88 end_line: 102 + matcher: 2-aho + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 2-aho - license_expression: historical - rule_identifier: historical_10.RULE rule_relevance: 100 + rule_identifier: historical_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/historical_10.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -156,16 +170,19 @@ license_detections: WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. identifier: historical-322b727f-722e-1ae7-dd47-9d55d61e81ec - license_expression: isc + license_expression_spdx: ISC matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 108 end_line: 119 + matcher: 2-aho + score: '100.0' matched_length: 113 match_coverage: '100.0' - matcher: 2-aho - license_expression: isc - rule_identifier: isc_9.RULE rule_relevance: 100 + rule_identifier: isc_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_9.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -182,16 +199,19 @@ license_detections: SOFTWARE. identifier: isc-fbf6f8d8-a949-0427-62b2-aef52fe84e71 - license_expression: bsd-new AND carnegie-mellon-contributors + license_expression_spdx: BSD-3-Clause AND CMU-Mach matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 126 end_line: 151 + matcher: 2-aho + score: '100.0' matched_length: 214 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_591.RULE rule_relevance: 100 + rule_identifier: bsd-new_591.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_591.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -220,15 +240,17 @@ license_detections: WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: carnegie-mellon-contributors + spdx_license_expression: CMU-Mach + from_file: start_line: 153 end_line: 179 + matcher: 2-aho + score: '100.0' matched_length: 159 match_coverage: '100.0' - matcher: 2-aho - license_expression: carnegie-mellon-contributors - rule_identifier: carnegie-mellon-contributors_3.RULE rule_relevance: 100 + rule_identifier: carnegie-mellon-contributors_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/carnegie-mellon-contributors_3.RULE matched_text: | The following CMU license covers some of the support code for Mach, @@ -258,15 +280,17 @@ license_detections: or Software.Distribution@CS.CMU.EDU any improvements or extensions that they make and grant Carnegie Mellon the rights to redistribute these changes. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 181 end_line: 206 + matcher: 2-aho + score: '100.0' matched_length: 219 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_592.RULE rule_relevance: 100 + rule_identifier: bsd-new_592.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_592.RULE matched_text: | under the following CMU license: @@ -295,15 +319,17 @@ license_detections: IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 208 end_line: 211 + matcher: 2-aho + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_593.RULE rule_relevance: 100 + rule_identifier: bsd-new_593.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_593.RULE matched_text: | The following license covers the files from Intel's "Highly Optimized @@ -312,16 +338,19 @@ license_detections: Intel License Agreement identifier: bsd_new_and_carnegie_mellon_contributors-45f65077-fffa-19dd-b436-5027d4b2f218 - license_expression: bsd-new AND inner-net-2.0 + license_expression_spdx: BSD-3-Clause AND Inner-Net-2.0 matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 217 end_line: 242 + matcher: 2-aho + score: '100.0' matched_length: 204 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-intel_2.RULE rule_relevance: 100 + rule_identifier: bsd-intel_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-intel_2.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -350,15 +379,17 @@ license_detections: LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: inner-net-2.0 + spdx_license_expression: Inner-Net-2.0 + from_file: start_line: 245 end_line: 280 + matcher: 2-aho + score: '100.0' matched_length: 314 match_coverage: '100.0' - matcher: 2-aho - license_expression: inner-net-2.0 - rule_identifier: inner-net-2.0_2.RULE rule_relevance: 100 + rule_identifier: inner-net-2.0_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/inner-net-2.0_2.RULE matched_text: | distributed under the following license: @@ -399,16 +430,19 @@ license_detections: If these license terms cause you a real problem, contact the author. */ identifier: bsd_new_and_inner_net_2_0-532e8013-dbb6-0b26-da03-db6fd50178c1 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 286 end_line: 289 + matcher: 2-aho + score: '100.0' matched_length: 48 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_177.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_177.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_177.RULE matched_text: | This file is distributed under the terms of the GNU Lesser General @@ -417,16 +451,19 @@ license_detections: see to obtain a copy. identifier: lgpl_2_1_plus-cbb754d2-a8a7-b58c-4ef8-315e1df5356e - license_expression: lgpl-2.1-plus AND lgpl-2.0-plus + license_expression_spdx: LGPL-2.1-or-later AND LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 298 end_line: 309 + matcher: 2-aho + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_491.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_491.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_491.RULE matched_text: | GNU Libidn is free software; you can redistribute it and/or @@ -441,31 +478,36 @@ license_detections: You should have received a copy of the GNU Lesser General Public License along with GNU Libidn; if not, see . - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 313 end_line: 314 + matcher: 2-aho + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_573.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_573.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_573.RULE matched_text: | This file contains functions from GLIB, including gutf8.c and gunidecomp.c, all licensed under LGPL and copyright hold by: identifier: lgpl_2_1_plus_and_lgpl_2_0_plus-04228d42-945a-cc8b-eba4-536171dd96ee - license_expression: punycode AND ietf + license_expression_spdx: LicenseRef-scancode-punycode AND LicenseRef-scancode-ietf matches: - - score: '100.0' + - license_expression: punycode + spdx_license_expression: LicenseRef-scancode-punycode + from_file: start_line: 324 end_line: 332 + matcher: 2-aho + score: '100.0' matched_length: 87 match_coverage: '100.0' - matcher: 2-aho - license_expression: punycode - rule_identifier: punycode.LICENSE rule_relevance: 100 + rule_identifier: punycode.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/punycode.LICENSE matched_text: | Disclaimer and license: Regarding this entire document or any @@ -477,15 +519,17 @@ license_detections: provided that redistributed derivative works do not contain misleading author or version information. Derivative works need not be licensed under similar terms. - - score: '100.0' + - license_expression: ietf + spdx_license_expression: LicenseRef-scancode-ietf + from_file: start_line: 336 end_line: 358 + matcher: 2-aho + score: '100.0' matched_length: 209 match_coverage: '100.0' - matcher: 2-aho - license_expression: ietf - rule_identifier: ietf.LICENSE rule_relevance: 100 + rule_identifier: ietf.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ietf.LICENSE matched_text: | This document and translations of it may be copied and furnished to @@ -513,16 +557,19 @@ license_detections: MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. identifier: punycode_and_ietf-b9a37f0a-236b-5181-9ab2-2312abe8f010 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 365 end_line: 387 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_66.RULE rule_relevance: 100 + rule_identifier: bsd-new_66.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_66.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -550,16 +597,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-1c9f5e21-d1f7-70e3-725e-68240c6ce757 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 395 end_line: 409 + matcher: 2-aho + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_144.RULE rule_relevance: 100 + rule_identifier: other-permissive_144.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_144.RULE matched_text: | Permission to use, copy, modify, and distribute this software and its @@ -579,16 +629,19 @@ license_detections: PERFORMANCE OF THIS SOFTWARE. identifier: other_permissive-464315b0-8a5a-0d67-4a44-3fd90abf71f7 - license_expression: hs-regexp + license_expression_spdx: Spencer-94 matches: - - score: '100.0' + - license_expression: hs-regexp + spdx_license_expression: Spencer-94 + from_file: start_line: 414 end_line: 432 + matcher: 2-aho + score: '100.0' matched_length: 147 match_coverage: '100.0' - matcher: 2-aho - license_expression: hs-regexp - rule_identifier: hs-regexp.LICENSE rule_relevance: 100 + rule_identifier: hs-regexp.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/hs-regexp.LICENSE matched_text: | This software is not subject to any license of the American Telephone @@ -612,16 +665,19 @@ license_detections: 4. This notice may not be removed or altered. identifier: hs_regexp-45f2b42c-373c-dcca-6300-bc6a3f618b50 - license_expression: pcre + license_expression_spdx: LicenseRef-scancode-pcre matches: - - score: '95.0' + - license_expression: pcre + spdx_license_expression: LicenseRef-scancode-pcre + from_file: start_line: 438 end_line: 473 + matcher: 2-aho + score: '95.0' matched_length: 271 match_coverage: '100.0' - matcher: 2-aho - license_expression: pcre - rule_identifier: pcre_2.RULE rule_relevance: 95 + rule_identifier: pcre_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pcre_2.RULE matched_text: | Permission is granted to anyone to use this software for any purpose on any @@ -662,16 +718,19 @@ license_detections: which it is incompatible. identifier: pcre-d4f9dab2-85b9-1c79-0a5b-a4431a4d0a8c - license_expression: sunpro + license_expression_spdx: SunPro matches: - - score: '100.0' + - license_expression: sunpro + spdx_license_expression: SunPro + from_file: start_line: 479 end_line: 482 + matcher: 2-aho + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 2-aho - license_expression: sunpro - rule_identifier: sunpro.LICENSE rule_relevance: 100 + rule_identifier: sunpro.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/sunpro.LICENSE matched_text: | Developed at SunPro, a Sun Microsystems, Inc. business. @@ -680,16 +739,19 @@ license_detections: is preserved. identifier: sunpro-8cbf8f94-4a9d-af5a-dc57-033780c667f7 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 488 end_line: 491 + matcher: 2-aho + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_145.RULE rule_relevance: 100 + rule_identifier: other-permissive_145.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_145.RULE matched_text: | Feel free to copy, use and distribute this software provided: @@ -698,16 +760,19 @@ license_detections: 2. you leave this copyright notice intact. identifier: other_permissive-ef3b6b92-0319-fdb5-7719-25b5d16e6fe9 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 497 end_line: 509 + matcher: 2-aho + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_36.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_36.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_36.RULE matched_text: | This library is free software; you can redistribute it and/or diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libcap-ng0/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libcap-ng0/copyright-detailed.expected.yml index ffd355c134..d923a71bef 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libcap-ng0/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libcap-ng0/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: lgpl-2.1-plus AND gpl-2.0-plus + license_expression_spdx: LGPL-2.1-or-later AND GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 10 end_line: 27 + matcher: 2-aho + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_388.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_388.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_388.RULE matched_text: "License:\n\n This library is free software; you can redistribute it\ \ and/or\n modify it under the terms of the GNU Lesser General Public\n License\ @@ -26,31 +29,36 @@ license_detections: \ have received a copy of the GNU Lesser General Public\n License along with this\ \ library; if not, write to the Free Software\n Foundation, Inc., 51 Franklin St,\ \ Fifth Floor, Boston,\n MA 02110-1301, USA.\n\nsee `/usr/share/common-licenses/LGPL-2.1'." - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 30 end_line: 31 + matcher: 2-aho + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_209.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_209.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_209.RULE matched_text: | licensed under the GNU General Public License version 2 or above See `/usr/share/common-licenses/GPL-2'. identifier: lgpl_2_1_plus_and_gpl_2_0_plus-b90093f2-2cc2-c7e4-89e0-83414f4c0a88 - license_expression: gpl-3.0 + license_expression_spdx: GPL-3.0-only matches: - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 37 end_line: 38 + matcher: 2-aho + score: '100.0' matched_length: 15 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_468.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_468.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_468.RULE matched_text: "and is licensed under the GPL version 3, \nsee `/usr/share/common-licenses/GPL-3'." identifier: gpl_3_0-3238e4b2-36b1-43fa-44cf-18d881c6b1bf diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libcom-err2/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libcom-err2/copyright-detailed.expected.yml index 7f2954171d..cfba6a19b8 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libcom-err2/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libcom-err2/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: mit-old-style-no-advert + license_expression_spdx: NTP matches: - - score: '100.0' + - license_expression: mit-old-style-no-advert + spdx_license_expression: NTP + from_file: start_line: 14 end_line: 24 + matcher: 2-aho + score: '100.0' matched_length: 112 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-old-style-no-advert - rule_identifier: mit-old-style-no-advert_5.RULE rule_relevance: 100 + rule_identifier: mit-old-style-no-advert_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style-no-advert_5.RULE matched_text: | Permission to use, copy, modify, and distribute this software diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libcrypt1/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libcrypt1/copyright-detailed.expected.yml index b3eb462854..a4743ab835 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libcrypt1/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libcrypt1/copyright-detailed.expected.yml @@ -18,16 +18,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '97.06' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 14 end_line: 16 + matcher: 2-aho + score: '97.06' matched_length: 33 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_297.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_297.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_297.RULE matched_text: | The overall license for libxcrypt is the GNU Lesser General Public @@ -35,367 +38,438 @@ license_detections: the file COPYING.LIB for the full terms of this license. identifier: lgpl_2_1_plus-020c4fdd-bb0b-ba56-db94-aa6a942c9bd8 - license_expression: lgpl-2.1-plus AND bsd-new AND public-domain AND bsd-zero AND bsd-simplified + license_expression_spdx: LGPL-2.1-or-later AND BSD-3-Clause AND LicenseRef-scancode-public-domain + AND 0BSD AND BSD-2-Clause matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 22 end_line: 22 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_392.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_392.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_392.RULE matched_text: 'LGPL (v2.1 or later):' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 25 end_line: 25 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_392.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_392.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_392.RULE matched_text: 'LGPL (v2.1 or later):' - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 29 end_line: 29 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_308.RULE rule_relevance: 100 + rule_identifier: bsd-new_308.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_308.RULE matched_text: '3-clause BSD:' - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 33 end_line: 33 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_426.RULE rule_relevance: 100 + rule_identifier: public-domain_426.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_426.RULE matched_text: Public domain, written by - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 36 end_line: 36 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_426.RULE rule_relevance: 100 + rule_identifier: public-domain_426.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_426.RULE matched_text: Public domain, written by - - score: '100.0' + - license_expression: bsd-zero + spdx_license_expression: 0BSD + from_file: start_line: 40 end_line: 40 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-zero - rule_identifier: bsd-zero_6.RULE rule_relevance: 100 + rule_identifier: bsd-zero_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-zero_6.RULE matched_text: '0-clause BSD:' - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 43 end_line: 43 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_156.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_156.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_156.RULE matched_text: '2-clause BSD:' - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 47 end_line: 47 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_156.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_156.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_156.RULE matched_text: '2-clause BSD:' - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 50 end_line: 50 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_156.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_156.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_156.RULE matched_text: '2-clause BSD:' identifier: lgpl_2_1_plus_and_bsd_new_and_public_domain_and_bsd_zero_and_bsd_simplified-0789af82-1187-8c17-de70-8f158fe859dd - license_expression: bsd-zero + license_expression_spdx: 0BSD matches: - - score: '100.0' + - license_expression: bsd-zero + spdx_license_expression: 0BSD + from_file: start_line: 55 end_line: 55 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-zero - rule_identifier: bsd-zero_6.RULE rule_relevance: 100 + rule_identifier: bsd-zero_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-zero_6.RULE matched_text: '0-clause BSD:' identifier: bsd_zero-79fb5c8c-8a93-cf25-4481-532b6b01d3b7 - license_expression: bsd-zero AND bsd-simplified AND public-domain AND bsd-new + license_expression_spdx: 0BSD AND BSD-2-Clause AND LicenseRef-scancode-public-domain AND + BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-zero + spdx_license_expression: 0BSD + from_file: start_line: 61 end_line: 61 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-zero - rule_identifier: bsd-zero_6.RULE rule_relevance: 100 + rule_identifier: bsd-zero_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-zero_6.RULE matched_text: '0-clause BSD:' - - score: '100.0' + - license_expression: bsd-zero + spdx_license_expression: 0BSD + from_file: start_line: 64 end_line: 64 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-zero - rule_identifier: bsd-zero_6.RULE rule_relevance: 100 + rule_identifier: bsd-zero_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-zero_6.RULE matched_text: '0-clause BSD:' - - score: '100.0' + - license_expression: bsd-zero + spdx_license_expression: 0BSD + from_file: start_line: 67 end_line: 67 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-zero - rule_identifier: bsd-zero_6.RULE rule_relevance: 100 + rule_identifier: bsd-zero_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-zero_6.RULE matched_text: '0-clause BSD:' - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 71 end_line: 71 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_156.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_156.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_156.RULE matched_text: '2-clause BSD:' - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 74 end_line: 74 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_156.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_156.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_156.RULE matched_text: '2-clause BSD:' - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 77 end_line: 77 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_426.RULE rule_relevance: 100 + rule_identifier: public-domain_426.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_426.RULE matched_text: Public domain, written by - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 80 end_line: 80 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_308.RULE rule_relevance: 100 + rule_identifier: bsd-new_308.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_308.RULE matched_text: '3-clause BSD:' - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 83 end_line: 83 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_156.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_156.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_156.RULE matched_text: '2-clause BSD:' - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 86 end_line: 86 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_426.RULE rule_relevance: 100 + rule_identifier: public-domain_426.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_426.RULE matched_text: Public domain, written by identifier: bsd_zero_and_bsd_simplified_and_public_domain_and_bsd_new-33742a24-5ed2-ddf4-f29a-58e0cddc9766 - license_expression: gpl-3.0-plus WITH autoconf-exception-3.0 AND bsd-zero AND fsf-ap AND gpl-2.0-plus WITH autoconf-simple-exception-2.0 AND free-unknown + license_expression_spdx: GPL-3.0-or-later WITH Autoconf-exception-3.0 AND 0BSD AND FSFAP + AND GPL-2.0-or-later WITH Autoconf-exception-generic AND LicenseRef-scancode-free-unknown matches: - - score: '99.0' + - license_expression: gpl-3.0-plus WITH autoconf-exception-3.0 + spdx_license_expression: GPL-3.0-or-later WITH Autoconf-exception-3.0 + from_file: start_line: 98 end_line: 98 + matcher: 2-aho + score: '99.0' matched_length: 7 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus WITH autoconf-exception-3.0 - rule_identifier: gpl-3.0-plus_with_autoconf-exception-3.0_3.RULE rule_relevance: 99 + rule_identifier: gpl-3.0-plus_with_autoconf-exception-3.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_autoconf-exception-3.0_3.RULE matched_text: 'GPL (v3 or later), with Autoconf exception:' - - score: '100.0' + - license_expression: bsd-zero + spdx_license_expression: 0BSD + from_file: start_line: 101 end_line: 101 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-zero - rule_identifier: bsd-zero_6.RULE rule_relevance: 100 + rule_identifier: bsd-zero_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-zero_6.RULE matched_text: '0-clause BSD:' - - score: '100.0' + - license_expression: fsf-ap + spdx_license_expression: FSFAP + from_file: start_line: 104 end_line: 104 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: fsf-ap - rule_identifier: fsf-ap_6.RULE rule_relevance: 100 + rule_identifier: fsf-ap_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-ap_6.RULE matched_text: 'FSF All Permissive License:' - - score: '100.0' + - license_expression: fsf-ap + spdx_license_expression: FSFAP + from_file: start_line: 107 end_line: 107 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: fsf-ap - rule_identifier: fsf-ap_6.RULE rule_relevance: 100 + rule_identifier: fsf-ap_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-ap_6.RULE matched_text: 'FSF All Permissive License:' - - score: '100.0' + - license_expression: fsf-ap + spdx_license_expression: FSFAP + from_file: start_line: 111 end_line: 111 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: fsf-ap - rule_identifier: fsf-ap_6.RULE rule_relevance: 100 + rule_identifier: fsf-ap_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-ap_6.RULE matched_text: 'FSF All Permissive License:' - - score: '100.0' + - license_expression: fsf-ap + spdx_license_expression: FSFAP + from_file: start_line: 114 end_line: 114 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: fsf-ap - rule_identifier: fsf-ap_6.RULE rule_relevance: 100 + rule_identifier: fsf-ap_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-ap_6.RULE matched_text: 'FSF All Permissive License:' - - score: '99.0' + - license_expression: gpl-2.0-plus WITH autoconf-simple-exception-2.0 + spdx_license_expression: GPL-2.0-or-later WITH Autoconf-exception-generic + from_file: start_line: 118 end_line: 118 + matcher: 2-aho + score: '99.0' matched_length: 7 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus WITH autoconf-simple-exception-2.0 - rule_identifier: gpl-2.0-plus_with_autoconf-simple-exception-2.0_17.RULE rule_relevance: 99 + rule_identifier: gpl-2.0-plus_with_autoconf-simple-exception-2.0_17.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_autoconf-simple-exception-2.0_17.RULE matched_text: 'GPL (v2 or later), with Autoconf exception:' - - score: '100.0' + - license_expression: fsf-ap + spdx_license_expression: FSFAP + from_file: start_line: 121 end_line: 121 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: fsf-ap - rule_identifier: fsf-ap_6.RULE rule_relevance: 100 + rule_identifier: fsf-ap_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-ap_6.RULE matched_text: 'FSF All Permissive License:' - - score: '100.0' + - license_expression: fsf-ap + spdx_license_expression: FSFAP + from_file: start_line: 124 end_line: 124 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: fsf-ap - rule_identifier: fsf-ap_6.RULE rule_relevance: 100 + rule_identifier: fsf-ap_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-ap_6.RULE matched_text: 'FSF All Permissive License:' - - score: '99.0' + - license_expression: gpl-3.0-plus WITH autoconf-exception-3.0 + spdx_license_expression: GPL-3.0-or-later WITH Autoconf-exception-3.0 + from_file: start_line: 128 end_line: 128 + matcher: 2-aho + score: '99.0' matched_length: 7 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus WITH autoconf-exception-3.0 - rule_identifier: gpl-3.0-plus_with_autoconf-exception-3.0_3.RULE rule_relevance: 99 + rule_identifier: gpl-3.0-plus_with_autoconf-exception-3.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_autoconf-exception-3.0_3.RULE matched_text: 'GPL (v3 or later), with Autoconf exception:' - - score: '100.0' + - license_expression: fsf-ap + spdx_license_expression: FSFAP + from_file: start_line: 131 end_line: 131 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: fsf-ap - rule_identifier: fsf-ap_6.RULE rule_relevance: 100 + rule_identifier: fsf-ap_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-ap_6.RULE matched_text: 'FSF All Permissive License:' - - score: '100.0' + - license_expression: fsf-ap + spdx_license_expression: FSFAP + from_file: start_line: 134 end_line: 134 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: fsf-ap - rule_identifier: fsf-ap_6.RULE rule_relevance: 100 + rule_identifier: fsf-ap_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-ap_6.RULE matched_text: 'FSF All Permissive License:' - - score: '100.0' + - license_expression: free-unknown + spdx_license_expression: LicenseRef-scancode-free-unknown + from_file: start_line: 137 end_line: 139 + matcher: 2-aho + score: '100.0' matched_length: 27 match_coverage: '100.0' - matcher: 2-aho - license_expression: free-unknown - rule_identifier: free-unknown_120.RULE rule_relevance: 100 + rule_identifier: free-unknown_120.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown_120.RULE matched_text: | Copyright holders unknown, no statement of license (all of these diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libdb5.3/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libdb5.3/copyright-detailed.expected.yml index 54951e7233..febe0535e8 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libdb5.3/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libdb5.3/copyright-detailed.expected.yml @@ -6,16 +6,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: sleepycat + license_expression_spdx: Sleepycat matches: - - score: '100.0' + - license_expression: sleepycat + spdx_license_expression: Sleepycat + from_file: start_line: 5 end_line: 12 + matcher: 2-aho + score: '100.0' matched_length: 61 match_coverage: '100.0' - matcher: 2-aho - license_expression: sleepycat - rule_identifier: sleepycat_17.RULE rule_relevance: 100 + rule_identifier: sleepycat_17.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/sleepycat_17.RULE matched_text: | http://www.oracle.com/technology/software/products/berkeley-db/db/index.html @@ -28,16 +31,19 @@ license_detections: please contact Oracle at berkeleydb-info_us@oracle.com. identifier: sleepycat-0b546f04-dee3-6f0f-7cfb-5ef05c060879 - license_expression: sleepycat + license_expression_spdx: Sleepycat matches: - - score: '100.0' + - license_expression: sleepycat + spdx_license_expression: Sleepycat + from_file: start_line: 18 end_line: 47 + matcher: 2-aho + score: '100.0' matched_length: 283 match_coverage: '100.0' - matcher: 2-aho - license_expression: sleepycat - rule_identifier: sleepycat_15.RULE rule_relevance: 100 + rule_identifier: sleepycat_15.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/sleepycat_15.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -72,16 +78,19 @@ license_detections: * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: sleepycat-137b65e9-cdff-e8b1-adf2-2377ce1d6f33 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 53 end_line: 75 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -109,16 +118,19 @@ license_detections: * SUCH DAMAGE. identifier: bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 81 end_line: 103 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_943.RULE rule_relevance: 100 + rule_identifier: bsd-new_943.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_943.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -146,16 +158,19 @@ license_detections: * SUCH DAMAGE. identifier: bsd_new-35c287f1-5d41-52f8-399e-2391cd1b4b40 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 111 end_line: 133 + matcher: 2-aho + score: '100.0' matched_length: 216 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_115.RULE rule_relevance: 100 + rule_identifier: bsd-new_115.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_115.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libdebconfclient0/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libdebconfclient0/copyright-detailed.expected.yml index dfd226fa4f..97051873a5 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libdebconfclient0/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libdebconfclient0/copyright-detailed.expected.yml @@ -5,30 +5,36 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 17 end_line: 17 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_282.RULE rule_relevance: 100 + rule_identifier: public-domain_282.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_282.RULE matched_text: derived portions are public domain) identifier: public_domain-8b1c4208-37f4-199b-a316-29e1b9bdceca - license_expression: bsd-unmodified + license_expression_spdx: LicenseRef-scancode-bsd-unmodified matches: - - score: '100.0' + - license_expression: bsd-unmodified + spdx_license_expression: LicenseRef-scancode-bsd-unmodified + from_file: start_line: 22 end_line: 41 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-unmodified - rule_identifier: bsd-unmodified_4.RULE rule_relevance: 100 + rule_identifier: bsd-unmodified_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-unmodified_4.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libext2fs2/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libext2fs2/copyright-detailed.expected.yml index 6ca09097ea..6517e12a76 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libext2fs2/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libext2fs2/copyright-detailed.expected.yml @@ -7,16 +7,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0 AND lgpl-2.0 AND bsd-new AND mit-old-style-no-advert + license_expression_spdx: GPL-2.0-only AND LGPL-2.0-only AND BSD-3-Clause AND NTP matches: - - score: '99.02' + - license_expression: gpl-2.0 AND lgpl-2.0 AND bsd-new AND mit-old-style-no-advert + spdx_license_expression: GPL-2.0-only AND LGPL-2.0-only AND BSD-3-Clause AND NTP + from_file: start_line: 17 end_line: 30 + matcher: 3-seq + score: '99.02' matched_length: 101 match_coverage: '99.02' - matcher: 3-seq - license_expression: gpl-2.0 AND lgpl-2.0 AND bsd-new AND mit-old-style-no-advert - rule_identifier: gpl-2.0_and_lgpl-2.0_and_bsd-new_and_mit_1.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_and_lgpl-2.0_and_bsd-new_and_mit_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_and_lgpl-2.0_and_bsd-new_and_mit_1.RULE matched_text: "This package, the EXT2 filesystem utilities, are made available under\n\ the GNU General Public License version 2, with the exception of the\nlib/ext2fs and\ @@ -29,16 +32,19 @@ license_detections: \ The\ncomplete text of the GNU Library General Public License can be found\nin '/usr/share/common-licenses/LGPL-2'." identifier: gpl_2_0_and_lgpl_2_0_and_bsd_new_and_mit_old_style_no_advert-aed55561-0504-0265-5986-832cc7f7bbf2 - license_expression: ntp-0 AND bsd-new + license_expression_spdx: NTP-0 AND BSD-3-Clause matches: - - score: '100.0' + - license_expression: ntp-0 + spdx_license_expression: NTP-0 + from_file: start_line: 38 end_line: 45 + matcher: 2-aho + score: '100.0' matched_length: 85 match_coverage: '100.0' - matcher: 2-aho - license_expression: ntp-0 - rule_identifier: ntp-0.LICENSE rule_relevance: 100 + rule_identifier: ntp-0.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ntp-0.LICENSE matched_text: | Permission to use, copy, modify, and distribute this software and @@ -49,15 +55,17 @@ license_detections: M.I.T. S.I.P.B. make no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 49 end_line: 73 + matcher: 2-aho + score: '100.0' matched_length: 210 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_117.RULE rule_relevance: 100 + rule_identifier: bsd-new_117.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_117.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libffi7/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libffi7/copyright-detailed.expected.yml index ccebc74c6c..7eb4c39b43 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libffi7/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libffi7/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: mit AND gpl-2.0-plus AND gpl-1.0-plus + license_expression_spdx: MIT AND GPL-2.0-or-later AND GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 42 end_line: 59 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining @@ -35,15 +38,17 @@ license_detections: CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - score: '79.17' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 62 end_line: 70 + matcher: 3-seq + score: '79.17' matched_length: 57 match_coverage: '79.17' - matcher: 3-seq - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_858.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_858.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_858.RULE matched_text: | Permission is granted to copy, distribute and/or modify this document @@ -55,15 +60,17 @@ license_detections: doc/*: Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 69 end_line: 76 + matcher: 2-aho + score: '100.0' matched_length: 72 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_858.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_858.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_858.RULE matched_text: | Permission is granted to copy, distribute and/or modify this document @@ -74,15 +81,17 @@ license_detections: On Debian GNU/Linux systems, the complete text of the GNU General Public License is in `/usr/share/common-licenses/GPL'. - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 79 end_line: 79 + matcher: 2-aho + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_478.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_478.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_478.RULE matched_text: and is licensed under the GPL, see `/usr/share/common-licenses/GPL'. identifier: mit_and_gpl_2_0_plus_and_gpl_1_0_plus-d975bf27-0617-3629-9279-63c39b163da7 diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgcrypt20/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgcrypt20/copyright-detailed.expected.yml index 4c5feb1721..80a1cf0b1b 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgcrypt20/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgcrypt20/copyright-detailed.expected.yml @@ -18,51 +18,62 @@ other_license_expression_spdx: license_detections: - license_expression: gpl-1.0-plus AND other-permissive AND public-domain AND fsf-unlimited-no-warranty AND (lgpl-2.1-plus AND gpl-2.0-plus) AND (lgpl-2.0-plus AND gpl-2.0-plus) AND lgpl-2.0-plus + license_expression_spdx: GPL-1.0-or-later AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-public-domain + AND FSFULLRWD AND (LGPL-2.1-or-later AND GPL-2.0-or-later) AND (LGPL-2.0-or-later AND + GPL-2.0-or-later) AND LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 210 end_line: 211 + matcher: 2-aho + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_477.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_477.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_477.RULE matched_text: | taken from the original NTT provided GPL source. - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 215 end_line: 215 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_319.RULE rule_relevance: 100 + rule_identifier: other-permissive_319.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_319.RULE matched_text: It has a permissive license - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 218 end_line: 218 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_311.RULE rule_relevance: 100 + rule_identifier: public-domain_311.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_311.RULE matched_text: public domain code - - score: '100.0' + - license_expression: fsf-unlimited-no-warranty + spdx_license_expression: FSFULLRWD + from_file: start_line: 222 end_line: 228 + matcher: 2-aho + score: '100.0' matched_length: 64 match_coverage: '100.0' - matcher: 2-aho - license_expression: fsf-unlimited-no-warranty - rule_identifier: fsf-unlimited-no-warranty.RULE rule_relevance: 100 + rule_identifier: fsf-unlimited-no-warranty.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-unlimited-no-warranty.RULE matched_text: | This file is free software; as a special exception the author gives @@ -72,15 +83,17 @@ license_detections: This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY, to the extent permitted by law; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - score: '100.0' + - license_expression: lgpl-2.1-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-2.1-or-later AND GPL-2.0-or-later + from_file: start_line: 231 end_line: 236 + matcher: 2-aho + score: '100.0' matched_length: 41 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus AND gpl-2.0-plus - rule_identifier: lgpl-2.1-plus_and_gpl-2.0-plus_2.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_and_gpl-2.0-plus_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_and_gpl-2.0-plus_2.RULE matched_text: | License: @@ -89,15 +102,17 @@ license_detections: License (LGPL) version 2.1 (or later), except for helper and debugging binaries. See below for details. The documentation is licensed under the GPLv2 (or later), see below. - - score: '100.0' + - license_expression: lgpl-2.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later AND GPL-2.0-or-later + from_file: start_line: 240 end_line: 260 + matcher: 2-aho + score: '100.0' matched_length: '194' match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-2.0-plus_and_gpl-2.0-plus_7.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_and_gpl-2.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_and_gpl-2.0-plus_7.RULE matched_text: | The library is distributed under the terms of the GNU Lesser @@ -121,29 +136,34 @@ license_detections: less to protect the freedom of the users of the code that it covers. See http://www.gnu.org/philosophy/why-not-lgpl.html for more explanation. - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 262 end_line: 262 + matcher: 2-aho + score: '100.0' matched_length: 6 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_467.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_467.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_467.RULE matched_text: the license headers of the LGPL identifier: gpl_1_0_plus_and_other_permissive_and_public_domain_and_fsf_unlimited_no_warranty_and__lgpl_2_1_plus_and_gpl_2_0_plus__and__lgpl_2_0_plus_and_gpl_2_0_plus__and_lgpl_2_0_plus-71da280b-c092-be79-7ec6-e3cc205ddfd8 - license_expression: lgpl-2.1-plus AND gpl-1.0-plus + license_expression_spdx: LGPL-2.1-or-later AND GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 270 end_line: 286 + matcher: 2-aho + score: '100.0' matched_length: 128 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_322.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_322.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_322.RULE matched_text: | Libgcrypt is free software; you can redistribute it and/or modify @@ -163,29 +183,34 @@ license_detections: On Debian GNU/Linux systems, the complete text of the GNU Lesser General Public License can be found in `/usr/share/common-licenses/LGPL'; - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 288 end_line: 288 + matcher: 2-aho + score: '100.0' matched_length: 6 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_476.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_476.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_476.RULE matched_text: The documentation licensed under the GPL identifier: lgpl_2_1_plus_and_gpl_1_0_plus-1af8506a-97be-93a0-6cba-7d1c0a97c09e - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 294 end_line: 298 + matcher: 2-aho + score: '100.0' matched_length: 56 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_767.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_767.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_767.RULE matched_text: | Permission is granted to copy, distribute and/or modify this document @@ -195,46 +220,55 @@ license_detections: section entitled ``GNU General Public License''. identifier: gpl_2_0_plus-f0a5b3d9-dda2-71aa-c005-5b1325e37f04 - license_expression: other-permissive AND other-copyleft + license_expression_spdx: LicenseRef-scancode-other-permissive AND LicenseRef-scancode-other-copyleft matches: - - score: '100.0' + - license_expression: other-permissive AND other-copyleft + spdx_license_expression: LicenseRef-scancode-other-permissive AND LicenseRef-scancode-other-copyleft + from_file: start_line: 307 end_line: 308 + matcher: 2-aho + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive AND other-copyleft - rule_identifier: other-permissive_and_other-copyleft_3.RULE rule_relevance: 100 + rule_identifier: other-permissive_and_other-copyleft_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_and_other-copyleft_3.RULE matched_text: | distribution which are not covered by the GNU Lesser General Public License (LGPL) or the GNU General Public License (GPL). identifier: other_permissive_and_other_copyleft-63e4a2bf-16c2-8dee-73c5-f24d627936b1 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 315 end_line: 315 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_947.RULE rule_relevance: 100 + rule_identifier: bsd-new_947.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_947.RULE matched_text: BSD_3Clause identifier: bsd_new-a83045d9-7f1e-552d-a2b3-29267dd1d408 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 330 end_line: 357 + matcher: 2-aho + score: '100.0' matched_length: 209 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_152.RULE rule_relevance: 100 + rule_identifier: bsd-new_152.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_152.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -267,16 +301,19 @@ license_detections: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-5cc0e99a-0b5a-11eb-e919-1cf09ba89f04 - license_expression: bsd-new OR gpl-1.0-plus + license_expression_spdx: BSD-3-Clause OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: bsd-new OR gpl-1.0-plus + spdx_license_expression: BSD-3-Clause OR GPL-1.0-or-later + from_file: start_line: 372 end_line: 402 + matcher: 2-aho + score: '100.0' matched_length: 260 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new OR gpl-1.0-plus - rule_identifier: bsd-new_or_gpl_2.RULE rule_relevance: 100 + rule_identifier: bsd-new_or_gpl_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_or_gpl_2.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -312,16 +349,19 @@ license_detections: * DAMAGE. identifier: bsd_new_or_gpl_1_0_plus-f8085429-0058-17f2-8a37-27a1965c9f8a - license_expression: x11-xconsortium AND public-domain + license_expression_spdx: X11 AND LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: x11-xconsortium + spdx_license_expression: X11 + from_file: start_line: 413 end_line: 433 + matcher: 2-aho + score: '100.0' matched_length: 201 match_coverage: '100.0' - matcher: 2-aho - license_expression: x11-xconsortium - rule_identifier: x11-xconsortium_2.RULE rule_relevance: 100 + rule_identifier: x11-xconsortium_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -345,56 +385,66 @@ license_detections: be used in advertising or otherwise to promote the sale, use or other deal- ings in this Software without prior written authorization from the X Consor- tium. - - score: '70.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 436 end_line: 436 + matcher: 2-aho + score: '70.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_bare_words.RULE rule_relevance: 70 + rule_identifier: public-domain_bare_words.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE matched_text: Public domain identifier: x11_xconsortium_and_public_domain-3a4b5640-3d0e-289d-2ed6-5568ba1f72cd - license_expression: public-domain AND ocb-open-source-2013 + license_expression_spdx: LicenseRef-scancode-public-domain AND LicenseRef-scancode-ocb-open-source-2013 matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 443 end_line: 444 + matcher: 2-aho + score: '100.0' matched_length: 16 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_326.RULE rule_relevance: 100 + rule_identifier: public-domain_326.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_326.RULE matched_text: | Licence: I hereby disclaim the copyright on this code and place it in the public domain. - - score: '99.0' + - license_expression: ocb-open-source-2013 + spdx_license_expression: LicenseRef-scancode-ocb-open-source-2013 + from_file: start_line: 447 end_line: 447 + matcher: 2-aho + score: '99.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: ocb-open-source-2013 - rule_identifier: ocb-open-source-2013_12.RULE rule_relevance: 99 + rule_identifier: ocb-open-source-2013_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/ocb-open-source-2013_12.RULE matched_text: OCB license 1 identifier: public_domain_and_ocb_open_source_2013-7ef7f6b1-6db5-43c8-5a10-9e3da7f87fef - license_expression: ocb-open-source-2013 + license_expression_spdx: LicenseRef-scancode-ocb-open-source-2013 matches: - - score: '100.0' + - license_expression: ocb-open-source-2013 + spdx_license_expression: LicenseRef-scancode-ocb-open-source-2013 + from_file: start_line: 453 end_line: 457 + matcher: 2-aho + score: '100.0' matched_length: 47 match_coverage: '100.0' - matcher: 2-aho - license_expression: ocb-open-source-2013 - rule_identifier: ocb-open-source-2013_11.RULE rule_relevance: 100 + rule_identifier: ocb-open-source-2013_11.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/ocb-open-source-2013_11.RULE matched_text: | OCB is covered by several patents but may be used freely by most @@ -402,15 +452,17 @@ license_detections: In particular license 1 is suitable for Libgcrypt: See http://web.cs.ucdavis.edu/~rogaway/ocb/license1.pdf for the full license document; - - score: '100.0' + - license_expression: ocb-open-source-2013 + spdx_license_expression: LicenseRef-scancode-ocb-open-source-2013 + from_file: start_line: 459 end_line: 466 + matcher: 2-aho + score: '100.0' matched_length: 55 match_coverage: '100.0' - matcher: 2-aho - license_expression: ocb-open-source-2013 - rule_identifier: ocb-open-source-2013_8.RULE rule_relevance: 100 + rule_identifier: ocb-open-source-2013_8.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/ocb-open-source-2013_8.RULE matched_text: | License 1 — License for Open-Source Software Implementations of OCB @@ -421,15 +473,17 @@ license_detections: license terminates for you if you sue someone over their open-source software implementation of OCB claiming that you have a patent covering their implementation. - - score: '100.0' + - license_expression: ocb-open-source-2013 + spdx_license_expression: LicenseRef-scancode-ocb-open-source-2013 + from_file: start_line: 470 end_line: 540 + matcher: 2-aho + score: '100.0' matched_length: 602 match_coverage: '100.0' - matcher: 2-aho - license_expression: ocb-open-source-2013 - rule_identifier: ocb-open-source-2013_10.RULE rule_relevance: 100 + rule_identifier: ocb-open-source-2013_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/ocb-open-source-2013_10.RULE matched_text: | License for Open Source Software Implementations of OCB @@ -505,16 +559,19 @@ license_detections: SUCH DAMAGES PRIOR TO SUCH AN OCCURRENCE. identifier: ocb_open_source_2013-2bec0450-e55d-5281-9cd2-08adae19cdaa - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 545 end_line: 546 + matcher: 2-aho + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1159.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1159.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1159.RULE matched_text: | On Debian GNU/Linux systems, the text of the GNU General Public License, diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgmp10/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgmp10/copyright-detailed.expected.yml index 62ac3af4e0..cf3694aac0 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgmp10/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgmp10/copyright-detailed.expected.yml @@ -7,16 +7,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: lgpl-3.0-plus OR gpl-2.0-plus + license_expression_spdx: LGPL-3.0-or-later OR GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus OR gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later OR GPL-2.0-or-later + from_file: start_line: '19' end_line: 46 + matcher: 2-aho + score: '100.0' matched_length: '198' match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus OR gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_or_gpl-2.0-plus_27.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_or_gpl-2.0-plus_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_or_gpl-2.0-plus_27.RULE matched_text: | The GNU MP Library is free software; you can redistribute it and/or modify @@ -49,31 +52,36 @@ license_detections: The GNU General Public License v3 text is contained in /usr/share/common-licenses/GPL-3. identifier: lgpl_3_0_plus_or_gpl_2_0_plus-e7f6b716-c9f5-2be9-e260-13311d75d318 - license_expression: gfdl-1.1-plus AND (lgpl-2.0-plus OR gpl-1.0-plus) + license_expression_spdx: GFDL-1.1-or-later AND (LGPL-2.0-or-later OR GPL-1.0-or-later) matches: - - score: '100.0' + - license_expression: gfdl-1.1-plus + spdx_license_expression: GFDL-1.1-or-later + from_file: start_line: 52 end_line: 55 + matcher: 2-aho + score: '100.0' matched_length: 38 match_coverage: '100.0' - matcher: 2-aho - license_expression: gfdl-1.1-plus - rule_identifier: gfdl-1.1-plus_32.RULE rule_relevance: 100 + rule_identifier: gfdl-1.1-plus_32.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gfdl-1.1-plus_32.RULE matched_text: | The documentation is released under the GNU Free Documentation License (GFDL) and it has cover texts. As such, it has been determined not to meet the Debian Free Software Guidelines, and is not shipped in the debian packages. - - score: '100.0' + - license_expression: lgpl-2.0-plus OR gpl-1.0-plus + spdx_license_expression: LGPL-2.0-or-later OR GPL-1.0-or-later + from_file: start_line: 57 end_line: 58 + matcher: 2-aho + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus OR gpl-1.0-plus - rule_identifier: lgpl-2.0-plus_or_gpl-1.0-plus_300.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_or_gpl-1.0-plus_300.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_or_gpl-1.0-plus_300.RULE matched_text: | is covered either by the LGPL, or diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgnutls30/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgnutls30/copyright-detailed.expected.yml index 449d227f9c..234932b28e 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgnutls30/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgnutls30/copyright-detailed.expected.yml @@ -51,16 +51,21 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: lgpl-2.1-plus AND gpl-3.0-plus AND (lgpl-3.0-plus AND gpl-2.0-plus) + license_expression_spdx: LGPL-2.1-or-later AND GPL-3.0-or-later AND (LGPL-3.0-or-later AND + GPL-2.0-or-later) matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus AND gpl-3.0-plus AND (lgpl-3.0-plus AND gpl-2.0-plus) + spdx_license_expression: LGPL-2.1-or-later AND GPL-3.0-or-later AND (LGPL-3.0-or-later + AND GPL-2.0-or-later) + from_file: start_line: 221 end_line: 233 + matcher: 2-aho + score: '100.0' matched_length: 134 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus AND gpl-3.0-plus AND (lgpl-3.0-plus AND gpl-2.0-plus) - rule_identifier: lgpl-2.1-plus_and_gpl-3.0-plus_and_lgpl-3.0-plus_and_gpl-2.0-plus_2.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_and_gpl-3.0-plus_and_lgpl-3.0-plus_and_gpl-2.0-plus_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_and_gpl-3.0-plus_and_lgpl-3.0-plus_and_gpl-2.0-plus_2.RULE matched_text: | License: The main library is licensed under GNU Lesser @@ -78,16 +83,19 @@ license_detections: version were LGPLv3+ only.) identifier: lgpl_2_1_plus_and_gpl_3_0_plus_and__lgpl_3_0_plus_and_gpl_2_0_plus-a9c7859c-4d60-c275-2477-f4be4f1526bd - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 244 end_line: 255 + matcher: 2-aho + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_257.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_257.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_257.RULE matched_text: | The GnuTLS is free software; you can redistribute it and/or @@ -104,16 +112,19 @@ license_detections: * along with this program. If not, see identifier: lgpl_2_1_plus-67610a04-4270-7209-f379-80a601f1be1c - license_expression: gpl-3.0-plus AND gfdl-1.1-plus + license_expression_spdx: GPL-3.0-or-later AND GFDL-1.1-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 265 end_line: 276 + matcher: 2-aho + score: '100.0' matched_length: 102 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_395.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_395.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_395.RULE matched_text: | GnuTLS-extra is free software: you can redistribute it and/or modify @@ -128,31 +139,36 @@ license_detections: * * You should have received a copy of the GNU General Public License * along with this program. If not, see . - - score: '100.0' + - license_expression: gfdl-1.1-plus + spdx_license_expression: GFDL-1.1-or-later + from_file: start_line: 280 end_line: 281 + matcher: 2-aho + score: '100.0' matched_length: 14 match_coverage: '100.0' - matcher: 2-aho - license_expression: gfdl-1.1-plus - rule_identifier: gfdl-1.1-plus_34.RULE rule_relevance: 100 + rule_identifier: gfdl-1.1-plus_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gfdl-1.1-plus_34.RULE matched_text: | The documentation is distributed under the terms of the GNU Free Documentation License (FDL): identifier: gpl_3_0_plus_and_gfdl_1_1_plus-679f3824-a513-560e-34f2-1d07f9135b82 - license_expression: gfdl-1.3-plus + license_expression_spdx: GFDL-1.3-or-later matches: - - score: '100.0' + - license_expression: gfdl-1.3-plus + spdx_license_expression: GFDL-1.3-or-later + from_file: start_line: 286 end_line: 291 + matcher: 2-aho + score: '100.0' matched_length: 60 match_coverage: '100.0' - matcher: 2-aho - license_expression: gfdl-1.3-plus - rule_identifier: gfdl-1.3-plus.RULE rule_relevance: 100 + rule_identifier: gfdl-1.3-plus.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gfdl-1.3-plus.RULE matched_text: | Permission is granted to copy, distribute and/or modify this @@ -163,16 +179,21 @@ license_detections: section entitled "GNU Free Documentation License". identifier: gfdl_1_3_plus-07dd7e9d-9df0-a5d7-2970-ca1db4485238 - license_expression: lgpl-2.0-plus AND lgpl-3.0 AND gpl-1.0-plus AND gpl-3.0 AND gfdl-1.3 + license_expression_spdx: LGPL-2.0-or-later AND LGPL-3.0-only AND GPL-1.0-or-later AND GPL-3.0-only + AND GFDL-1.3-only matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus AND lgpl-3.0 AND gpl-1.0-plus AND gpl-3.0 AND gfdl-1.3 + spdx_license_expression: LGPL-2.0-or-later AND LGPL-3.0-only AND GPL-1.0-or-later AND + GPL-3.0-only AND GFDL-1.3-only + from_file: start_line: 321 end_line: 327 + matcher: 2-aho + score: '100.0' matched_length: 77 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus AND lgpl-3.0 AND gpl-1.0-plus AND gpl-3.0 AND gfdl-1.3 - rule_identifier: lgpl-2.0-plus_and_lgpl-3.0_and_gpl-1.0-plus_and_gpl-3.0_and_gfdl-1.3_1.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_and_lgpl-3.0_and_gpl-1.0-plus_and_gpl-3.0_and_gfdl-1.3_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_and_lgpl-3.0_and_gpl-1.0-plus_and_gpl-3.0_and_gfdl-1.3_1.RULE matched_text: | On Debian GNU/Linux systems, the complete text of the latest version of @@ -184,29 +205,34 @@ license_detections: License is available under /usr/share/common-licenses/GFDL-1.3. identifier: lgpl_2_0_plus_and_lgpl_3_0_and_gpl_1_0_plus_and_gpl_3_0_and_gfdl_1_3-68ce99d1-c14e-c6ea-98ee-b80c28c03e41 - license_expression: lgpl-2.1-plus AND (lgpl-3.0-plus OR gpl-2.0-plus) + license_expression_spdx: LGPL-2.1-or-later AND (LGPL-3.0-or-later OR GPL-2.0-or-later) matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 336 end_line: 337 + matcher: 2-aho + score: '100.0' matched_length: 14 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_391.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_391.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_391.RULE matched_text: | released under the GNU Lesser General Public License (LGPL) version 2.1 or later. - - score: '100.0' + - license_expression: lgpl-3.0-plus OR gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later OR GPL-2.0-or-later + from_file: start_line: 340 end_line: 342 + matcher: 2-aho + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus OR gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_or_gpl-2.0-plus_26.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_or_gpl-2.0-plus_26.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_or_gpl-2.0-plus_26.RULE matched_text: | distributed under a LGPLv3+ or GPLv2+ dual license, and @@ -214,41 +240,49 @@ license_detections: GPLv2+ license. identifier: lgpl_2_1_plus_and__lgpl_3_0_plus_or_gpl_2_0_plus-c689cef8-f628-a8f3-cdb7-140bacf9047b - license_expression: lgpl-2.0-plus AND gpl-3.0 + license_expression_spdx: LGPL-2.0-or-later AND GPL-3.0-only matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 347 end_line: 347 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl_48.RULE rule_relevance: 100 + rule_identifier: lgpl_48.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_48.RULE matched_text: GNU LGPL - - score: '100.0' + - license_expression: gpl-3.0 + spdx_license_expression: GPL-3.0-only + from_file: start_line: 349 end_line: 349 + matcher: 2-aho + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0 - rule_identifier: gpl-3.0_472.RULE rule_relevance: 100 + rule_identifier: gpl-3.0_472.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_472.RULE matched_text: library are under the GNU GPL version 3. identifier: lgpl_2_0_plus_and_gpl_3_0-dcb32f87-5315-099e-bacf-ff21fe9c3759 - license_expression: bsd-new OR gpl-1.0-plus + license_expression_spdx: BSD-3-Clause OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: bsd-new OR gpl-1.0-plus + spdx_license_expression: BSD-3-Clause OR GPL-1.0-or-later + from_file: start_line: 370 end_line: 402 + matcher: 2-aho + score: '100.0' matched_length: 252 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new OR gpl-1.0-plus - rule_identifier: bsd-new_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: bsd-new_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_or_gpl-1.0-plus_7.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -286,16 +320,19 @@ license_detections: # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new_or_gpl_1_0_plus-209abb9f-676c-3064-b95e-6a47ade1a129 - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 417 end_line: 435 + matcher: 2-aho + score: '100.0' matched_length: 179 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_8.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_8.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_8.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -319,32 +356,38 @@ license_detections: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_simplified-4f707584-2d08-0eb7-9357-f3a9bd6f3d3a - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '99.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 446 end_line: 447 + matcher: 2-aho + score: '99.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: pypi_public_domain.RULE rule_relevance: 99 + rule_identifier: pypi_public_domain.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_public_domain.RULE matched_text: | License: Public domain. identifier: public_domain-1a6a4f2c-bd92-9942-920f-be3d0c2bbda6 - license_expression: isc + license_expression_spdx: ISC matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 458 end_line: 469 + matcher: 2-aho + score: '100.0' matched_length: 113 match_coverage: '100.0' - matcher: 2-aho - license_expression: isc - rule_identifier: isc_9.RULE rule_relevance: 100 + rule_identifier: isc_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_9.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -361,16 +404,19 @@ license_detections: * SOFTWARE. identifier: isc-fbf6f8d8-a949-0427-62b2-aef52fe84e71 - license_expression: cc0-1.0 + license_expression_spdx: CC0-1.0 matches: - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 476 end_line: 504 + matcher: 2-aho + score: '100.0' matched_length: 984 match_coverage: '100.0' - matcher: 2-aho - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_147.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_147.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_147.RULE matched_text: | License: CC0 license @@ -406,27 +452,32 @@ license_detections: Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. identifier: cc0_1_0-2a74ad03-c6f0-0d49-b4e5-8682628d8bec - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 510 end_line: 510 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_437.RULE rule_relevance: 100 + rule_identifier: mit_437.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_437.RULE matched_text: 'License: Expat' - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 511 end_line: 527 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -448,16 +499,19 @@ license_detections: OTHER DEALINGS IN THE SOFTWARE. identifier: mit-ce632f87-3a7d-7ead-5164-8fd75ef60032 - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 533 end_line: 543 + matcher: 2-aho + score: '100.0' matched_length: 85 match_coverage: '100.0' - matcher: 2-aho - license_expression: apache-2.0 - rule_identifier: apache-2.0_7.RULE rule_relevance: 100 + rule_identifier: apache-2.0_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_7.RULE matched_text: | Licensed under the Apache License, Version 2.0 (the "License"); @@ -471,15 +525,17 @@ license_detections: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 546 end_line: 548 + matcher: 2-aho + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 2-aho - license_expression: apache-2.0 - rule_identifier: apache-2.0_921.RULE rule_relevance: 100 + rule_identifier: apache-2.0_921.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_921.RULE matched_text: | License: Apache-2.0 @@ -487,30 +543,36 @@ license_detections: /usr/share/common-licenses/Apache-2.0 identifier: apache_2_0-77108417-de52-352e-3f26-e563af77179e - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + license_expression_spdx: LGPL-3.0-or-later AND GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 556 end_line: 556 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' identifier: lgpl_3_0_plus_and_gpl_2_0_plus-a7126328-7d75-71a0-1f22-6dad4c575b97 - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 564 end_line: 566 + matcher: 2-aho + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 2-aho - license_expression: apache-2.0 - rule_identifier: apache-2.0_921.RULE rule_relevance: 100 + rule_identifier: apache-2.0_921.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_921.RULE matched_text: | License: Apache-2.0 @@ -518,16 +580,19 @@ license_detections: /usr/share/common-licenses/Apache-2.0 identifier: apache_2_0-cbd06688-dec1-7024-4252-d9805873fa97 - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 572 end_line: 585 + matcher: 2-aho + score: '100.0' matched_length: 104 match_coverage: '100.0' - matcher: 2-aho - license_expression: apache-2.0 - rule_identifier: apache-2.0_923.RULE rule_relevance: 100 + rule_identifier: apache-2.0_923.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_923.RULE matched_text: | Comment: On Debian systems the complete license text is available in @@ -546,16 +611,19 @@ license_detections: # limitations under the License. identifier: apache_2_0-733ce4fd-e7d4-3837-d273-ab787a1f28b0 - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 591 end_line: 604 + matcher: 2-aho + score: '100.0' matched_length: 104 match_coverage: '100.0' - matcher: 2-aho - license_expression: apache-2.0 - rule_identifier: apache-2.0_923.RULE rule_relevance: 100 + rule_identifier: apache-2.0_923.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_923.RULE matched_text: | Comment: On Debian systems the complete license text is available in @@ -574,29 +642,34 @@ license_detections: # limitations under the License. identifier: apache_2_0-733ce4fd-e7d4-3837-d273-ab787a1f28b0 - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 610 end_line: 611 + matcher: 2-aho + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 2-aho - license_expression: apache-2.0 - rule_identifier: apache-2.0_919.RULE rule_relevance: 100 + rule_identifier: apache-2.0_919.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_919.RULE matched_text: | Comment: On Debian systems the complete license text is available in /usr/share/common-licenses/Apache-2.0 - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 612 end_line: 614 + matcher: 2-aho + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 2-aho - license_expression: apache-2.0 - rule_identifier: apache-2.0_921.RULE rule_relevance: 100 + rule_identifier: apache-2.0_921.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_921.RULE matched_text: | License: Apache-2.0 @@ -604,27 +677,32 @@ license_detections: /usr/share/common-licenses/Apache-2.0 identifier: apache_2_0-4da41457-a672-75b7-6a82-83b34d4546db - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 619 end_line: 619 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_437.RULE rule_relevance: 100 + rule_identifier: mit_437.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_437.RULE matched_text: 'License: Expat' - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 620 end_line: 636 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -646,27 +724,32 @@ license_detections: * DEALINGS IN THE SOFTWARE. identifier: mit-ce632f87-3a7d-7ead-5164-8fd75ef60032 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 645 end_line: 645 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_437.RULE rule_relevance: 100 + rule_identifier: mit_437.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_437.RULE matched_text: 'License: Expat' - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 646 end_line: 662 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -688,27 +771,32 @@ license_detections: * DEALINGS IN THE SOFTWARE. identifier: mit-ce632f87-3a7d-7ead-5164-8fd75ef60032 - license_expression: mit AND lgpl-2.1-plus + license_expression_spdx: MIT AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 667 end_line: 667 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_437.RULE rule_relevance: 100 + rule_identifier: mit_437.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_437.RULE matched_text: 'License: Expat' - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 668 end_line: 684 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -728,65 +816,77 @@ license_detections: * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 688 end_line: 688 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_299.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_299.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_299.RULE matched_text: 'License: LGPLv2.1+' identifier: mit_and_lgpl_2_1_plus-ac329c30-2f5d-a40f-905d-d126eef3c5d1 - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + license_expression_spdx: LGPL-3.0-or-later AND GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 695 end_line: 695 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 699 end_line: 699 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' identifier: lgpl_3_0_plus_and_gpl_2_0_plus-7f23775a-f910-2e50-bb59-826b81ee3ea5 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 705 end_line: 705 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_437.RULE rule_relevance: 100 + rule_identifier: mit_437.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_437.RULE matched_text: 'License: Expat' - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 706 end_line: 723 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -809,238 +909,285 @@ license_detections: SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: mit-ce632f87-3a7d-7ead-5164-8fd75ef60032 - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + license_expression_spdx: LGPL-3.0-or-later AND GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 729 end_line: 729 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' identifier: lgpl_3_0_plus_and_gpl_2_0_plus-a7126328-7d75-71a0-1f22-6dad4c575b97 - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + license_expression_spdx: LGPL-3.0-or-later AND GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 735 end_line: 735 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' identifier: lgpl_3_0_plus_and_gpl_2_0_plus-a7126328-7d75-71a0-1f22-6dad4c575b97 - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + license_expression_spdx: LGPL-3.0-or-later AND GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 741 end_line: 741 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 745 end_line: 745 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 749 end_line: 749 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 753 end_line: 753 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' identifier: lgpl_3_0_plus_and_gpl_2_0_plus-b4e65bb2-6eb0-e8d4-702f-7d8adaca65f5 - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + license_expression_spdx: LGPL-3.0-or-later AND GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 759 end_line: 759 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' identifier: lgpl_3_0_plus_and_gpl_2_0_plus-a7126328-7d75-71a0-1f22-6dad4c575b97 - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + license_expression_spdx: LGPL-3.0-or-later AND GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 764 end_line: 764 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 768 end_line: 768 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 772 end_line: 772 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 776 end_line: 776 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 780 end_line: 780 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' identifier: lgpl_3_0_plus_and_gpl_2_0_plus-e47b5aad-c451-e58f-e295-28b4a946f26f - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + license_expression_spdx: LGPL-3.0-or-later AND GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 785 end_line: 785 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 789 end_line: 789 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' identifier: lgpl_3_0_plus_and_gpl_2_0_plus-7f23775a-f910-2e50-bb59-826b81ee3ea5 - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + license_expression_spdx: LGPL-3.0-or-later AND GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 794 end_line: 794 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' identifier: lgpl_3_0_plus_and_gpl_2_0_plus-a7126328-7d75-71a0-1f22-6dad4c575b97 - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + license_expression_spdx: LGPL-3.0-or-later AND GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 799 end_line: 799 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 803 end_line: 803 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' identifier: lgpl_3_0_plus_and_gpl_2_0_plus-7f23775a-f910-2e50-bb59-826b81ee3ea5 - license_expression: (lgpl-3.0-plus AND gpl-2.0-plus) AND mit + license_expression_spdx: (LGPL-3.0-or-later AND GPL-2.0-or-later) AND MIT matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 808 end_line: 808 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 809 end_line: 826 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -1063,16 +1210,19 @@ license_detections: * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: lgpl_3_0_plus_and_gpl_2_0_plus__and_mit-84fdb61a-6dde-fd9b-39f3-090fac62c53d - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 838 end_line: 855 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -1096,16 +1246,20 @@ license_detections: identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: lgpl-2.1-plus AND (lgpl-3.0-plus AND gpl-2.0-plus) AND (lgpl-3.0-plus OR gpl-2.0-plus) + license_expression_spdx: LGPL-2.1-or-later AND (LGPL-3.0-or-later AND GPL-2.0-or-later) + AND (LGPL-3.0-or-later OR GPL-2.0-or-later) matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 866 end_line: 877 + matcher: 2-aho + score: '100.0' matched_length: 104 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_320.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_320.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_320.RULE matched_text: | Libgcrypt is free software; you can redistribute it and/or modify @@ -1120,37 +1274,43 @@ license_detections: * * You should have received a copy of the GNU Lesser General Public * License along with this program; if not, see . - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 880 end_line: 880 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' - - score: '100.0' + - license_expression: lgpl-3.0-plus AND gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later AND GPL-2.0-or-later + from_file: start_line: 884 end_line: 884 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus AND gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_and_gpl-2.0-plus_1.RULE matched_text: 'License: LGPLv3+_or_GPLv2+' - - score: '100.0' + - license_expression: lgpl-3.0-plus OR gpl-2.0-plus + spdx_license_expression: LGPL-3.0-or-later OR GPL-2.0-or-later + from_file: start_line: 885 end_line: 907 + matcher: 2-aho + score: '100.0' matched_length: 143 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-3.0-plus OR gpl-2.0-plus - rule_identifier: lgpl-3.0-plus_or_gpl-2.0-plus_23.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_or_gpl-2.0-plus_23.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_or_gpl-2.0-plus_23.RULE matched_text: | This program is free software: you can redistribute it and/or @@ -1178,383 +1338,460 @@ license_detections: * not, see http://www.gnu.org/licenses/. identifier: lgpl_2_1_plus_and__lgpl_3_0_plus_and_gpl_2_0_plus__and__lgpl_3_0_plus_or_gpl_2_0_plus-b642fd2e-6b0d-f616-3aea-66b829eccdee - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 927 end_line: 927 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' identifier: gpl_3_0_plus-3db4dd23-3c11-6f74-b73d-79f8b0d2d48b - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 940 end_line: 940 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' identifier: gpl_3_0_plus-3db4dd23-3c11-6f74-b73d-79f8b0d2d48b - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 945 end_line: 945 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 949 end_line: 949 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' identifier: gpl_3_0_plus-6f74e383-639f-5369-8d93-48aa1ec12853 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 954 end_line: 954 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' identifier: gpl_3_0_plus-3db4dd23-3c11-6f74-b73d-79f8b0d2d48b - license_expression: gpl-3.0-plus AND lgpl-2.1-plus + license_expression_spdx: GPL-3.0-or-later AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 964 end_line: 964 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 968 end_line: 968 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_299.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_299.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_299.RULE matched_text: 'License: LGPLv2.1+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 972 end_line: 972 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' identifier: gpl_3_0_plus_and_lgpl_2_1_plus-3a037210-69a9-35de-52da-97d13672a103 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 978 end_line: 978 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' identifier: gpl_3_0_plus-3db4dd23-3c11-6f74-b73d-79f8b0d2d48b - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 983 end_line: 983 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' identifier: gpl_3_0_plus-3db4dd23-3c11-6f74-b73d-79f8b0d2d48b - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 988 end_line: 988 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' identifier: gpl_3_0_plus-3db4dd23-3c11-6f74-b73d-79f8b0d2d48b - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 993 end_line: 993 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' identifier: gpl_3_0_plus-3db4dd23-3c11-6f74-b73d-79f8b0d2d48b - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 999 end_line: 999 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' identifier: gpl_3_0_plus-3db4dd23-3c11-6f74-b73d-79f8b0d2d48b - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1006 end_line: 1006 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' identifier: gpl_3_0_plus-3db4dd23-3c11-6f74-b73d-79f8b0d2d48b - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1011 end_line: 1011 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1015 end_line: 1015 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1019 end_line: 1019 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' identifier: gpl_3_0_plus-b9c2bb21-041b-aefb-84f5-ecb3fa0c78f4 - license_expression: gpl-3.0-plus AND lgpl-2.1-plus + license_expression_spdx: GPL-3.0-or-later AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1024 end_line: 1024 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1028 end_line: 1028 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1032 end_line: 1032 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1036 end_line: 1036 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 1040 end_line: 1040 + matcher: 2-aho + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_299.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_299.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_299.RULE matched_text: 'License: LGPLv2.1+' identifier: gpl_3_0_plus_and_lgpl_2_1_plus-d232e3ee-7ec1-e56b-a14e-06d8be46d430 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1047 end_line: 1047 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' identifier: gpl_3_0_plus-3db4dd23-3c11-6f74-b73d-79f8b0d2d48b - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1052 end_line: 1052 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1056 end_line: 1056 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' identifier: gpl_3_0_plus-6f74e383-639f-5369-8d93-48aa1ec12853 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1061 end_line: 1061 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1065 end_line: 1065 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 1069 end_line: 1069 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_112.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_112.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_112.RULE matched_text: 'License: GPLv3+' identifier: gpl_3_0_plus-b9c2bb21-041b-aefb-84f5-ecb3fa0c78f4 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1074 end_line: 1074 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_195.RULE rule_relevance: 100 + rule_identifier: bsd-new_195.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_195.RULE matched_text: 'License: BSD-3-Clause' - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1077 end_line: 1097 + matcher: 2-aho + score: '100.0' matched_length: 206 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_1066.RULE rule_relevance: 100 + rule_identifier: bsd-new_1066.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1066.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgpg-error0/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgpg-error0/copyright-detailed.expected.yml index ec19d4f7c9..edece5621b 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgpg-error0/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgpg-error0/copyright-detailed.expected.yml @@ -29,16 +29,19 @@ other_license_expression_spdx: (LGPL-2.1-or-later AND LGPL-2.1-or-later) AND (LG license_detections: [] other_license_detections: - license_expression: fsf-unlimited-no-warranty + license_expression_spdx: FSFULLRWD matches: - - score: '100.0' + - license_expression: fsf-unlimited-no-warranty + spdx_license_expression: FSFULLRWD + from_file: start_line: 57 end_line: 63 + matcher: 1-hash + score: '100.0' matched_length: 64 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-unlimited-no-warranty - rule_identifier: fsf-unlimited-no-warranty.RULE rule_relevance: 100 + rule_identifier: fsf-unlimited-no-warranty.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-unlimited-no-warranty.RULE matched_text: | This file is free software; as a special exception the author gives @@ -50,27 +53,32 @@ other_license_detections: implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. identifier: fsf_unlimited_no_warranty-005cbd82-97e0-5c6c-e111-cd46d95d2c5a - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 65 end_line: 65 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 66 end_line: 81 + matcher: 1-hash + score: '100.0' matched_length: 144 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_390.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_390.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_390.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -91,27 +99,32 @@ other_license_detections: version 2.1 can be found in /usr/share/common-licenses/LGPL-2.1. identifier: lgpl_2_1_plus-b69e098d-e26d-66eb-a9eb-d64b9fb65747 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 83 end_line: 83 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 84 end_line: 98 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_385.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_385.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_385.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -131,16 +144,19 @@ other_license_detections: version 3 can be found in /usr/share/common-licenses/GPL-3. identifier: gpl_3_0_plus-d32e0b16-ec08-400f-7308-94bab4d18d11 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 101 end_line: 124 + matcher: 1-hash + score: '100.0' matched_length: 205 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_910.RULE rule_relevance: 100 + rule_identifier: bsd-new_910.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_910.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgssapi-krb5-2/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgssapi-krb5-2/copyright-detailed.expected.yml index c8a31e5b26..c08418c869 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgssapi-krb5-2/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libgssapi-krb5-2/copyright-detailed.expected.yml @@ -24,16 +24,20 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: bsd-simplified AND generic-export-compliance AND cc-by-sa-3.0 + license_expression_spdx: BSD-2-Clause AND LicenseRef-scancode-generic-export-compliance + AND CC-BY-SA-3.0 matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 18 end_line: 39 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified.LICENSE rule_relevance: 100 + rule_identifier: bsd-simplified.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-simplified.LICENSE matched_text: | Redistribution and use in source and binary forms, with or without @@ -58,15 +62,17 @@ license_detections: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: generic-export-compliance + spdx_license_expression: LicenseRef-scancode-generic-export-compliance + from_file: start_line: 41 end_line: 52 + matcher: 2-aho + score: '100.0' matched_length: 104 match_coverage: '100.0' - matcher: 2-aho - license_expression: generic-export-compliance - rule_identifier: generic-export-compliance_3.RULE rule_relevance: 100 + rule_identifier: generic-export-compliance_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/generic-export-compliance_3.RULE matched_text: | Downloading of this software may constitute an export of cryptographic @@ -81,15 +87,17 @@ license_detections: certain countries and individuals, including, but not limited to, the countries of Cuba, Iran, North Korea, Sudan, Syria, and residents and nationals of those countries. - - score: '100.0' + - license_expression: cc-by-sa-3.0 + spdx_license_expression: CC-BY-SA-3.0 + from_file: start_line: 54 end_line: 56 + matcher: 2-aho + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 2-aho - license_expression: cc-by-sa-3.0 - rule_identifier: cc-by-sa-3.0_22.RULE rule_relevance: 100 + rule_identifier: cc-by-sa-3.0_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-3.0_22.RULE matched_text: | Documentation components of this software distribution are licensed @@ -97,16 +105,19 @@ license_detections: (http://creativecommons.org/licenses/by-sa/3.0/) identifier: bsd_simplified_and_generic_export_compliance_and_cc_by_sa_3_0-33db6ba2-24df-220e-9776-12e2f090117e - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 64 end_line: 70 + matcher: 2-aho + score: '100.0' matched_length: 57 match_coverage: '100.0' - matcher: 2-aho - license_expression: proprietary-license - rule_identifier: proprietary-license_136.RULE rule_relevance: 100 + rule_identifier: proprietary-license_136.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_136.RULE matched_text: | No commercial use of these trademarks may be made without @@ -118,16 +129,19 @@ license_detections: recognition of their trademark status should be given). identifier: proprietary_license-ae26591e-560d-5622-14d0-ff1ff9a49b22 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 82 end_line: 111 + matcher: 2-aho + score: '100.0' matched_length: 244 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_80.RULE rule_relevance: 100 + rule_identifier: other-permissive_80.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_80.RULE matched_text: | WARNING: Retrieving the OpenVision Kerberos Administration system @@ -162,16 +176,19 @@ license_detections: community. identifier: other_permissive-46e6e2b3-dadb-a39b-50ee-b8a8739b526d - license_expression: mit-no-advert-export-control + license_expression_spdx: LicenseRef-scancode-mit-no-advert-export-control matches: - - score: '98.73' + - license_expression: mit-no-advert-export-control + spdx_license_expression: LicenseRef-scancode-mit-no-advert-export-control + from_file: start_line: 128 end_line: 146 + matcher: 2-aho + score: '98.73' matched_length: 155 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-no-advert-export-control - rule_identifier: mit-no-advert-export-control_1.RULE rule_relevance: 100 + rule_identifier: mit-no-advert-export-control_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-no-advert-export-control_1.RULE matched_text: | Export of this software from the United States of America may @@ -195,16 +212,19 @@ license_detections: WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. identifier: mit_no_advert_export_control-1128ece3-2db6-bad0-d5d9-6c912fa4983c - license_expression: brian-gladman-3-clause + license_expression_spdx: LicenseRef-scancode-brian-gladman-3-clause matches: - - score: '100.0' + - license_expression: brian-gladman-3-clause + spdx_license_expression: LicenseRef-scancode-brian-gladman-3-clause + from_file: start_line: 156 end_line: 175 + matcher: 2-aho + score: '100.0' matched_length: 117 match_coverage: '100.0' - matcher: 2-aho - license_expression: brian-gladman-3-clause - rule_identifier: brian-gladman-3-clause_2.RULE rule_relevance: 100 + rule_identifier: brian-gladman-3-clause_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/brian-gladman-3-clause_2.RULE matched_text: | LICENSE TERMS @@ -229,16 +249,19 @@ license_detections: to, correctness and fitness for purpose. identifier: brian_gladman_3_clause-7a3ee4cc-fd00-4912-cc3a-c1abe777f891 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 187 end_line: 214 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_587.RULE rule_relevance: 100 + rule_identifier: bsd-new_587.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_587.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -271,16 +294,19 @@ license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-66fbca06-fdde-6367-5e72-bd742f214050 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 222 end_line: 240 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person @@ -304,16 +330,19 @@ license_detections: DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 248 end_line: 272 + matcher: 2-aho + score: '100.0' matched_length: 185 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_20.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_20.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_20.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -343,16 +372,19 @@ license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_simplified-fe5ce6eb-1b7c-6cd1-2e78-e9f71b0262f1 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 334 end_line: 352 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person @@ -376,16 +408,19 @@ license_detections: SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 363 end_line: 390 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -418,16 +453,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 400 end_line: 427 + matcher: 2-aho + score: '100.0' matched_length: 205 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_588.RULE rule_relevance: 100 + rule_identifier: bsd-new_588.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_588.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -460,16 +498,19 @@ license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-dc7f0df2-c1a1-daeb-6556-1f60f5c4484c - license_expression: michigan-disclaimer + license_expression_spdx: LicenseRef-scancode-michigan-disclaimer matches: - - score: '100.0' + - license_expression: michigan-disclaimer + spdx_license_expression: LicenseRef-scancode-michigan-disclaimer + from_file: start_line: 440 end_line: 459 + matcher: 2-aho + score: '100.0' matched_length: 186 match_coverage: '100.0' - matcher: 2-aho - license_expression: michigan-disclaimer - rule_identifier: michigan-disclaimer.LICENSE rule_relevance: 100 + rule_identifier: michigan-disclaimer.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/michigan-disclaimer.LICENSE matched_text: | Permission is granted to use, copy, create derivative works and @@ -494,16 +535,19 @@ license_detections: IS HEREAFTER ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. identifier: michigan_disclaimer-f90073dd-2b26-8fe5-d12a-32531681f44a - license_expression: fsf-unlimited-no-warranty + license_expression_spdx: FSFULLRWD matches: - - score: '100.0' + - license_expression: fsf-unlimited-no-warranty + spdx_license_expression: FSFULLRWD + from_file: start_line: 469 end_line: 476 + matcher: 2-aho + score: '100.0' matched_length: 64 match_coverage: '100.0' - matcher: 2-aho - license_expression: fsf-unlimited-no-warranty - rule_identifier: fsf-unlimited-no-warranty.RULE rule_relevance: 100 + rule_identifier: fsf-unlimited-no-warranty.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-unlimited-no-warranty.RULE matched_text: | This file is free software; as a special exception the author gives @@ -516,16 +560,19 @@ license_detections: PURPOSE. identifier: fsf_unlimited_no_warranty-005cbd82-97e0-5c6c-e111-cd46d95d2c5a - license_expression: mit-no-advert-export-control + license_expression_spdx: LicenseRef-scancode-mit-no-advert-export-control matches: - - score: '100.0' + - license_expression: mit-no-advert-export-control + spdx_license_expression: LicenseRef-scancode-mit-no-advert-export-control + from_file: start_line: 485 end_line: 503 + matcher: 2-aho + score: '100.0' matched_length: 159 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-no-advert-export-control - rule_identifier: mit-no-advert-export-control_2.RULE rule_relevance: 100 + rule_identifier: mit-no-advert-export-control_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-no-advert-export-control_2.RULE matched_text: | Export of this software from the United States of America may @@ -549,16 +596,19 @@ license_detections: WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. identifier: mit_no_advert_export_control-d6c84c49-6090-f5cb-35df-480e9ca265bf - license_expression: openldap-2.8 + license_expression_spdx: OLDAP-2.8 matches: - - score: '100.0' + - license_expression: openldap-2.8 + spdx_license_expression: OLDAP-2.8 + from_file: start_line: 511 end_line: 558 + matcher: 2-aho + score: '100.0' matched_length: 330 match_coverage: '100.0' - matcher: 2-aho - license_expression: openldap-2.8 - rule_identifier: openldap-2.8.LICENSE rule_relevance: 100 + rule_identifier: openldap-2.8.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/openldap-2.8.LICENSE matched_text: | The OpenLDAP Public License @@ -611,16 +661,19 @@ license_detections: distribute verbatim copies of this document is granted. identifier: openldap_2_8-58e150c7-83e9-bea6-0075-83fa7a4a9025 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 568 end_line: 595 + matcher: 2-aho + score: '100.0' matched_length: 212 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_933.RULE rule_relevance: 100 + rule_identifier: bsd-new_933.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_933.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -653,16 +706,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-3067d87e-03fa-386b-14c5-8c725b58e271 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 608 end_line: 636 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_151.RULE rule_relevance: 100 + rule_identifier: bsd-new_151.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_151.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -696,16 +752,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-405dd1d5-a75a-5b1c-3698-dad680358560 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 647 end_line: 675 + matcher: 2-aho + score: '100.0' matched_length: 217 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_589.RULE rule_relevance: 100 + rule_identifier: bsd-new_589.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_589.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -739,16 +798,19 @@ license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-bcd7c498-0b2c-5abe-4ee7-1e4d56c69bcc - license_expression: freebsd-doc + license_expression_spdx: FreeBSD-DOC matches: - - score: '100.0' + - license_expression: freebsd-doc + spdx_license_expression: FreeBSD-DOC + from_file: start_line: 682 end_line: 705 + matcher: 2-aho + score: '100.0' matched_length: 185 match_coverage: '100.0' - matcher: 2-aho - license_expression: freebsd-doc - rule_identifier: freebsd-doc_5.RULE rule_relevance: 100 + rule_identifier: freebsd-doc_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/freebsd-doc_5.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -777,16 +839,19 @@ license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: freebsd_doc-9db33af1-af77-1b9f-27f4-0ae766439a3a - license_expression: cmu-uc + license_expression_spdx: MIT-CMU matches: - - score: '99.0' + - license_expression: cmu-uc + spdx_license_expression: MIT-CMU + from_file: start_line: 713 end_line: 729 + matcher: 2-aho + score: '99.0' matched_length: 143 match_coverage: '100.0' - matcher: 2-aho - license_expression: cmu-uc - rule_identifier: cmu-uc_12.RULE rule_relevance: 99 + rule_identifier: cmu-uc_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cmu-uc_12.RULE matched_text: | Permission to use, copy, modify, and distribute this software and @@ -808,16 +873,19 @@ license_detections: SOFTWARE. identifier: cmu_uc-81218bbc-ee50-f7e2-791a-f18dcff965fd - license_expression: nrl-permission + license_expression_spdx: LicenseRef-scancode-nrl-permission matches: - - score: '95.0' + - license_expression: nrl-permission + spdx_license_expression: LicenseRef-scancode-nrl-permission + from_file: start_line: 735 end_line: 743 + matcher: 2-aho + score: '95.0' matched_length: 71 match_coverage: '100.0' - matcher: 2-aho - license_expression: nrl-permission - rule_identifier: nrl-permission_1.RULE rule_relevance: 95 + rule_identifier: nrl-permission_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/nrl-permission_1.RULE matched_text: | Permission to use, copy, modify and distribute this software and @@ -831,16 +899,19 @@ license_detections: RESULTING FROM THE USE OF THIS SOFTWARE. identifier: nrl_permission-69f7eb46-92e8-fb4c-6788-8285e4f7effa - license_expression: ietf-trust + license_expression_spdx: LicenseRef-scancode-ietf-trust matches: - - score: '100.0' + - license_expression: ietf-trust + spdx_license_expression: LicenseRef-scancode-ietf-trust + from_file: start_line: 752 end_line: 763 + matcher: 2-aho + score: '100.0' matched_length: 99 match_coverage: '100.0' - matcher: 2-aho - license_expression: ietf-trust - rule_identifier: ietf-trust_10.RULE rule_relevance: 100 + rule_identifier: ietf-trust_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/ietf-trust_10.RULE matched_text: | This document is subject to the rights, licenses and restrictions @@ -857,16 +928,19 @@ license_detections: PARTICULAR PURPOSE. identifier: ietf_trust-f268e8cf-010e-2ddb-9692-832496073cf3 - license_expression: mit-old-style + license_expression_spdx: LicenseRef-scancode-mit-old-style matches: - - score: '100.0' + - license_expression: mit-old-style + spdx_license_expression: LicenseRef-scancode-mit-old-style + from_file: start_line: 769 end_line: 776 + matcher: 2-aho + score: '100.0' matched_length: 69 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-old-style - rule_identifier: mit-old-style_11.RULE rule_relevance: 100 + rule_identifier: mit-old-style_11.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style_11.RULE matched_text: | Permission to use, copy, modify, and distribute this software and @@ -879,16 +953,19 @@ license_detections: warranty. identifier: mit_old_style-1e993fd4-e311-4d2f-c751-607871e23414 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 782 end_line: 800 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person @@ -912,16 +989,20 @@ license_detections: SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: bsd-simplified AND (mit-no-advert-export-control AND proprietary-license) + license_expression_spdx: BSD-2-Clause AND (LicenseRef-scancode-mit-no-advert-export-control + AND LicenseRef-scancode-proprietary-license) matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 810 end_line: 833 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -948,15 +1029,17 @@ license_detections: OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: mit-no-advert-export-control AND proprietary-license + spdx_license_expression: LicenseRef-scancode-mit-no-advert-export-control AND LicenseRef-scancode-proprietary-license + from_file: start_line: 837 end_line: 856 + matcher: 2-aho + score: '100.0' matched_length: 165 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-no-advert-export-control AND proprietary-license - rule_identifier: mit-no-advert-export-control_and_proprietary-license_1.RULE rule_relevance: 100 + rule_identifier: mit-no-advert-export-control_and_proprietary-license_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-no-advert-export-control_and_proprietary-license_1.RULE matched_text: | EXPORT OF THIS SOFTWARE from the United States of America may @@ -981,16 +1064,19 @@ license_detections: distributor of the ksu software. identifier: bsd_simplified_and__mit_no_advert_export_control_and_proprietary_license-345b28a9-f29e-4bc5-6160-59a84fd1aadf - license_expression: bsd-original-uc + license_expression_spdx: BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 866 end_line: 899 + matcher: 2-aho + score: '100.0' matched_length: 243 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_3.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1029,16 +1115,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_original_uc-f28cb4d4-6336-ee60-f186-4c1929d3a4b0 - license_expression: mit-no-advert-export-control + license_expression_spdx: LicenseRef-scancode-mit-no-advert-export-control matches: - - score: '99.0' + - license_expression: mit-no-advert-export-control + spdx_license_expression: LicenseRef-scancode-mit-no-advert-export-control + from_file: start_line: 907 end_line: 922 + matcher: 2-aho + score: '99.0' matched_length: 145 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-no-advert-export-control - rule_identifier: mit-no-advert-export-control_4.RULE rule_relevance: 99 + rule_identifier: mit-no-advert-export-control_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-no-advert-export-control_4.RULE matched_text: | Export of this software from the United States of America may @@ -1059,16 +1148,19 @@ license_detections: is" without express or implied warranty. identifier: mit_no_advert_export_control-8a3f7c38-f5cb-2016-0e86-70fb9f16ca5c - license_expression: bsd-original + license_expression_spdx: BSD-4-Clause matches: - - score: '100.0' + - license_expression: bsd-original + spdx_license_expression: BSD-4-Clause + from_file: start_line: 934 end_line: 968 + matcher: 2-aho + score: '100.0' matched_length: 245 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-original - rule_identifier: bsd-original_32.RULE rule_relevance: 100 + rule_identifier: bsd-original_32.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original_32.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1108,16 +1200,19 @@ license_detections: DAMAGE. identifier: bsd_original-07212ebb-4bc6-b4e9-de7c-a4d294184c21 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 978 end_line: 996 + matcher: 2-aho + score: '100.0' matched_length: 165 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_483.RULE rule_relevance: 100 + rule_identifier: mit_483.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_483.RULE matched_text: | Permission is hereby granted, free of charge, to any person @@ -1141,16 +1236,19 @@ license_detections: OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: mit-c00d5dad-390d-222f-7182-5d856cf7b8de - license_expression: isc + license_expression_spdx: ISC matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 1004 end_line: 1016 + matcher: 2-aho + score: '100.0' matched_length: 111 match_coverage: '100.0' - matcher: 2-aho - license_expression: isc - rule_identifier: isc_14.RULE rule_relevance: 100 + rule_identifier: isc_14.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_14.RULE matched_text: | Permission to use, copy, modify, and distribute this software for @@ -1168,16 +1266,19 @@ license_detections: CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. identifier: isc-ea6c318e-91a9-413d-027a-507b2cebec2c - license_expression: isc + license_expression_spdx: ISC matches: - - score: '95.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 1025 end_line: 1037 + matcher: 2-aho + score: '95.0' matched_length: 132 match_coverage: '100.0' - matcher: 2-aho - license_expression: isc - rule_identifier: isc_16.RULE rule_relevance: 95 + rule_identifier: isc_16.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_16.RULE matched_text: | Permission to use, copy, modify, and distribute this software for @@ -1195,32 +1296,38 @@ license_detections: this kind of disclaimer?) identifier: isc-e2afa98f-2f94-8ed0-73b4-11ad7eb78f27 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 1046 end_line: 1047 + matcher: 2-aho + score: '100.0' matched_length: 16 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_22.RULE rule_relevance: 100 + rule_identifier: other-permissive_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_22.RULE matched_text: | This file may be freely redistributed without license or fee provided this copyright message remains intact. identifier: other_permissive-159ebe90-9eb6-c7d5-9749-3fca97d30548 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1060 end_line: 1087 + matcher: 2-aho + score: '100.0' matched_length: 208 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_134.RULE rule_relevance: 100 + rule_identifier: bsd-new_134.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_134.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1253,16 +1360,19 @@ license_detections: DAMAGE. identifier: bsd_new-12f1ac86-ca22-4cc1-70be-ff0581226e16 - license_expression: rsa-md4 + license_expression_spdx: LicenseRef-scancode-rsa-md4 matches: - - score: '100.0' + - license_expression: rsa-md4 + spdx_license_expression: LicenseRef-scancode-rsa-md4 + from_file: start_line: 1096 end_line: 1112 + matcher: 2-aho + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 2-aho - license_expression: rsa-md4 - rule_identifier: rsa-md4.LICENSE rule_relevance: 100 + rule_identifier: rsa-md4.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/rsa-md4.LICENSE matched_text: | License to copy and use this software is granted provided that it @@ -1284,16 +1394,19 @@ license_detections: documentation and/or software. identifier: rsa_md4-a759e81a-f925-4fa7-feb4-1653e6ac100e - license_expression: rsa-md5 + license_expression_spdx: RSA-MD matches: - - score: '100.0' + - license_expression: rsa-md5 + spdx_license_expression: RSA-MD + from_file: start_line: 1121 end_line: 1137 + matcher: 2-aho + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 2-aho - license_expression: rsa-md5 - rule_identifier: rsa-md5.LICENSE rule_relevance: 100 + rule_identifier: rsa-md5.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/rsa-md5.LICENSE matched_text: | License to copy and use this software is granted provided that it @@ -1315,16 +1428,19 @@ license_detections: documentation and/or software. identifier: rsa_md5-15c129b1-dd57-a1d1-c398-85cc6d20017e - license_expression: rsa-1990 + license_expression_spdx: LicenseRef-scancode-rsa-1990 matches: - - score: '100.0' + - license_expression: rsa-1990 + spdx_license_expression: LicenseRef-scancode-rsa-1990 + from_file: start_line: 1147 end_line: 1153 + matcher: 2-aho + score: '100.0' matched_length: 54 match_coverage: '100.0' - matcher: 2-aho - license_expression: rsa-1990 - rule_identifier: rsa-1990.LICENSE rule_relevance: 100 + rule_identifier: rsa-1990.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/rsa-1990.LICENSE matched_text: | RSA Data Security, Inc. makes no representations concerning either @@ -1336,16 +1452,19 @@ license_detections: documentation and/or software. identifier: rsa_1990-2041758f-0e05-d693-1067-8e6b055aa3ee - license_expression: mit-with-modification-obligations + license_expression_spdx: HPND-export-US-modify matches: - - score: '100.0' + - license_expression: mit-with-modification-obligations + spdx_license_expression: HPND-export-US-modify + from_file: start_line: 1163 end_line: 1181 + matcher: 2-aho + score: '100.0' matched_length: 177 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-with-modification-obligations - rule_identifier: mit-with-modification-obligations_2.RULE rule_relevance: 100 + rule_identifier: mit-with-modification-obligations_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-with-modification-obligations_2.RULE matched_text: | Export of this software from the United States of America may @@ -1369,16 +1488,19 @@ license_detections: provided "as is" without express or implied warranty. identifier: mit_with_modification_obligations-42eb6af6-0f2c-428f-f892-f4bb7295452c - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1190 end_line: 1217 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_590.RULE rule_relevance: 100 + rule_identifier: bsd-new_590.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_590.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1411,16 +1533,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-92ffce46-c317-d9f5-e740-a98f7d6eb994 - license_expression: bsd-simplified OR gpl-2.0-plus + license_expression_spdx: BSD-2-Clause OR GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: bsd-simplified OR gpl-2.0-plus + spdx_license_expression: BSD-2-Clause OR GPL-2.0-or-later + from_file: start_line: 1226 end_line: 1264 + matcher: 2-aho + score: '100.0' matched_length: 335 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified OR gpl-2.0-plus - rule_identifier: bsd-simplified_or_gpl-2.0-plus_7.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_or_gpl-2.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_or_gpl-2.0-plus_7.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1464,16 +1589,19 @@ license_detections: version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: bsd_simplified_or_gpl_2_0_plus-061f1e82-e3fd-1972-4fbc-961626a0b57a - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1274 end_line: 1302 + matcher: 2-aho + score: '100.0' matched_length: 212 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-intel_4.RULE rule_relevance: 100 + rule_identifier: bsd-intel_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-intel_4.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1507,16 +1635,19 @@ license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-27fdae2b-970d-afa7-4ecb-ef39abbe9d1e - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1311 end_line: 1334 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified.LICENSE rule_relevance: 100 + rule_identifier: bsd-simplified.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-simplified.LICENSE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libhogweed6/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libhogweed6/copyright-detailed.expected.yml index fc8302cb0c..91ce4a9a7d 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libhogweed6/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libhogweed6/copyright-detailed.expected.yml @@ -194,27 +194,32 @@ other_license_expression_spdx: ((LGPL-3.0-or-later AND LGPL-3.0-or-later) OR (GP license_detections: [] other_license_detections: - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 276 end_line: 276 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_61.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_61.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_61.RULE matched_text: 'License: lgpl-2+' - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 277 end_line: 293 + matcher: 1-hash + score: '100.0' matched_length: 143 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_460.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_460.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_460.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -236,27 +241,32 @@ other_license_detections: /usr/share/common-licenses/LGPL-2. identifier: lgpl_2_0_plus-974dd354-ef44-944d-ffbb-69b6be081731 - license_expression: gpl-3.0-plus AND gpl-3.0-plus WITH tex-exception + license_expression_spdx: GPL-3.0-or-later AND GPL-3.0-or-later WITH Texinfo-exception matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 489 end_line: 489 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus WITH tex-exception + spdx_license_expression: GPL-3.0-or-later WITH Texinfo-exception + from_file: start_line: 490 end_line: 505 + matcher: 1-hash + score: '100.0' matched_length: 137 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus WITH tex-exception - rule_identifier: gpl-3.0-plus_with_tex-exception_5.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_with_tex-exception_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_tex-exception_5.RULE matched_text: | This texinfo.tex file is free software: you can redistribute it and/or @@ -277,16 +287,19 @@ other_license_detections: restriction. (This has been our intent since Texinfo was invented.) identifier: gpl_3_0_plus_and_gpl_3_0_plus_with_tex_exception-71564435-9876-cce5-4982-7b2b76b00f2e - license_expression: autoconf-simple-exception-2.0 + license_expression_spdx: Autoconf-exception-generic matches: - - score: '100.0' + - license_expression: autoconf-simple-exception-2.0 + spdx_license_expression: Autoconf-exception-generic + from_file: start_line: 525 end_line: 528 + matcher: 1-hash + score: '100.0' matched_length: 42 match_coverage: '100.0' - matcher: 1-hash - license_expression: autoconf-simple-exception-2.0 - rule_identifier: autoconf-simple-exception-2.0.LICENSE rule_relevance: 100 + rule_identifier: autoconf-simple-exception-2.0.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/autoconf-simple-exception-2.0.LICENSE matched_text: | As a special exception to the GNU General Public License, if you @@ -295,43 +308,51 @@ other_license_detections: the same distribution terms that you use for the rest of that program. identifier: autoconf_simple_exception_2_0-9f49705d-f825-5107-3217-345df57f18c4 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 533 end_line: 534 + matcher: 1-hash + score: '100.0' matched_length: 15 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_354.RULE rule_relevance: 100 + rule_identifier: public-domain_354.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_354.RULE matched_text: | I believe that most files in debian/ hardly contains any creative expression eligible for copyright. identifier: public_domain-08996397-ee56-6ff8-8fb7-35f9f0b96837 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 539 end_line: 539 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 540 end_line: 556 + matcher: 1-hash + score: '100.0' matched_length: 131 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1155.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1155.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1155.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -353,16 +374,19 @@ other_license_detections: /usr/share/common-licenses/GPL-2. identifier: gpl_2_0-b47eb271-c5ef-bd9e-ddea-7766c795aa06 - license_expression: fsf-ap + license_expression_spdx: FSFAP matches: - - score: '100.0' + - license_expression: fsf-ap + spdx_license_expression: FSFAP + from_file: start_line: 565 end_line: 567 + matcher: 1-hash + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-ap - rule_identifier: fsf-ap_3.RULE rule_relevance: 100 + rule_identifier: fsf-ap_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-ap_3.RULE matched_text: | Copying and distribution of this file, with or without modification, @@ -370,27 +394,32 @@ other_license_detections: notice and this notice are preserved. identifier: fsf_ap-e6bce55e-c5a1-cd3c-4dee-8eea6cc9bbe3 - license_expression: lgpl-3.0-plus + license_expression_spdx: LGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 569 end_line: 569 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_166.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE matched_text: 'License: lgpl-3+' - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 570 end_line: 585 + matcher: 1-hash + score: '100.0' matched_length: 134 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_196.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_196.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_196.RULE matched_text: | The nettle library is free software; you can redistribute it and/or modify @@ -411,27 +440,32 @@ other_license_detections: /usr/share/common-licenses/LGPL. identifier: lgpl_3_0_plus-4223bfa7-54f8-4a73-f2df-0e6a63fd31a5 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 587 end_line: 587 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 588 end_line: 605 + matcher: 1-hash + score: '100.0' matched_length: 140 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_857.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_857.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_857.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -454,16 +488,19 @@ other_license_detections: /usr/share/common-licenses/GPL. identifier: gpl_2_0_plus-efe6b372-1df6-a999-a97e-2bc9e6ec9898 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 608 end_line: 625 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -487,16 +524,22 @@ other_license_detections: identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: ((gpl-2.0-plus OR gpl-3.0-plus) AND other-permissive AND public-domain) AND public-domain AND lgpl-2.0-plus AND mit AND pycrypto AND lgpl-2.1-plus + license_expression_spdx: ((GPL-2.0-or-later OR GPL-3.0-or-later) AND LicenseRef-scancode-other-permissive + AND LicenseRef-scancode-public-domain) AND LicenseRef-scancode-public-domain AND LGPL-2.0-or-later + AND MIT AND LicenseRef-scancode-pycrypto AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: (gpl-2.0-plus OR gpl-3.0-plus) AND other-permissive AND public-domain + spdx_license_expression: (GPL-2.0-or-later OR GPL-3.0-or-later) AND LicenseRef-scancode-other-permissive + AND LicenseRef-scancode-public-domain + from_file: start_line: 10 end_line: 16 + matcher: 2-aho + score: '100.0' matched_length: 79 match_coverage: '100.0' - matcher: 2-aho - license_expression: (gpl-2.0-plus OR gpl-3.0-plus) AND other-permissive AND public-domain - rule_identifier: gpl-2.0-plus_or_gpl-3.0-plus_and_other-permissive_and_public-domain_1.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_or_gpl-3.0-plus_and_other-permissive_and_public-domain_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_or_gpl-3.0-plus_and_other-permissive_and_public-domain_1.RULE matched_text: | Nettle is dual licenced under the GNU General Public License version @@ -506,131 +549,153 @@ other_license_detections: licensed under more permissive terms, or in the public domain. To find the current status of particular files, you have to read the copyright notices at the top of the files. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 47 end_line: 47 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_15.RULE rule_relevance: 100 + rule_identifier: public-domain_15.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_15.RULE matched_text: Released into the public domain. - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 55 end_line: 55 + matcher: 2-aho + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_515.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_515.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_515.RULE matched_text: released under the LGPL, version 2 or later. - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 60 end_line: 60 + matcher: 2-aho + score: '100.0' matched_length: 7 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_1090.RULE rule_relevance: 100 + rule_identifier: mit_1090.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1090.RULE matched_text: It is released under the MIT license. - - score: '100.0' + - license_expression: pycrypto + spdx_license_expression: LicenseRef-scancode-pycrypto + from_file: start_line: 64 end_line: 65 + matcher: 2-aho + score: '100.0' matched_length: 7 match_coverage: '100.0' - matcher: 2-aho - license_expression: pycrypto - rule_identifier: pycrypto_1.RULE rule_relevance: 100 + rule_identifier: pycrypto_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pycrypto_1.RULE matched_text: | Python Cryptography Toolkit license (essentially public domain). - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 69 end_line: 69 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_15.RULE rule_relevance: 100 + rule_identifier: public-domain_15.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_15.RULE matched_text: Released into the public domain. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 74 end_line: 74 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_15.RULE rule_relevance: 100 + rule_identifier: public-domain_15.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_15.RULE matched_text: Released into the public domain. - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 81 end_line: 82 + matcher: 2-aho + score: '100.0' matched_length: 13 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_389.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_389.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_389.RULE matched_text: | based on the code in libgcrypt, copyright owned by the Free Software Foundation. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 87 end_line: 87 + matcher: 2-aho + score: '100.0' matched_length: 6 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_425.RULE rule_relevance: 100 + rule_identifier: public-domain_425.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_425.RULE matched_text: reference implementation (in the public domain), - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 92 end_line: 93 + matcher: 2-aho + score: '100.0' matched_length: 13 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_389.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_389.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_389.RULE matched_text: | based on the code in libgcrypt, copyright owned by the Free Software Foundation. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 105 end_line: 105 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_15.RULE rule_relevance: 100 + rule_identifier: public-domain_15.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_15.RULE matched_text: Released into the public domain. - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 106 end_line: 106 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_465.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_465.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_465.RULE matched_text: released under the LGPL. identifier: gpl_2_0_plus_or_gpl_3_0_plus__and_other_permissive_and_public_domain__and_public_domain_and_lgpl_2_0_plus_and_mit_and_pycrypto_and_lgpl_2_1_plus-14e5a124-078d-9ad2-fd6e-8e31e8ec569e diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libidn2-0/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libidn2-0/copyright-detailed.expected.yml index b0cfa8f09d..4c41ca3ac8 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libidn2-0/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libidn2-0/copyright-detailed.expected.yml @@ -20,27 +20,32 @@ other_license_expression_spdx: (GPL-3.0-or-later AND GPL-3.0-or-later) AND ((LGP license_detections: [] other_license_detections: - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 28 end_line: 28 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 29 end_line: 43 + matcher: 1-hash + score: '100.0' matched_length: 128 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_288.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_288.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_288.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -60,27 +65,32 @@ other_license_detections: License version 3 can be found in /usr/share/common-licenses/GPL-3. identifier: gpl_3_0_plus-72ba7e1f-5a94-0166-4814-d0e59799bcd4 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 45 end_line: 45 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 46 end_line: 60 + matcher: 1-hash + score: '100.0' matched_length: 128 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_740.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_740.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_740.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -100,27 +110,32 @@ other_license_detections: License version 2 can be found in /usr/share/common-licenses/GPL-2. identifier: gpl_2_0_plus-dde05ee1-8772-bb9a-d36b-c75646c05589 - license_expression: lgpl-3.0-plus + license_expression_spdx: LGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 62 end_line: 62 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_166.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE matched_text: 'License: lgpl-3+' - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 63 end_line: 77 + matcher: 1-hash + score: '100.0' matched_length: 131 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_242.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_242.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_242.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -140,27 +155,32 @@ other_license_detections: Public License version 3 can be found in /usr/share/common-licenses/LGPL-3. identifier: lgpl_3_0_plus-cb77b810-0c5c-bef8-0c96-b51c5109756f - license_expression: unicode + license_expression_spdx: LicenseRef-scancode-unicode matches: - - score: '100.0' + - license_expression: unicode + spdx_license_expression: LicenseRef-scancode-unicode + from_file: start_line: 80 end_line: 80 + matcher: 2-aho + score: '100.0' matched_length: 13 match_coverage: '100.0' - matcher: 2-aho - license_expression: unicode - rule_identifier: unicode_14.RULE rule_relevance: 100 + rule_identifier: unicode_14.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unicode_14.RULE matched_text: For terms of use, see http://www.unicode.org/terms_of_use.html - - score: '100.0' + - license_expression: unicode + spdx_license_expression: LicenseRef-scancode-unicode + from_file: start_line: 81 end_line: 113 + matcher: 2-aho + score: '100.0' matched_length: 309 match_coverage: '100.0' - matcher: 2-aho - license_expression: unicode - rule_identifier: unicode_17.RULE rule_relevance: 100 + rule_identifier: unicode_17.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unicode_17.RULE matched_text: | Distributed diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libk5crypto3/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libk5crypto3/copyright-detailed.expected.yml index c8a31e5b26..c08418c869 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libk5crypto3/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libk5crypto3/copyright-detailed.expected.yml @@ -24,16 +24,20 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: bsd-simplified AND generic-export-compliance AND cc-by-sa-3.0 + license_expression_spdx: BSD-2-Clause AND LicenseRef-scancode-generic-export-compliance + AND CC-BY-SA-3.0 matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 18 end_line: 39 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified.LICENSE rule_relevance: 100 + rule_identifier: bsd-simplified.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-simplified.LICENSE matched_text: | Redistribution and use in source and binary forms, with or without @@ -58,15 +62,17 @@ license_detections: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: generic-export-compliance + spdx_license_expression: LicenseRef-scancode-generic-export-compliance + from_file: start_line: 41 end_line: 52 + matcher: 2-aho + score: '100.0' matched_length: 104 match_coverage: '100.0' - matcher: 2-aho - license_expression: generic-export-compliance - rule_identifier: generic-export-compliance_3.RULE rule_relevance: 100 + rule_identifier: generic-export-compliance_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/generic-export-compliance_3.RULE matched_text: | Downloading of this software may constitute an export of cryptographic @@ -81,15 +87,17 @@ license_detections: certain countries and individuals, including, but not limited to, the countries of Cuba, Iran, North Korea, Sudan, Syria, and residents and nationals of those countries. - - score: '100.0' + - license_expression: cc-by-sa-3.0 + spdx_license_expression: CC-BY-SA-3.0 + from_file: start_line: 54 end_line: 56 + matcher: 2-aho + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 2-aho - license_expression: cc-by-sa-3.0 - rule_identifier: cc-by-sa-3.0_22.RULE rule_relevance: 100 + rule_identifier: cc-by-sa-3.0_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-3.0_22.RULE matched_text: | Documentation components of this software distribution are licensed @@ -97,16 +105,19 @@ license_detections: (http://creativecommons.org/licenses/by-sa/3.0/) identifier: bsd_simplified_and_generic_export_compliance_and_cc_by_sa_3_0-33db6ba2-24df-220e-9776-12e2f090117e - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 64 end_line: 70 + matcher: 2-aho + score: '100.0' matched_length: 57 match_coverage: '100.0' - matcher: 2-aho - license_expression: proprietary-license - rule_identifier: proprietary-license_136.RULE rule_relevance: 100 + rule_identifier: proprietary-license_136.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_136.RULE matched_text: | No commercial use of these trademarks may be made without @@ -118,16 +129,19 @@ license_detections: recognition of their trademark status should be given). identifier: proprietary_license-ae26591e-560d-5622-14d0-ff1ff9a49b22 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 82 end_line: 111 + matcher: 2-aho + score: '100.0' matched_length: 244 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_80.RULE rule_relevance: 100 + rule_identifier: other-permissive_80.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_80.RULE matched_text: | WARNING: Retrieving the OpenVision Kerberos Administration system @@ -162,16 +176,19 @@ license_detections: community. identifier: other_permissive-46e6e2b3-dadb-a39b-50ee-b8a8739b526d - license_expression: mit-no-advert-export-control + license_expression_spdx: LicenseRef-scancode-mit-no-advert-export-control matches: - - score: '98.73' + - license_expression: mit-no-advert-export-control + spdx_license_expression: LicenseRef-scancode-mit-no-advert-export-control + from_file: start_line: 128 end_line: 146 + matcher: 2-aho + score: '98.73' matched_length: 155 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-no-advert-export-control - rule_identifier: mit-no-advert-export-control_1.RULE rule_relevance: 100 + rule_identifier: mit-no-advert-export-control_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-no-advert-export-control_1.RULE matched_text: | Export of this software from the United States of America may @@ -195,16 +212,19 @@ license_detections: WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. identifier: mit_no_advert_export_control-1128ece3-2db6-bad0-d5d9-6c912fa4983c - license_expression: brian-gladman-3-clause + license_expression_spdx: LicenseRef-scancode-brian-gladman-3-clause matches: - - score: '100.0' + - license_expression: brian-gladman-3-clause + spdx_license_expression: LicenseRef-scancode-brian-gladman-3-clause + from_file: start_line: 156 end_line: 175 + matcher: 2-aho + score: '100.0' matched_length: 117 match_coverage: '100.0' - matcher: 2-aho - license_expression: brian-gladman-3-clause - rule_identifier: brian-gladman-3-clause_2.RULE rule_relevance: 100 + rule_identifier: brian-gladman-3-clause_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/brian-gladman-3-clause_2.RULE matched_text: | LICENSE TERMS @@ -229,16 +249,19 @@ license_detections: to, correctness and fitness for purpose. identifier: brian_gladman_3_clause-7a3ee4cc-fd00-4912-cc3a-c1abe777f891 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 187 end_line: 214 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_587.RULE rule_relevance: 100 + rule_identifier: bsd-new_587.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_587.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -271,16 +294,19 @@ license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-66fbca06-fdde-6367-5e72-bd742f214050 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 222 end_line: 240 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person @@ -304,16 +330,19 @@ license_detections: DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 248 end_line: 272 + matcher: 2-aho + score: '100.0' matched_length: 185 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_20.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_20.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_20.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -343,16 +372,19 @@ license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_simplified-fe5ce6eb-1b7c-6cd1-2e78-e9f71b0262f1 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 334 end_line: 352 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person @@ -376,16 +408,19 @@ license_detections: SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 363 end_line: 390 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -418,16 +453,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 400 end_line: 427 + matcher: 2-aho + score: '100.0' matched_length: 205 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_588.RULE rule_relevance: 100 + rule_identifier: bsd-new_588.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_588.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -460,16 +498,19 @@ license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-dc7f0df2-c1a1-daeb-6556-1f60f5c4484c - license_expression: michigan-disclaimer + license_expression_spdx: LicenseRef-scancode-michigan-disclaimer matches: - - score: '100.0' + - license_expression: michigan-disclaimer + spdx_license_expression: LicenseRef-scancode-michigan-disclaimer + from_file: start_line: 440 end_line: 459 + matcher: 2-aho + score: '100.0' matched_length: 186 match_coverage: '100.0' - matcher: 2-aho - license_expression: michigan-disclaimer - rule_identifier: michigan-disclaimer.LICENSE rule_relevance: 100 + rule_identifier: michigan-disclaimer.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/michigan-disclaimer.LICENSE matched_text: | Permission is granted to use, copy, create derivative works and @@ -494,16 +535,19 @@ license_detections: IS HEREAFTER ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. identifier: michigan_disclaimer-f90073dd-2b26-8fe5-d12a-32531681f44a - license_expression: fsf-unlimited-no-warranty + license_expression_spdx: FSFULLRWD matches: - - score: '100.0' + - license_expression: fsf-unlimited-no-warranty + spdx_license_expression: FSFULLRWD + from_file: start_line: 469 end_line: 476 + matcher: 2-aho + score: '100.0' matched_length: 64 match_coverage: '100.0' - matcher: 2-aho - license_expression: fsf-unlimited-no-warranty - rule_identifier: fsf-unlimited-no-warranty.RULE rule_relevance: 100 + rule_identifier: fsf-unlimited-no-warranty.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-unlimited-no-warranty.RULE matched_text: | This file is free software; as a special exception the author gives @@ -516,16 +560,19 @@ license_detections: PURPOSE. identifier: fsf_unlimited_no_warranty-005cbd82-97e0-5c6c-e111-cd46d95d2c5a - license_expression: mit-no-advert-export-control + license_expression_spdx: LicenseRef-scancode-mit-no-advert-export-control matches: - - score: '100.0' + - license_expression: mit-no-advert-export-control + spdx_license_expression: LicenseRef-scancode-mit-no-advert-export-control + from_file: start_line: 485 end_line: 503 + matcher: 2-aho + score: '100.0' matched_length: 159 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-no-advert-export-control - rule_identifier: mit-no-advert-export-control_2.RULE rule_relevance: 100 + rule_identifier: mit-no-advert-export-control_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-no-advert-export-control_2.RULE matched_text: | Export of this software from the United States of America may @@ -549,16 +596,19 @@ license_detections: WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. identifier: mit_no_advert_export_control-d6c84c49-6090-f5cb-35df-480e9ca265bf - license_expression: openldap-2.8 + license_expression_spdx: OLDAP-2.8 matches: - - score: '100.0' + - license_expression: openldap-2.8 + spdx_license_expression: OLDAP-2.8 + from_file: start_line: 511 end_line: 558 + matcher: 2-aho + score: '100.0' matched_length: 330 match_coverage: '100.0' - matcher: 2-aho - license_expression: openldap-2.8 - rule_identifier: openldap-2.8.LICENSE rule_relevance: 100 + rule_identifier: openldap-2.8.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/openldap-2.8.LICENSE matched_text: | The OpenLDAP Public License @@ -611,16 +661,19 @@ license_detections: distribute verbatim copies of this document is granted. identifier: openldap_2_8-58e150c7-83e9-bea6-0075-83fa7a4a9025 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 568 end_line: 595 + matcher: 2-aho + score: '100.0' matched_length: 212 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_933.RULE rule_relevance: 100 + rule_identifier: bsd-new_933.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_933.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -653,16 +706,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-3067d87e-03fa-386b-14c5-8c725b58e271 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 608 end_line: 636 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_151.RULE rule_relevance: 100 + rule_identifier: bsd-new_151.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_151.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -696,16 +752,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-405dd1d5-a75a-5b1c-3698-dad680358560 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 647 end_line: 675 + matcher: 2-aho + score: '100.0' matched_length: 217 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_589.RULE rule_relevance: 100 + rule_identifier: bsd-new_589.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_589.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -739,16 +798,19 @@ license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-bcd7c498-0b2c-5abe-4ee7-1e4d56c69bcc - license_expression: freebsd-doc + license_expression_spdx: FreeBSD-DOC matches: - - score: '100.0' + - license_expression: freebsd-doc + spdx_license_expression: FreeBSD-DOC + from_file: start_line: 682 end_line: 705 + matcher: 2-aho + score: '100.0' matched_length: 185 match_coverage: '100.0' - matcher: 2-aho - license_expression: freebsd-doc - rule_identifier: freebsd-doc_5.RULE rule_relevance: 100 + rule_identifier: freebsd-doc_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/freebsd-doc_5.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -777,16 +839,19 @@ license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: freebsd_doc-9db33af1-af77-1b9f-27f4-0ae766439a3a - license_expression: cmu-uc + license_expression_spdx: MIT-CMU matches: - - score: '99.0' + - license_expression: cmu-uc + spdx_license_expression: MIT-CMU + from_file: start_line: 713 end_line: 729 + matcher: 2-aho + score: '99.0' matched_length: 143 match_coverage: '100.0' - matcher: 2-aho - license_expression: cmu-uc - rule_identifier: cmu-uc_12.RULE rule_relevance: 99 + rule_identifier: cmu-uc_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cmu-uc_12.RULE matched_text: | Permission to use, copy, modify, and distribute this software and @@ -808,16 +873,19 @@ license_detections: SOFTWARE. identifier: cmu_uc-81218bbc-ee50-f7e2-791a-f18dcff965fd - license_expression: nrl-permission + license_expression_spdx: LicenseRef-scancode-nrl-permission matches: - - score: '95.0' + - license_expression: nrl-permission + spdx_license_expression: LicenseRef-scancode-nrl-permission + from_file: start_line: 735 end_line: 743 + matcher: 2-aho + score: '95.0' matched_length: 71 match_coverage: '100.0' - matcher: 2-aho - license_expression: nrl-permission - rule_identifier: nrl-permission_1.RULE rule_relevance: 95 + rule_identifier: nrl-permission_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/nrl-permission_1.RULE matched_text: | Permission to use, copy, modify and distribute this software and @@ -831,16 +899,19 @@ license_detections: RESULTING FROM THE USE OF THIS SOFTWARE. identifier: nrl_permission-69f7eb46-92e8-fb4c-6788-8285e4f7effa - license_expression: ietf-trust + license_expression_spdx: LicenseRef-scancode-ietf-trust matches: - - score: '100.0' + - license_expression: ietf-trust + spdx_license_expression: LicenseRef-scancode-ietf-trust + from_file: start_line: 752 end_line: 763 + matcher: 2-aho + score: '100.0' matched_length: 99 match_coverage: '100.0' - matcher: 2-aho - license_expression: ietf-trust - rule_identifier: ietf-trust_10.RULE rule_relevance: 100 + rule_identifier: ietf-trust_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/ietf-trust_10.RULE matched_text: | This document is subject to the rights, licenses and restrictions @@ -857,16 +928,19 @@ license_detections: PARTICULAR PURPOSE. identifier: ietf_trust-f268e8cf-010e-2ddb-9692-832496073cf3 - license_expression: mit-old-style + license_expression_spdx: LicenseRef-scancode-mit-old-style matches: - - score: '100.0' + - license_expression: mit-old-style + spdx_license_expression: LicenseRef-scancode-mit-old-style + from_file: start_line: 769 end_line: 776 + matcher: 2-aho + score: '100.0' matched_length: 69 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-old-style - rule_identifier: mit-old-style_11.RULE rule_relevance: 100 + rule_identifier: mit-old-style_11.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style_11.RULE matched_text: | Permission to use, copy, modify, and distribute this software and @@ -879,16 +953,19 @@ license_detections: warranty. identifier: mit_old_style-1e993fd4-e311-4d2f-c751-607871e23414 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 782 end_line: 800 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person @@ -912,16 +989,20 @@ license_detections: SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: bsd-simplified AND (mit-no-advert-export-control AND proprietary-license) + license_expression_spdx: BSD-2-Clause AND (LicenseRef-scancode-mit-no-advert-export-control + AND LicenseRef-scancode-proprietary-license) matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 810 end_line: 833 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -948,15 +1029,17 @@ license_detections: OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: mit-no-advert-export-control AND proprietary-license + spdx_license_expression: LicenseRef-scancode-mit-no-advert-export-control AND LicenseRef-scancode-proprietary-license + from_file: start_line: 837 end_line: 856 + matcher: 2-aho + score: '100.0' matched_length: 165 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-no-advert-export-control AND proprietary-license - rule_identifier: mit-no-advert-export-control_and_proprietary-license_1.RULE rule_relevance: 100 + rule_identifier: mit-no-advert-export-control_and_proprietary-license_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-no-advert-export-control_and_proprietary-license_1.RULE matched_text: | EXPORT OF THIS SOFTWARE from the United States of America may @@ -981,16 +1064,19 @@ license_detections: distributor of the ksu software. identifier: bsd_simplified_and__mit_no_advert_export_control_and_proprietary_license-345b28a9-f29e-4bc5-6160-59a84fd1aadf - license_expression: bsd-original-uc + license_expression_spdx: BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 866 end_line: 899 + matcher: 2-aho + score: '100.0' matched_length: 243 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_3.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1029,16 +1115,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_original_uc-f28cb4d4-6336-ee60-f186-4c1929d3a4b0 - license_expression: mit-no-advert-export-control + license_expression_spdx: LicenseRef-scancode-mit-no-advert-export-control matches: - - score: '99.0' + - license_expression: mit-no-advert-export-control + spdx_license_expression: LicenseRef-scancode-mit-no-advert-export-control + from_file: start_line: 907 end_line: 922 + matcher: 2-aho + score: '99.0' matched_length: 145 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-no-advert-export-control - rule_identifier: mit-no-advert-export-control_4.RULE rule_relevance: 99 + rule_identifier: mit-no-advert-export-control_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-no-advert-export-control_4.RULE matched_text: | Export of this software from the United States of America may @@ -1059,16 +1148,19 @@ license_detections: is" without express or implied warranty. identifier: mit_no_advert_export_control-8a3f7c38-f5cb-2016-0e86-70fb9f16ca5c - license_expression: bsd-original + license_expression_spdx: BSD-4-Clause matches: - - score: '100.0' + - license_expression: bsd-original + spdx_license_expression: BSD-4-Clause + from_file: start_line: 934 end_line: 968 + matcher: 2-aho + score: '100.0' matched_length: 245 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-original - rule_identifier: bsd-original_32.RULE rule_relevance: 100 + rule_identifier: bsd-original_32.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original_32.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1108,16 +1200,19 @@ license_detections: DAMAGE. identifier: bsd_original-07212ebb-4bc6-b4e9-de7c-a4d294184c21 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 978 end_line: 996 + matcher: 2-aho + score: '100.0' matched_length: 165 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_483.RULE rule_relevance: 100 + rule_identifier: mit_483.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_483.RULE matched_text: | Permission is hereby granted, free of charge, to any person @@ -1141,16 +1236,19 @@ license_detections: OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: mit-c00d5dad-390d-222f-7182-5d856cf7b8de - license_expression: isc + license_expression_spdx: ISC matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 1004 end_line: 1016 + matcher: 2-aho + score: '100.0' matched_length: 111 match_coverage: '100.0' - matcher: 2-aho - license_expression: isc - rule_identifier: isc_14.RULE rule_relevance: 100 + rule_identifier: isc_14.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_14.RULE matched_text: | Permission to use, copy, modify, and distribute this software for @@ -1168,16 +1266,19 @@ license_detections: CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. identifier: isc-ea6c318e-91a9-413d-027a-507b2cebec2c - license_expression: isc + license_expression_spdx: ISC matches: - - score: '95.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 1025 end_line: 1037 + matcher: 2-aho + score: '95.0' matched_length: 132 match_coverage: '100.0' - matcher: 2-aho - license_expression: isc - rule_identifier: isc_16.RULE rule_relevance: 95 + rule_identifier: isc_16.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_16.RULE matched_text: | Permission to use, copy, modify, and distribute this software for @@ -1195,32 +1296,38 @@ license_detections: this kind of disclaimer?) identifier: isc-e2afa98f-2f94-8ed0-73b4-11ad7eb78f27 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 1046 end_line: 1047 + matcher: 2-aho + score: '100.0' matched_length: 16 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_22.RULE rule_relevance: 100 + rule_identifier: other-permissive_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_22.RULE matched_text: | This file may be freely redistributed without license or fee provided this copyright message remains intact. identifier: other_permissive-159ebe90-9eb6-c7d5-9749-3fca97d30548 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1060 end_line: 1087 + matcher: 2-aho + score: '100.0' matched_length: 208 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_134.RULE rule_relevance: 100 + rule_identifier: bsd-new_134.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_134.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1253,16 +1360,19 @@ license_detections: DAMAGE. identifier: bsd_new-12f1ac86-ca22-4cc1-70be-ff0581226e16 - license_expression: rsa-md4 + license_expression_spdx: LicenseRef-scancode-rsa-md4 matches: - - score: '100.0' + - license_expression: rsa-md4 + spdx_license_expression: LicenseRef-scancode-rsa-md4 + from_file: start_line: 1096 end_line: 1112 + matcher: 2-aho + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 2-aho - license_expression: rsa-md4 - rule_identifier: rsa-md4.LICENSE rule_relevance: 100 + rule_identifier: rsa-md4.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/rsa-md4.LICENSE matched_text: | License to copy and use this software is granted provided that it @@ -1284,16 +1394,19 @@ license_detections: documentation and/or software. identifier: rsa_md4-a759e81a-f925-4fa7-feb4-1653e6ac100e - license_expression: rsa-md5 + license_expression_spdx: RSA-MD matches: - - score: '100.0' + - license_expression: rsa-md5 + spdx_license_expression: RSA-MD + from_file: start_line: 1121 end_line: 1137 + matcher: 2-aho + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 2-aho - license_expression: rsa-md5 - rule_identifier: rsa-md5.LICENSE rule_relevance: 100 + rule_identifier: rsa-md5.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/rsa-md5.LICENSE matched_text: | License to copy and use this software is granted provided that it @@ -1315,16 +1428,19 @@ license_detections: documentation and/or software. identifier: rsa_md5-15c129b1-dd57-a1d1-c398-85cc6d20017e - license_expression: rsa-1990 + license_expression_spdx: LicenseRef-scancode-rsa-1990 matches: - - score: '100.0' + - license_expression: rsa-1990 + spdx_license_expression: LicenseRef-scancode-rsa-1990 + from_file: start_line: 1147 end_line: 1153 + matcher: 2-aho + score: '100.0' matched_length: 54 match_coverage: '100.0' - matcher: 2-aho - license_expression: rsa-1990 - rule_identifier: rsa-1990.LICENSE rule_relevance: 100 + rule_identifier: rsa-1990.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/rsa-1990.LICENSE matched_text: | RSA Data Security, Inc. makes no representations concerning either @@ -1336,16 +1452,19 @@ license_detections: documentation and/or software. identifier: rsa_1990-2041758f-0e05-d693-1067-8e6b055aa3ee - license_expression: mit-with-modification-obligations + license_expression_spdx: HPND-export-US-modify matches: - - score: '100.0' + - license_expression: mit-with-modification-obligations + spdx_license_expression: HPND-export-US-modify + from_file: start_line: 1163 end_line: 1181 + matcher: 2-aho + score: '100.0' matched_length: 177 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-with-modification-obligations - rule_identifier: mit-with-modification-obligations_2.RULE rule_relevance: 100 + rule_identifier: mit-with-modification-obligations_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-with-modification-obligations_2.RULE matched_text: | Export of this software from the United States of America may @@ -1369,16 +1488,19 @@ license_detections: provided "as is" without express or implied warranty. identifier: mit_with_modification_obligations-42eb6af6-0f2c-428f-f892-f4bb7295452c - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1190 end_line: 1217 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_590.RULE rule_relevance: 100 + rule_identifier: bsd-new_590.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_590.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1411,16 +1533,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-92ffce46-c317-d9f5-e740-a98f7d6eb994 - license_expression: bsd-simplified OR gpl-2.0-plus + license_expression_spdx: BSD-2-Clause OR GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: bsd-simplified OR gpl-2.0-plus + spdx_license_expression: BSD-2-Clause OR GPL-2.0-or-later + from_file: start_line: 1226 end_line: 1264 + matcher: 2-aho + score: '100.0' matched_length: 335 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified OR gpl-2.0-plus - rule_identifier: bsd-simplified_or_gpl-2.0-plus_7.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_or_gpl-2.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_or_gpl-2.0-plus_7.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1464,16 +1589,19 @@ license_detections: version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: bsd_simplified_or_gpl_2_0_plus-061f1e82-e3fd-1972-4fbc-961626a0b57a - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1274 end_line: 1302 + matcher: 2-aho + score: '100.0' matched_length: 212 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-intel_4.RULE rule_relevance: 100 + rule_identifier: bsd-intel_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-intel_4.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1507,16 +1635,19 @@ license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-27fdae2b-970d-afa7-4ecb-ef39abbe9d1e - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1311 end_line: 1334 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified.LICENSE rule_relevance: 100 + rule_identifier: bsd-simplified.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-simplified.LICENSE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libkeyutils1/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libkeyutils1/copyright-detailed.expected.yml index fbc6071bc8..3031eef8ca 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libkeyutils1/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libkeyutils1/copyright-detailed.expected.yml @@ -13,27 +13,32 @@ other_license_expression_spdx: (GPL-2.0-or-later AND GPL-2.0-or-later) AND (LGPL license_detections: [] other_license_detections: - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 20 end_line: 20 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 21 end_line: 35 + matcher: 1-hash + score: '100.0' matched_length: 122 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_983.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_983.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_983.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -53,27 +58,32 @@ other_license_detections: can be found in /usr/share/common-licenses/GPL-2 file. identifier: gpl_2_0_plus-fe100017-b30d-a3e1-08b9-40cc9f056db5 - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 37 end_line: 37 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_61.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_61.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_61.RULE matched_text: 'License: lgpl-2+' - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 38 end_line: 52 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_477.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_477.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_477.RULE matched_text: | This program is free software: you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libkrb5-3/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libkrb5-3/copyright-detailed.expected.yml index c8a31e5b26..c08418c869 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libkrb5-3/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libkrb5-3/copyright-detailed.expected.yml @@ -24,16 +24,20 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: bsd-simplified AND generic-export-compliance AND cc-by-sa-3.0 + license_expression_spdx: BSD-2-Clause AND LicenseRef-scancode-generic-export-compliance + AND CC-BY-SA-3.0 matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 18 end_line: 39 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified.LICENSE rule_relevance: 100 + rule_identifier: bsd-simplified.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-simplified.LICENSE matched_text: | Redistribution and use in source and binary forms, with or without @@ -58,15 +62,17 @@ license_detections: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: generic-export-compliance + spdx_license_expression: LicenseRef-scancode-generic-export-compliance + from_file: start_line: 41 end_line: 52 + matcher: 2-aho + score: '100.0' matched_length: 104 match_coverage: '100.0' - matcher: 2-aho - license_expression: generic-export-compliance - rule_identifier: generic-export-compliance_3.RULE rule_relevance: 100 + rule_identifier: generic-export-compliance_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/generic-export-compliance_3.RULE matched_text: | Downloading of this software may constitute an export of cryptographic @@ -81,15 +87,17 @@ license_detections: certain countries and individuals, including, but not limited to, the countries of Cuba, Iran, North Korea, Sudan, Syria, and residents and nationals of those countries. - - score: '100.0' + - license_expression: cc-by-sa-3.0 + spdx_license_expression: CC-BY-SA-3.0 + from_file: start_line: 54 end_line: 56 + matcher: 2-aho + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 2-aho - license_expression: cc-by-sa-3.0 - rule_identifier: cc-by-sa-3.0_22.RULE rule_relevance: 100 + rule_identifier: cc-by-sa-3.0_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-3.0_22.RULE matched_text: | Documentation components of this software distribution are licensed @@ -97,16 +105,19 @@ license_detections: (http://creativecommons.org/licenses/by-sa/3.0/) identifier: bsd_simplified_and_generic_export_compliance_and_cc_by_sa_3_0-33db6ba2-24df-220e-9776-12e2f090117e - license_expression: proprietary-license + license_expression_spdx: LicenseRef-scancode-proprietary-license matches: - - score: '100.0' + - license_expression: proprietary-license + spdx_license_expression: LicenseRef-scancode-proprietary-license + from_file: start_line: 64 end_line: 70 + matcher: 2-aho + score: '100.0' matched_length: 57 match_coverage: '100.0' - matcher: 2-aho - license_expression: proprietary-license - rule_identifier: proprietary-license_136.RULE rule_relevance: 100 + rule_identifier: proprietary-license_136.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_136.RULE matched_text: | No commercial use of these trademarks may be made without @@ -118,16 +129,19 @@ license_detections: recognition of their trademark status should be given). identifier: proprietary_license-ae26591e-560d-5622-14d0-ff1ff9a49b22 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 82 end_line: 111 + matcher: 2-aho + score: '100.0' matched_length: 244 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_80.RULE rule_relevance: 100 + rule_identifier: other-permissive_80.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_80.RULE matched_text: | WARNING: Retrieving the OpenVision Kerberos Administration system @@ -162,16 +176,19 @@ license_detections: community. identifier: other_permissive-46e6e2b3-dadb-a39b-50ee-b8a8739b526d - license_expression: mit-no-advert-export-control + license_expression_spdx: LicenseRef-scancode-mit-no-advert-export-control matches: - - score: '98.73' + - license_expression: mit-no-advert-export-control + spdx_license_expression: LicenseRef-scancode-mit-no-advert-export-control + from_file: start_line: 128 end_line: 146 + matcher: 2-aho + score: '98.73' matched_length: 155 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-no-advert-export-control - rule_identifier: mit-no-advert-export-control_1.RULE rule_relevance: 100 + rule_identifier: mit-no-advert-export-control_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-no-advert-export-control_1.RULE matched_text: | Export of this software from the United States of America may @@ -195,16 +212,19 @@ license_detections: WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. identifier: mit_no_advert_export_control-1128ece3-2db6-bad0-d5d9-6c912fa4983c - license_expression: brian-gladman-3-clause + license_expression_spdx: LicenseRef-scancode-brian-gladman-3-clause matches: - - score: '100.0' + - license_expression: brian-gladman-3-clause + spdx_license_expression: LicenseRef-scancode-brian-gladman-3-clause + from_file: start_line: 156 end_line: 175 + matcher: 2-aho + score: '100.0' matched_length: 117 match_coverage: '100.0' - matcher: 2-aho - license_expression: brian-gladman-3-clause - rule_identifier: brian-gladman-3-clause_2.RULE rule_relevance: 100 + rule_identifier: brian-gladman-3-clause_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/brian-gladman-3-clause_2.RULE matched_text: | LICENSE TERMS @@ -229,16 +249,19 @@ license_detections: to, correctness and fitness for purpose. identifier: brian_gladman_3_clause-7a3ee4cc-fd00-4912-cc3a-c1abe777f891 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 187 end_line: 214 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_587.RULE rule_relevance: 100 + rule_identifier: bsd-new_587.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_587.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -271,16 +294,19 @@ license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-66fbca06-fdde-6367-5e72-bd742f214050 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 222 end_line: 240 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person @@ -304,16 +330,19 @@ license_detections: DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 248 end_line: 272 + matcher: 2-aho + score: '100.0' matched_length: 185 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_20.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_20.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_20.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -343,16 +372,19 @@ license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_simplified-fe5ce6eb-1b7c-6cd1-2e78-e9f71b0262f1 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 334 end_line: 352 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person @@ -376,16 +408,19 @@ license_detections: SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 363 end_line: 390 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -418,16 +453,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 400 end_line: 427 + matcher: 2-aho + score: '100.0' matched_length: 205 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_588.RULE rule_relevance: 100 + rule_identifier: bsd-new_588.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_588.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -460,16 +498,19 @@ license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-dc7f0df2-c1a1-daeb-6556-1f60f5c4484c - license_expression: michigan-disclaimer + license_expression_spdx: LicenseRef-scancode-michigan-disclaimer matches: - - score: '100.0' + - license_expression: michigan-disclaimer + spdx_license_expression: LicenseRef-scancode-michigan-disclaimer + from_file: start_line: 440 end_line: 459 + matcher: 2-aho + score: '100.0' matched_length: 186 match_coverage: '100.0' - matcher: 2-aho - license_expression: michigan-disclaimer - rule_identifier: michigan-disclaimer.LICENSE rule_relevance: 100 + rule_identifier: michigan-disclaimer.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/michigan-disclaimer.LICENSE matched_text: | Permission is granted to use, copy, create derivative works and @@ -494,16 +535,19 @@ license_detections: IS HEREAFTER ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. identifier: michigan_disclaimer-f90073dd-2b26-8fe5-d12a-32531681f44a - license_expression: fsf-unlimited-no-warranty + license_expression_spdx: FSFULLRWD matches: - - score: '100.0' + - license_expression: fsf-unlimited-no-warranty + spdx_license_expression: FSFULLRWD + from_file: start_line: 469 end_line: 476 + matcher: 2-aho + score: '100.0' matched_length: 64 match_coverage: '100.0' - matcher: 2-aho - license_expression: fsf-unlimited-no-warranty - rule_identifier: fsf-unlimited-no-warranty.RULE rule_relevance: 100 + rule_identifier: fsf-unlimited-no-warranty.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-unlimited-no-warranty.RULE matched_text: | This file is free software; as a special exception the author gives @@ -516,16 +560,19 @@ license_detections: PURPOSE. identifier: fsf_unlimited_no_warranty-005cbd82-97e0-5c6c-e111-cd46d95d2c5a - license_expression: mit-no-advert-export-control + license_expression_spdx: LicenseRef-scancode-mit-no-advert-export-control matches: - - score: '100.0' + - license_expression: mit-no-advert-export-control + spdx_license_expression: LicenseRef-scancode-mit-no-advert-export-control + from_file: start_line: 485 end_line: 503 + matcher: 2-aho + score: '100.0' matched_length: 159 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-no-advert-export-control - rule_identifier: mit-no-advert-export-control_2.RULE rule_relevance: 100 + rule_identifier: mit-no-advert-export-control_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-no-advert-export-control_2.RULE matched_text: | Export of this software from the United States of America may @@ -549,16 +596,19 @@ license_detections: WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. identifier: mit_no_advert_export_control-d6c84c49-6090-f5cb-35df-480e9ca265bf - license_expression: openldap-2.8 + license_expression_spdx: OLDAP-2.8 matches: - - score: '100.0' + - license_expression: openldap-2.8 + spdx_license_expression: OLDAP-2.8 + from_file: start_line: 511 end_line: 558 + matcher: 2-aho + score: '100.0' matched_length: 330 match_coverage: '100.0' - matcher: 2-aho - license_expression: openldap-2.8 - rule_identifier: openldap-2.8.LICENSE rule_relevance: 100 + rule_identifier: openldap-2.8.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/openldap-2.8.LICENSE matched_text: | The OpenLDAP Public License @@ -611,16 +661,19 @@ license_detections: distribute verbatim copies of this document is granted. identifier: openldap_2_8-58e150c7-83e9-bea6-0075-83fa7a4a9025 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 568 end_line: 595 + matcher: 2-aho + score: '100.0' matched_length: 212 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_933.RULE rule_relevance: 100 + rule_identifier: bsd-new_933.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_933.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -653,16 +706,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-3067d87e-03fa-386b-14c5-8c725b58e271 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 608 end_line: 636 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_151.RULE rule_relevance: 100 + rule_identifier: bsd-new_151.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_151.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -696,16 +752,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-405dd1d5-a75a-5b1c-3698-dad680358560 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 647 end_line: 675 + matcher: 2-aho + score: '100.0' matched_length: 217 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_589.RULE rule_relevance: 100 + rule_identifier: bsd-new_589.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_589.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -739,16 +798,19 @@ license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-bcd7c498-0b2c-5abe-4ee7-1e4d56c69bcc - license_expression: freebsd-doc + license_expression_spdx: FreeBSD-DOC matches: - - score: '100.0' + - license_expression: freebsd-doc + spdx_license_expression: FreeBSD-DOC + from_file: start_line: 682 end_line: 705 + matcher: 2-aho + score: '100.0' matched_length: 185 match_coverage: '100.0' - matcher: 2-aho - license_expression: freebsd-doc - rule_identifier: freebsd-doc_5.RULE rule_relevance: 100 + rule_identifier: freebsd-doc_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/freebsd-doc_5.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -777,16 +839,19 @@ license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: freebsd_doc-9db33af1-af77-1b9f-27f4-0ae766439a3a - license_expression: cmu-uc + license_expression_spdx: MIT-CMU matches: - - score: '99.0' + - license_expression: cmu-uc + spdx_license_expression: MIT-CMU + from_file: start_line: 713 end_line: 729 + matcher: 2-aho + score: '99.0' matched_length: 143 match_coverage: '100.0' - matcher: 2-aho - license_expression: cmu-uc - rule_identifier: cmu-uc_12.RULE rule_relevance: 99 + rule_identifier: cmu-uc_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cmu-uc_12.RULE matched_text: | Permission to use, copy, modify, and distribute this software and @@ -808,16 +873,19 @@ license_detections: SOFTWARE. identifier: cmu_uc-81218bbc-ee50-f7e2-791a-f18dcff965fd - license_expression: nrl-permission + license_expression_spdx: LicenseRef-scancode-nrl-permission matches: - - score: '95.0' + - license_expression: nrl-permission + spdx_license_expression: LicenseRef-scancode-nrl-permission + from_file: start_line: 735 end_line: 743 + matcher: 2-aho + score: '95.0' matched_length: 71 match_coverage: '100.0' - matcher: 2-aho - license_expression: nrl-permission - rule_identifier: nrl-permission_1.RULE rule_relevance: 95 + rule_identifier: nrl-permission_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/nrl-permission_1.RULE matched_text: | Permission to use, copy, modify and distribute this software and @@ -831,16 +899,19 @@ license_detections: RESULTING FROM THE USE OF THIS SOFTWARE. identifier: nrl_permission-69f7eb46-92e8-fb4c-6788-8285e4f7effa - license_expression: ietf-trust + license_expression_spdx: LicenseRef-scancode-ietf-trust matches: - - score: '100.0' + - license_expression: ietf-trust + spdx_license_expression: LicenseRef-scancode-ietf-trust + from_file: start_line: 752 end_line: 763 + matcher: 2-aho + score: '100.0' matched_length: 99 match_coverage: '100.0' - matcher: 2-aho - license_expression: ietf-trust - rule_identifier: ietf-trust_10.RULE rule_relevance: 100 + rule_identifier: ietf-trust_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/ietf-trust_10.RULE matched_text: | This document is subject to the rights, licenses and restrictions @@ -857,16 +928,19 @@ license_detections: PARTICULAR PURPOSE. identifier: ietf_trust-f268e8cf-010e-2ddb-9692-832496073cf3 - license_expression: mit-old-style + license_expression_spdx: LicenseRef-scancode-mit-old-style matches: - - score: '100.0' + - license_expression: mit-old-style + spdx_license_expression: LicenseRef-scancode-mit-old-style + from_file: start_line: 769 end_line: 776 + matcher: 2-aho + score: '100.0' matched_length: 69 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-old-style - rule_identifier: mit-old-style_11.RULE rule_relevance: 100 + rule_identifier: mit-old-style_11.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style_11.RULE matched_text: | Permission to use, copy, modify, and distribute this software and @@ -879,16 +953,19 @@ license_detections: warranty. identifier: mit_old_style-1e993fd4-e311-4d2f-c751-607871e23414 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 782 end_line: 800 + matcher: 2-aho + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person @@ -912,16 +989,20 @@ license_detections: SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: bsd-simplified AND (mit-no-advert-export-control AND proprietary-license) + license_expression_spdx: BSD-2-Clause AND (LicenseRef-scancode-mit-no-advert-export-control + AND LicenseRef-scancode-proprietary-license) matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 810 end_line: 833 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -948,15 +1029,17 @@ license_detections: OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: mit-no-advert-export-control AND proprietary-license + spdx_license_expression: LicenseRef-scancode-mit-no-advert-export-control AND LicenseRef-scancode-proprietary-license + from_file: start_line: 837 end_line: 856 + matcher: 2-aho + score: '100.0' matched_length: 165 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-no-advert-export-control AND proprietary-license - rule_identifier: mit-no-advert-export-control_and_proprietary-license_1.RULE rule_relevance: 100 + rule_identifier: mit-no-advert-export-control_and_proprietary-license_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-no-advert-export-control_and_proprietary-license_1.RULE matched_text: | EXPORT OF THIS SOFTWARE from the United States of America may @@ -981,16 +1064,19 @@ license_detections: distributor of the ksu software. identifier: bsd_simplified_and__mit_no_advert_export_control_and_proprietary_license-345b28a9-f29e-4bc5-6160-59a84fd1aadf - license_expression: bsd-original-uc + license_expression_spdx: BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 866 end_line: 899 + matcher: 2-aho + score: '100.0' matched_length: 243 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_3.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1029,16 +1115,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_original_uc-f28cb4d4-6336-ee60-f186-4c1929d3a4b0 - license_expression: mit-no-advert-export-control + license_expression_spdx: LicenseRef-scancode-mit-no-advert-export-control matches: - - score: '99.0' + - license_expression: mit-no-advert-export-control + spdx_license_expression: LicenseRef-scancode-mit-no-advert-export-control + from_file: start_line: 907 end_line: 922 + matcher: 2-aho + score: '99.0' matched_length: 145 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-no-advert-export-control - rule_identifier: mit-no-advert-export-control_4.RULE rule_relevance: 99 + rule_identifier: mit-no-advert-export-control_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-no-advert-export-control_4.RULE matched_text: | Export of this software from the United States of America may @@ -1059,16 +1148,19 @@ license_detections: is" without express or implied warranty. identifier: mit_no_advert_export_control-8a3f7c38-f5cb-2016-0e86-70fb9f16ca5c - license_expression: bsd-original + license_expression_spdx: BSD-4-Clause matches: - - score: '100.0' + - license_expression: bsd-original + spdx_license_expression: BSD-4-Clause + from_file: start_line: 934 end_line: 968 + matcher: 2-aho + score: '100.0' matched_length: 245 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-original - rule_identifier: bsd-original_32.RULE rule_relevance: 100 + rule_identifier: bsd-original_32.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original_32.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1108,16 +1200,19 @@ license_detections: DAMAGE. identifier: bsd_original-07212ebb-4bc6-b4e9-de7c-a4d294184c21 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 978 end_line: 996 + matcher: 2-aho + score: '100.0' matched_length: 165 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_483.RULE rule_relevance: 100 + rule_identifier: mit_483.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_483.RULE matched_text: | Permission is hereby granted, free of charge, to any person @@ -1141,16 +1236,19 @@ license_detections: OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. identifier: mit-c00d5dad-390d-222f-7182-5d856cf7b8de - license_expression: isc + license_expression_spdx: ISC matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 1004 end_line: 1016 + matcher: 2-aho + score: '100.0' matched_length: 111 match_coverage: '100.0' - matcher: 2-aho - license_expression: isc - rule_identifier: isc_14.RULE rule_relevance: 100 + rule_identifier: isc_14.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_14.RULE matched_text: | Permission to use, copy, modify, and distribute this software for @@ -1168,16 +1266,19 @@ license_detections: CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. identifier: isc-ea6c318e-91a9-413d-027a-507b2cebec2c - license_expression: isc + license_expression_spdx: ISC matches: - - score: '95.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 1025 end_line: 1037 + matcher: 2-aho + score: '95.0' matched_length: 132 match_coverage: '100.0' - matcher: 2-aho - license_expression: isc - rule_identifier: isc_16.RULE rule_relevance: 95 + rule_identifier: isc_16.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_16.RULE matched_text: | Permission to use, copy, modify, and distribute this software for @@ -1195,32 +1296,38 @@ license_detections: this kind of disclaimer?) identifier: isc-e2afa98f-2f94-8ed0-73b4-11ad7eb78f27 - license_expression: other-permissive + license_expression_spdx: LicenseRef-scancode-other-permissive matches: - - score: '100.0' + - license_expression: other-permissive + spdx_license_expression: LicenseRef-scancode-other-permissive + from_file: start_line: 1046 end_line: 1047 + matcher: 2-aho + score: '100.0' matched_length: 16 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive - rule_identifier: other-permissive_22.RULE rule_relevance: 100 + rule_identifier: other-permissive_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_22.RULE matched_text: | This file may be freely redistributed without license or fee provided this copyright message remains intact. identifier: other_permissive-159ebe90-9eb6-c7d5-9749-3fca97d30548 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1060 end_line: 1087 + matcher: 2-aho + score: '100.0' matched_length: 208 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_134.RULE rule_relevance: 100 + rule_identifier: bsd-new_134.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_134.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1253,16 +1360,19 @@ license_detections: DAMAGE. identifier: bsd_new-12f1ac86-ca22-4cc1-70be-ff0581226e16 - license_expression: rsa-md4 + license_expression_spdx: LicenseRef-scancode-rsa-md4 matches: - - score: '100.0' + - license_expression: rsa-md4 + spdx_license_expression: LicenseRef-scancode-rsa-md4 + from_file: start_line: 1096 end_line: 1112 + matcher: 2-aho + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 2-aho - license_expression: rsa-md4 - rule_identifier: rsa-md4.LICENSE rule_relevance: 100 + rule_identifier: rsa-md4.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/rsa-md4.LICENSE matched_text: | License to copy and use this software is granted provided that it @@ -1284,16 +1394,19 @@ license_detections: documentation and/or software. identifier: rsa_md4-a759e81a-f925-4fa7-feb4-1653e6ac100e - license_expression: rsa-md5 + license_expression_spdx: RSA-MD matches: - - score: '100.0' + - license_expression: rsa-md5 + spdx_license_expression: RSA-MD + from_file: start_line: 1121 end_line: 1137 + matcher: 2-aho + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 2-aho - license_expression: rsa-md5 - rule_identifier: rsa-md5.LICENSE rule_relevance: 100 + rule_identifier: rsa-md5.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/rsa-md5.LICENSE matched_text: | License to copy and use this software is granted provided that it @@ -1315,16 +1428,19 @@ license_detections: documentation and/or software. identifier: rsa_md5-15c129b1-dd57-a1d1-c398-85cc6d20017e - license_expression: rsa-1990 + license_expression_spdx: LicenseRef-scancode-rsa-1990 matches: - - score: '100.0' + - license_expression: rsa-1990 + spdx_license_expression: LicenseRef-scancode-rsa-1990 + from_file: start_line: 1147 end_line: 1153 + matcher: 2-aho + score: '100.0' matched_length: 54 match_coverage: '100.0' - matcher: 2-aho - license_expression: rsa-1990 - rule_identifier: rsa-1990.LICENSE rule_relevance: 100 + rule_identifier: rsa-1990.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/rsa-1990.LICENSE matched_text: | RSA Data Security, Inc. makes no representations concerning either @@ -1336,16 +1452,19 @@ license_detections: documentation and/or software. identifier: rsa_1990-2041758f-0e05-d693-1067-8e6b055aa3ee - license_expression: mit-with-modification-obligations + license_expression_spdx: HPND-export-US-modify matches: - - score: '100.0' + - license_expression: mit-with-modification-obligations + spdx_license_expression: HPND-export-US-modify + from_file: start_line: 1163 end_line: 1181 + matcher: 2-aho + score: '100.0' matched_length: 177 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-with-modification-obligations - rule_identifier: mit-with-modification-obligations_2.RULE rule_relevance: 100 + rule_identifier: mit-with-modification-obligations_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-with-modification-obligations_2.RULE matched_text: | Export of this software from the United States of America may @@ -1369,16 +1488,19 @@ license_detections: provided "as is" without express or implied warranty. identifier: mit_with_modification_obligations-42eb6af6-0f2c-428f-f892-f4bb7295452c - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1190 end_line: 1217 + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_590.RULE rule_relevance: 100 + rule_identifier: bsd-new_590.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_590.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1411,16 +1533,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-92ffce46-c317-d9f5-e740-a98f7d6eb994 - license_expression: bsd-simplified OR gpl-2.0-plus + license_expression_spdx: BSD-2-Clause OR GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: bsd-simplified OR gpl-2.0-plus + spdx_license_expression: BSD-2-Clause OR GPL-2.0-or-later + from_file: start_line: 1226 end_line: 1264 + matcher: 2-aho + score: '100.0' matched_length: 335 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified OR gpl-2.0-plus - rule_identifier: bsd-simplified_or_gpl-2.0-plus_7.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_or_gpl-2.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_or_gpl-2.0-plus_7.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1464,16 +1589,19 @@ license_detections: version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: bsd_simplified_or_gpl_2_0_plus-061f1e82-e3fd-1972-4fbc-961626a0b57a - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1274 end_line: 1302 + matcher: 2-aho + score: '100.0' matched_length: 212 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-intel_4.RULE rule_relevance: 100 + rule_identifier: bsd-intel_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-intel_4.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1507,16 +1635,19 @@ license_detections: OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-27fdae2b-970d-afa7-4ecb-ef39abbe9d1e - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 1311 end_line: 1334 + matcher: 2-aho + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified - rule_identifier: bsd-simplified.LICENSE rule_relevance: 100 + rule_identifier: bsd-simplified.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-simplified.LICENSE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/liblz4-1/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/liblz4-1/copyright-detailed.expected.yml index 4a9592b99e..77fff7073b 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/liblz4-1/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/liblz4-1/copyright-detailed.expected.yml @@ -29,27 +29,32 @@ other_license_expression_spdx: BSD-2-Clause AND BSD-2-Clause AND BSD-2-Clause AN license_detections: [] other_license_detections: - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 64 end_line: 64 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 65 end_line: 70 + matcher: 1-hash + score: '100.0' matched_length: 59 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1296.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1296.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1296.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -60,27 +65,32 @@ other_license_detections: Public License can be found in '/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-8f03a209-723a-5338-eac8-e37c880f528d - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 72 end_line: 72 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 73 end_line: 79 + matcher: 1-hash + score: '100.0' matched_length: 66 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_985.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_985.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_985.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -92,16 +102,19 @@ other_license_detections: Public License can be found in '/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus-e081e12a-5320-6d45-b399-2b85f6a41f9a - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 82 end_line: 101 + matcher: 1-hash + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified - rule_identifier: bsd-simplified.LICENSE rule_relevance: 100 + rule_identifier: bsd-simplified.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-simplified.LICENSE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/liblzma5/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/liblzma5/copyright-detailed.expected.yml index f13e97f8a6..9cbdd94a93 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/liblzma5/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/liblzma5/copyright-detailed.expected.yml @@ -62,138 +62,165 @@ other_license_detections: - license_expression: public-domain AND lgpl-2.1-plus AND gpl-2.0-plus AND (public-domain AND gpl-2.0-plus AND gpl-3.0-plus) AND (other-permissive AND other-copyleft) AND public-domain-disclaimer AND (lgpl-2.1 AND gpl-2.0 AND gpl-3.0) + license_expression_spdx: LicenseRef-scancode-public-domain AND LGPL-2.1-or-later AND GPL-2.0-or-later + AND (LicenseRef-scancode-public-domain AND GPL-2.0-or-later AND GPL-3.0-or-later) AND + (LicenseRef-scancode-other-permissive AND LicenseRef-scancode-other-copyleft) AND LicenseRef-scancode-public-domain-disclaimer + AND (LGPL-2.1-only AND GPL-2.0-only AND GPL-3.0-only) matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 23 end_line: 23 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_285.RULE rule_relevance: 100 + rule_identifier: public-domain_285.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_285.RULE matched_text: is in the public domain. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 25 end_line: 26 + matcher: 2-aho + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_431.RULE rule_relevance: 100 + rule_identifier: public-domain_431.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_431.RULE matched_text: | command line tools are in the public domain - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 27 end_line: 28 + matcher: 2-aho + score: '100.0' matched_length: 9 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_393.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_393.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_393.RULE matched_text: | The getopt_long code is under GNU LGPLv2.1+. - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 31 end_line: 32 + matcher: 2-aho + score: '100.0' matched_length: 9 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_991.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_991.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_991.RULE matched_text: | These scripts and their documentation are under GNU GPLv2+. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 35 end_line: 36 + matcher: 2-aho + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_428.RULE rule_relevance: 100 + rule_identifier: public-domain_428.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_428.RULE matched_text: | documentation files in other directories are in the public domain. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 38 end_line: 38 + matcher: 2-aho + score: '100.0' matched_length: 7 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_429.RULE rule_relevance: 100 + rule_identifier: public-domain_429.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_429.RULE matched_text: Translated messages are in the public domain. - - score: '100.0' + - license_expression: public-domain AND gpl-2.0-plus AND gpl-3.0-plus + spdx_license_expression: LicenseRef-scancode-public-domain AND GPL-2.0-or-later AND + GPL-3.0-or-later + from_file: start_line: 40 end_line: 41 + matcher: 2-aho + score: '100.0' matched_length: 17 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain AND gpl-2.0-plus AND gpl-3.0-plus - rule_identifier: public-domain_and_gpl-2.0-plus_and_gpl-3.0-plus_1.RULE rule_relevance: 100 + rule_identifier: public-domain_and_gpl-2.0-plus_and_gpl-3.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_and_gpl-2.0-plus_and_gpl-3.0-plus_1.RULE matched_text: | The build system contains public domain files, and files that are under GNU GPLv2+ or GNU GPLv3+. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 45 end_line: 45 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_305.RULE rule_relevance: 100 + rule_identifier: public-domain_305.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_305.RULE matched_text: are in the public domain. - - score: '70.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 47 end_line: 47 + matcher: 2-aho + score: '70.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_bare_words.RULE rule_relevance: 70 + rule_identifier: public-domain_bare_words.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE matched_text: public domain - - score: '100.0' + - license_expression: other-permissive AND other-copyleft + spdx_license_expression: LicenseRef-scancode-other-permissive AND LicenseRef-scancode-other-copyleft + from_file: start_line: 47 end_line: 48 + matcher: 2-aho + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 2-aho - license_expression: other-permissive AND other-copyleft - rule_identifier: other-permissive_and_other-copyleft_4.RULE rule_relevance: 100 + rule_identifier: other-permissive_and_other-copyleft_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_and_other-copyleft_4.RULE matched_text: | files that are under various free software licenses. - - score: '100.0' + - license_expression: public-domain-disclaimer + spdx_license_expression: LicenseRef-scancode-public-domain-disclaimer + from_file: start_line: 50 end_line: 64 + matcher: 2-aho + score: '100.0' matched_length: 121 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain-disclaimer - rule_identifier: public-domain-disclaimer_72.RULE rule_relevance: 100 + rule_identifier: public-domain-disclaimer_72.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain-disclaimer_72.RULE matched_text: | You can do whatever you want with the files that have been put into @@ -211,214 +238,255 @@ other_license_detections: notice to put into "about box" or into documentation: This software includes code from XZ Utils . - - score: '100.0' + - license_expression: lgpl-2.1 AND gpl-2.0 AND gpl-3.0 + spdx_license_expression: LGPL-2.1-only AND GPL-2.0-only AND GPL-3.0-only + from_file: start_line: 66 end_line: 69 + matcher: 2-aho + score: '100.0' matched_length: 37 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1 AND gpl-2.0 AND gpl-3.0 - rule_identifier: lgpl-2.1_and_gpl-2.0_and_gpl-3.0_3.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_and_gpl-2.0_and_gpl-3.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_and_gpl-2.0_and_gpl-3.0_3.RULE matched_text: | The following license texts are included in the following files: - COPYING.LGPLv2.1: GNU Lesser General Public License version 2.1 - COPYING.GPLv2: GNU General Public License version 2 - COPYING.GPLv3: GNU General Public License version 3 - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 73 end_line: 73 + matcher: 2-aho + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_427.RULE rule_relevance: 100 + rule_identifier: public-domain_427.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_427.RULE matched_text: binary wouldn't actually be in the public domain in its entirety - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 12 end_line: 12 + matcher: 2-aho + score: '100.0' matched_length: 11 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_430.RULE rule_relevance: 100 + rule_identifier: public-domain_430.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_430.RULE matched_text: Most of the source has been put into the public domain, identifier: public_domain_and_lgpl_2_1_plus_and_gpl_2_0_plus_and__public_domain_and_gpl_2_0_plus_and_gpl_3_0_plus__and__other_permissive_and_other_copyleft__and_public_domain_disclaimer_and__lgpl_2_1_and_gpl_2_0_and_gpl_3_0-4691a091-f632-d529-3371-6ce2e75116fe - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 90 end_line: 91 + matcher: 1-hash + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_353.RULE rule_relevance: 100 + rule_identifier: public-domain_353.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_353.RULE matched_text: | This file has been put in the public domain. You can do whatever you want with this file. identifier: public_domain-4bce4f5f-c6ad-3c6f-1b23-ccc9a7d286e8 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '55.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 120 end_line: 120 + matcher: 1-hash + score: '55.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_356.RULE rule_relevance: 55 + rule_identifier: public-domain_356.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_356.RULE matched_text: See the note on AUTHORS, README, and so on above. identifier: public_domain-2edfee4d-b020-5521-fa21-9f147003edee - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 136 end_line: 137 + matcher: 1-hash + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_353.RULE rule_relevance: 100 + rule_identifier: public-domain_353.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_353.RULE matched_text: | This file has been put in the public domain. You can do whatever you want with this file. identifier: public_domain-4bce4f5f-c6ad-3c6f-1b23-ccc9a7d286e8 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 142 end_line: 142 + matcher: 1-hash + score: '100.0' matched_length: 7 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_219.RULE rule_relevance: 100 + rule_identifier: public-domain_219.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_219.RULE matched_text: Not copyrighted -- provided to the public domain. identifier: public_domain-343d857e-4460-3363-2dc0-930ea3e9e84b - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 180 end_line: 180 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_355.RULE rule_relevance: 100 + rule_identifier: public-domain_355.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_355.RULE matched_text: No copyright to license. identifier: public_domain-7b6ed7b8-456a-38b3-d0e8-9234afee9fbe - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 185 end_line: 185 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_355.RULE rule_relevance: 100 + rule_identifier: public-domain_355.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_355.RULE matched_text: No copyright to license. identifier: public_domain-7b6ed7b8-456a-38b3-d0e8-9234afee9fbe - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: '191' end_line: '192' + matcher: 1-hash + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_47.RULE rule_relevance: 100 + rule_identifier: public-domain_47.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_47.RULE matched_text: | This file has been put into the public domain. You can do whatever you want with this file. identifier: public_domain-bd7fd269-2ea9-ba97-d2eb-5560087fd9b5 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 209 end_line: 209 + matcher: 1-hash + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_66.RULE rule_relevance: 100 + rule_identifier: public-domain_66.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_66.RULE matched_text: This file is put in the public domain. identifier: public_domain-988843f6-19e0-bdd4-e2c1-d0a899c8f5f7 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 217 end_line: 217 + matcher: 1-hash + score: '100.0' matched_length: 7 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_50.RULE rule_relevance: 100 + rule_identifier: public-domain_50.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_50.RULE matched_text: This file is in the public domain identifier: public_domain-4b02eb33-5304-7130-8eb0-364fc26686a6 - license_expression: public-domain AND fsf-unlimited AND autoconf-exception-2.0 AND gpl-2.0 + license_expression_spdx: LicenseRef-scancode-public-domain AND FSFULLR AND Autoconf-exception-2.0 + AND GPL-2.0-only matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 238 end_line: 239 + matcher: 2-aho + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_47.RULE rule_relevance: 100 + rule_identifier: public-domain_47.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_47.RULE matched_text: | This file has been put into the public domain. # You can do whatever you want with this file. - - score: '100.0' + - license_expression: fsf-unlimited + spdx_license_expression: FSFULLR + from_file: start_line: 244 end_line: 246 + matcher: 2-aho + score: '100.0' matched_length: 29 match_coverage: '100.0' - matcher: 2-aho - license_expression: fsf-unlimited - rule_identifier: fsf-unlimited.LICENSE rule_relevance: 100 + rule_identifier: fsf-unlimited.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-unlimited.LICENSE matched_text: | This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. - - score: '100.0' + - license_expression: autoconf-exception-2.0 + spdx_license_expression: Autoconf-exception-2.0 + from_file: start_line: 257 end_line: 263 + matcher: 2-aho + score: '100.0' matched_length: 72 match_coverage: '100.0' - matcher: 2-aho - license_expression: autoconf-exception-2.0 - rule_identifier: gpl-2.0-plus_with_autoconf-exception-2.0_2.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_with_autoconf-exception-2.0_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_autoconf-exception-2.0_2.RULE matched_text: | As a special exception, the Free Software Foundation gives unlimited @@ -428,42 +496,49 @@ other_license_detections: # though portions of the text of Autoconf appear in them. The GNU # General Public License (GPL) does govern all other use of the material # that constitutes the Autoconf program. - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 265 end_line: 266 + matcher: 2-aho + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1120.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1120.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1120.RULE matched_text: | On Debian systems, the complete text of the GNU General Public License version 2 can be found in ‘/usr/share/common-licenses/GPL-2’. identifier: public_domain_and_fsf_unlimited_and_autoconf_exception_2_0_and_gpl_2_0-dc221484-4ce9-5ad0-a511-a12eea6f2df6 - license_expression: lgpl-2.1-plus AND (lgpl-2.0 AND lgpl-2.1) + license_expression_spdx: LGPL-2.1-or-later AND (LGPL-2.0-only AND LGPL-2.1-only) matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 274 end_line: 274 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '97.06' + - license_expression: lgpl-2.0 AND lgpl-2.1 + spdx_license_expression: LGPL-2.0-only AND LGPL-2.1-only + from_file: start_line: 275 end_line: 281 + matcher: 3-seq + score: '97.06' matched_length: 66 match_coverage: '100.0' - matcher: 3-seq - license_expression: lgpl-2.0 AND lgpl-2.1 - rule_identifier: lgpl-2.0_and_lgpl-2.1_1.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0_and_lgpl-2.1_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0_and_lgpl-2.1_1.RULE matched_text: | The gettext-runtime package is under the LGPL, see files intl/COPYING.LIB-2.0 @@ -475,59 +550,70 @@ other_license_detections: ‘/usr/share/common-licenses/LGPL-2.1’. identifier: lgpl_2_1_plus_and__lgpl_2_0_and_lgpl_2_1-2e73c0f0-b775-345b-2105-b006c3409499 - license_expression: other-copyleft + license_expression_spdx: LicenseRef-scancode-other-copyleft matches: - - score: '90.0' + - license_expression: other-copyleft + spdx_license_expression: LicenseRef-scancode-other-copyleft + from_file: start_line: 289 end_line: 290 + matcher: 1-hash + score: '90.0' matched_length: '19' match_coverage: '100.0' - matcher: 1-hash - license_expression: other-copyleft - rule_identifier: other-copyleft_4.RULE rule_relevance: 90 + rule_identifier: other-copyleft_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-copyleft_4.RULE matched_text: | Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. identifier: other_copyleft-0ac0d4dd-1063-c305-80e8-d67a64a53eaf - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 295 end_line: 296 + matcher: 1-hash + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_360.RULE rule_relevance: 100 + rule_identifier: public-domain_360.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_360.RULE matched_text: | The Debian packaging files are in the public domain. You may freely use, modify, distribute, and relicense them. identifier: public_domain-737fabda-edbb-94c3-caeb-6f8892c4916b - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 298 end_line: 298 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 299 end_line: 314 + matcher: 1-hash + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_344.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_344.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_344.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -548,27 +634,32 @@ other_license_detections: License version 2.1 can be found in ‘/usr/share/common-licenses/LGPL-2.1’. identifier: lgpl_2_1_plus-920f52f3-7de9-6f8b-d6c2-998167ded0bd - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 316 end_line: 316 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 317 end_line: 329 + matcher: 1-hash + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1302.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1302.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1302.RULE matched_text: | Permission to use, copy, modify, and distribute this software and its @@ -586,27 +677,32 @@ other_license_detections: ‘/usr/share/common-licenses/GPL-2’. identifier: gpl_2_0-aaecf2d3-068e-1d30-3b70-ef8d0ecc7b7f - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 331 end_line: 331 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 332 end_line: 347 + matcher: 1-hash + score: '100.0' matched_length: 134 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_737.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_737.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_737.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -627,16 +723,19 @@ other_license_detections: version 2 can be found in ‘/usr/share/common-licenses/GPL-2’. identifier: gpl_2_0_plus-b1b987d4-03d4-5eb8-154c-7c270ba63c44 - license_expression: gpl-3.0-plus WITH autoconf-macro-exception + license_expression_spdx: GPL-3.0-or-later WITH Autoconf-exception-macro matches: - - score: '100.0' + - license_expression: gpl-3.0-plus WITH autoconf-macro-exception + spdx_license_expression: GPL-3.0-or-later WITH Autoconf-exception-macro + from_file: start_line: 350 end_line: 377 + matcher: 1-hash + score: '100.0' matched_length: 252 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus WITH autoconf-macro-exception - rule_identifier: gpl-3.0-plus_with_autoconf-macro-exception_6.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_with_autoconf-macro-exception_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_autoconf-macro-exception_6.RULE matched_text: | This program is free software: you can redistribute it and/or modify it @@ -669,16 +768,19 @@ other_license_detections: License version 3 can be found in ‘/usr/share/common-licenses/GPL-3’. identifier: gpl_3_0_plus_with_autoconf_macro_exception-a2877901-0b39-4e89-5b10-f1884d45352e - license_expression: fsf-unlimited + license_expression_spdx: FSFULLR matches: - - score: '100.0' + - license_expression: fsf-unlimited + spdx_license_expression: FSFULLR + from_file: start_line: 380 end_line: 382 + matcher: 1-hash + score: '100.0' matched_length: 29 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-unlimited - rule_identifier: fsf-unlimited.LICENSE rule_relevance: 100 + rule_identifier: fsf-unlimited.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-unlimited.LICENSE matched_text: | This file is free software; the Free Software Foundation @@ -686,16 +788,19 @@ other_license_detections: with or without modifications, as long as this notice is preserved. identifier: fsf_unlimited-ed3d6762-95f0-131d-94c5-834f10d192a2 - license_expression: fsf-ap + license_expression_spdx: FSFAP matches: - - score: '100.0' + - license_expression: fsf-ap + spdx_license_expression: FSFAP + from_file: start_line: 385 end_line: 388 + matcher: 1-hash + score: '100.0' matched_length: 37 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-ap - rule_identifier: fsf-ap_4.RULE rule_relevance: 100 + rule_identifier: fsf-ap_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-ap_4.RULE matched_text: | Copying and distribution of this file, with or without modification, @@ -704,41 +809,49 @@ other_license_detections: without warranty of any kind. identifier: fsf_ap-6e2950ec-5e19-6eae-7b74-d4a2741381b9 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 12 end_line: 12 + matcher: 2-aho + score: '100.0' matched_length: 11 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_430.RULE rule_relevance: 100 + rule_identifier: public-domain_430.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_430.RULE matched_text: Most of the source has been put into the public domain, identifier: public_domain-be741e60-3c47-76c0-ca1d-9ba13449e98a - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 104 end_line: 104 + matcher: 2-aho + score: '100.0' matched_length: 6 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_473.RULE rule_relevance: 100 + rule_identifier: public-domain_473.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_473.RULE matched_text: docs are in the public domain. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 108 end_line: 109 + matcher: 2-aho + score: '100.0' matched_length: 6 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_473.RULE rule_relevance: 100 + rule_identifier: public-domain_473.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_473.RULE matched_text: | docs are in the public diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libmount1/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libmount1/copyright-detailed.expected.yml index d7254b30df..bc7191dbd7 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libmount1/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libmount1/copyright-detailed.expected.yml @@ -72,43 +72,51 @@ other_license_expression_spdx: (GPL-2.0-or-later AND GPL-2.0-or-later) AND (GPL- license_detections: [] other_license_detections: - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 345 end_line: 346 + matcher: 2-aho + score: '100.0' matched_length: 17 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_28.RULE rule_relevance: 100 + rule_identifier: public-domain_28.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_28.RULE matched_text: | No copyright is claimed. This code is in the public domain; do with it what you wish. identifier: public_domain-94c09237-25b0-ab6d-340e-62eae2b7eea9 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 350 end_line: 350 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 351 end_line: 365 + matcher: 1-hash + score: '100.0' matched_length: 125 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1189.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1189.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1189.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -128,27 +136,32 @@ other_license_detections: License version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-f0da9233-5233-7bfb-cd4d-15c9cbd6a410 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 367 end_line: 367 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 368 end_line: 383 + matcher: 1-hash + score: '100.0' matched_length: 137 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_906.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_906.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_906.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -169,27 +182,32 @@ other_license_detections: License version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus-389a73cc-676e-ecc6-075d-3774a1be9778 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 385 end_line: 385 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 386 end_line: 400 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_416.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_416.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_416.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -209,16 +227,19 @@ other_license_detections: License version 3 can be found in `/usr/share/common-licenses/GPL-3'. identifier: gpl_3_0_plus-6dd38d39-ae32-a5a3-58aa-6d4f4a3f1cdb - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 403 end_line: 410 + matcher: 1-hash + score: '100.0' matched_length: 70 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified - rule_identifier: bsd-simplified_264.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_264.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_264.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -231,16 +252,19 @@ other_license_detections: documentation and/or other materials provided with the distribution. identifier: bsd_simplified-523bd88c-42d2-11cb-3886-60be795149d1 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 413 end_line: 437 + matcher: 1-hash + score: '100.0' matched_length: 215 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_1063.RULE rule_relevance: 100 + rule_identifier: bsd-new_1063.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1063.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -270,16 +294,19 @@ other_license_detections: POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-e6286cfc-fd40-08e1-ed33-3c2c1bad1f07 - license_expression: bsd-original-uc + license_expression_spdx: BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 440 end_line: 466 + matcher: 1-hash + score: '100.0' matched_length: 243 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_3.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -311,27 +338,32 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_original_uc-f28cb4d4-6336-ee60-f186-4c1929d3a4b0 - license_expression: lgpl-2.0-plus AND lgpl-2.1-plus + license_expression_spdx: LGPL-2.0-or-later AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 468 end_line: 468 + matcher: 1-hash + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_51.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_51.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_51.RULE matched_text: 'License: lgpl' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 469 end_line: 473 + matcher: 1-hash + score: '100.0' matched_length: 37 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_345.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_345.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_345.RULE matched_text: | This file may be redistributed under the terms of the @@ -341,27 +373,32 @@ other_license_detections: License can be found in ‘/usr/share/common-licenses/LGPL’. identifier: lgpl_2_0_plus_and_lgpl_2_1_plus-ee535b08-2e62-57ac-9b69-0ee8b03bde15 - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 475 end_line: 475 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_61.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_61.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_61.RULE matched_text: 'License: lgpl-2+' - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 476 end_line: 490 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_477.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_477.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_477.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -381,27 +418,32 @@ other_license_detections: can be found in /usr/share/common-licenses/LGPL-2 file. identifier: lgpl_2_0_plus-8aa1c724-4bbb-dbb4-937d-77e7ac7027fe - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 492 end_line: 492 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 493 end_line: 508 + matcher: 1-hash + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_344.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_344.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_344.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -422,27 +464,32 @@ other_license_detections: License version 2.1 can be found in ‘/usr/share/common-licenses/LGPL-2.1’. identifier: lgpl_2_1_plus-920f52f3-7de9-6f8b-d6c2-998167ded0bd - license_expression: lgpl-3.0-plus + license_expression_spdx: LGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 510 end_line: 510 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_166.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE matched_text: 'License: lgpl-3+' - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 511 end_line: 525 + matcher: 1-hash + score: '100.0' matched_length: 127 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_206.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_206.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_206.RULE matched_text: | This package is free software; you can redistribute it and/or @@ -462,16 +509,19 @@ other_license_detections: Public License can be found in "/usr/share/common-licenses/LGPL-3". identifier: lgpl_3_0_plus-65e3f8ed-4734-2985-77a5-8c1ebf21d5a1 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 528 end_line: 546 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libnettle8/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libnettle8/copyright-detailed.expected.yml index fc8302cb0c..91ce4a9a7d 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libnettle8/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libnettle8/copyright-detailed.expected.yml @@ -194,27 +194,32 @@ other_license_expression_spdx: ((LGPL-3.0-or-later AND LGPL-3.0-or-later) OR (GP license_detections: [] other_license_detections: - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 276 end_line: 276 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_61.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_61.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_61.RULE matched_text: 'License: lgpl-2+' - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 277 end_line: 293 + matcher: 1-hash + score: '100.0' matched_length: 143 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_460.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_460.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_460.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -236,27 +241,32 @@ other_license_detections: /usr/share/common-licenses/LGPL-2. identifier: lgpl_2_0_plus-974dd354-ef44-944d-ffbb-69b6be081731 - license_expression: gpl-3.0-plus AND gpl-3.0-plus WITH tex-exception + license_expression_spdx: GPL-3.0-or-later AND GPL-3.0-or-later WITH Texinfo-exception matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 489 end_line: 489 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus WITH tex-exception + spdx_license_expression: GPL-3.0-or-later WITH Texinfo-exception + from_file: start_line: 490 end_line: 505 + matcher: 1-hash + score: '100.0' matched_length: 137 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus WITH tex-exception - rule_identifier: gpl-3.0-plus_with_tex-exception_5.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_with_tex-exception_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_tex-exception_5.RULE matched_text: | This texinfo.tex file is free software: you can redistribute it and/or @@ -277,16 +287,19 @@ other_license_detections: restriction. (This has been our intent since Texinfo was invented.) identifier: gpl_3_0_plus_and_gpl_3_0_plus_with_tex_exception-71564435-9876-cce5-4982-7b2b76b00f2e - license_expression: autoconf-simple-exception-2.0 + license_expression_spdx: Autoconf-exception-generic matches: - - score: '100.0' + - license_expression: autoconf-simple-exception-2.0 + spdx_license_expression: Autoconf-exception-generic + from_file: start_line: 525 end_line: 528 + matcher: 1-hash + score: '100.0' matched_length: 42 match_coverage: '100.0' - matcher: 1-hash - license_expression: autoconf-simple-exception-2.0 - rule_identifier: autoconf-simple-exception-2.0.LICENSE rule_relevance: 100 + rule_identifier: autoconf-simple-exception-2.0.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/autoconf-simple-exception-2.0.LICENSE matched_text: | As a special exception to the GNU General Public License, if you @@ -295,43 +308,51 @@ other_license_detections: the same distribution terms that you use for the rest of that program. identifier: autoconf_simple_exception_2_0-9f49705d-f825-5107-3217-345df57f18c4 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 533 end_line: 534 + matcher: 1-hash + score: '100.0' matched_length: 15 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_354.RULE rule_relevance: 100 + rule_identifier: public-domain_354.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_354.RULE matched_text: | I believe that most files in debian/ hardly contains any creative expression eligible for copyright. identifier: public_domain-08996397-ee56-6ff8-8fb7-35f9f0b96837 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 539 end_line: 539 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 540 end_line: 556 + matcher: 1-hash + score: '100.0' matched_length: 131 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1155.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1155.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1155.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -353,16 +374,19 @@ other_license_detections: /usr/share/common-licenses/GPL-2. identifier: gpl_2_0-b47eb271-c5ef-bd9e-ddea-7766c795aa06 - license_expression: fsf-ap + license_expression_spdx: FSFAP matches: - - score: '100.0' + - license_expression: fsf-ap + spdx_license_expression: FSFAP + from_file: start_line: 565 end_line: 567 + matcher: 1-hash + score: '100.0' matched_length: 26 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-ap - rule_identifier: fsf-ap_3.RULE rule_relevance: 100 + rule_identifier: fsf-ap_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-ap_3.RULE matched_text: | Copying and distribution of this file, with or without modification, @@ -370,27 +394,32 @@ other_license_detections: notice and this notice are preserved. identifier: fsf_ap-e6bce55e-c5a1-cd3c-4dee-8eea6cc9bbe3 - license_expression: lgpl-3.0-plus + license_expression_spdx: LGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 569 end_line: 569 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_166.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE matched_text: 'License: lgpl-3+' - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 570 end_line: 585 + matcher: 1-hash + score: '100.0' matched_length: 134 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_196.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_196.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_196.RULE matched_text: | The nettle library is free software; you can redistribute it and/or modify @@ -411,27 +440,32 @@ other_license_detections: /usr/share/common-licenses/LGPL. identifier: lgpl_3_0_plus-4223bfa7-54f8-4a73-f2df-0e6a63fd31a5 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 587 end_line: 587 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 588 end_line: 605 + matcher: 1-hash + score: '100.0' matched_length: 140 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_857.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_857.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_857.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -454,16 +488,19 @@ other_license_detections: /usr/share/common-licenses/GPL. identifier: gpl_2_0_plus-efe6b372-1df6-a999-a97e-2bc9e6ec9898 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 608 end_line: 625 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -487,16 +524,22 @@ other_license_detections: identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: ((gpl-2.0-plus OR gpl-3.0-plus) AND other-permissive AND public-domain) AND public-domain AND lgpl-2.0-plus AND mit AND pycrypto AND lgpl-2.1-plus + license_expression_spdx: ((GPL-2.0-or-later OR GPL-3.0-or-later) AND LicenseRef-scancode-other-permissive + AND LicenseRef-scancode-public-domain) AND LicenseRef-scancode-public-domain AND LGPL-2.0-or-later + AND MIT AND LicenseRef-scancode-pycrypto AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: (gpl-2.0-plus OR gpl-3.0-plus) AND other-permissive AND public-domain + spdx_license_expression: (GPL-2.0-or-later OR GPL-3.0-or-later) AND LicenseRef-scancode-other-permissive + AND LicenseRef-scancode-public-domain + from_file: start_line: 10 end_line: 16 + matcher: 2-aho + score: '100.0' matched_length: 79 match_coverage: '100.0' - matcher: 2-aho - license_expression: (gpl-2.0-plus OR gpl-3.0-plus) AND other-permissive AND public-domain - rule_identifier: gpl-2.0-plus_or_gpl-3.0-plus_and_other-permissive_and_public-domain_1.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_or_gpl-3.0-plus_and_other-permissive_and_public-domain_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_or_gpl-3.0-plus_and_other-permissive_and_public-domain_1.RULE matched_text: | Nettle is dual licenced under the GNU General Public License version @@ -506,131 +549,153 @@ other_license_detections: licensed under more permissive terms, or in the public domain. To find the current status of particular files, you have to read the copyright notices at the top of the files. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 47 end_line: 47 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_15.RULE rule_relevance: 100 + rule_identifier: public-domain_15.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_15.RULE matched_text: Released into the public domain. - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 55 end_line: 55 + matcher: 2-aho + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_515.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_515.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_515.RULE matched_text: released under the LGPL, version 2 or later. - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 60 end_line: 60 + matcher: 2-aho + score: '100.0' matched_length: 7 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_1090.RULE rule_relevance: 100 + rule_identifier: mit_1090.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1090.RULE matched_text: It is released under the MIT license. - - score: '100.0' + - license_expression: pycrypto + spdx_license_expression: LicenseRef-scancode-pycrypto + from_file: start_line: 64 end_line: 65 + matcher: 2-aho + score: '100.0' matched_length: 7 match_coverage: '100.0' - matcher: 2-aho - license_expression: pycrypto - rule_identifier: pycrypto_1.RULE rule_relevance: 100 + rule_identifier: pycrypto_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pycrypto_1.RULE matched_text: | Python Cryptography Toolkit license (essentially public domain). - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 69 end_line: 69 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_15.RULE rule_relevance: 100 + rule_identifier: public-domain_15.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_15.RULE matched_text: Released into the public domain. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 74 end_line: 74 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_15.RULE rule_relevance: 100 + rule_identifier: public-domain_15.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_15.RULE matched_text: Released into the public domain. - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 81 end_line: 82 + matcher: 2-aho + score: '100.0' matched_length: 13 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_389.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_389.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_389.RULE matched_text: | based on the code in libgcrypt, copyright owned by the Free Software Foundation. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 87 end_line: 87 + matcher: 2-aho + score: '100.0' matched_length: 6 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_425.RULE rule_relevance: 100 + rule_identifier: public-domain_425.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_425.RULE matched_text: reference implementation (in the public domain), - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 92 end_line: 93 + matcher: 2-aho + score: '100.0' matched_length: 13 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_389.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_389.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_389.RULE matched_text: | based on the code in libgcrypt, copyright owned by the Free Software Foundation. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 105 end_line: 105 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_15.RULE rule_relevance: 100 + rule_identifier: public-domain_15.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_15.RULE matched_text: Released into the public domain. - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 106 end_line: 106 + matcher: 2-aho + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_465.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_465.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_465.RULE matched_text: released under the LGPL. identifier: gpl_2_0_plus_or_gpl_3_0_plus__and_other_permissive_and_public_domain__and_public_domain_and_lgpl_2_0_plus_and_mit_and_pycrypto_and_lgpl_2_1_plus-14e5a124-078d-9ad2-fd6e-8e31e8ec569e diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libnsl2/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libnsl2/copyright-detailed.expected.yml index b6536c78f6..d1e29d4f10 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libnsl2/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libnsl2/copyright-detailed.expected.yml @@ -39,16 +39,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 171 end_line: '196' + matcher: 1-hash + score: '100.0' matched_length: 214 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_591.RULE rule_relevance: 100 + rule_identifier: bsd-new_591.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_591.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -79,16 +82,19 @@ license_detections: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-ac94609c-944a-f9a1-4cff-f58b845098a0 - license_expression: gpl-2.0-plus WITH autoconf-simple-exception-2.0 + license_expression_spdx: GPL-2.0-or-later WITH Autoconf-exception-generic matches: - - score: '100.0' + - license_expression: gpl-2.0-plus WITH autoconf-simple-exception-2.0 + spdx_license_expression: GPL-2.0-or-later WITH Autoconf-exception-generic + from_file: start_line: '199' end_line: 218 + matcher: 1-hash + score: '100.0' matched_length: 165 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus WITH autoconf-simple-exception-2.0 - rule_identifier: gpl-2.0-plus_with_autoconf-simple-exception-2.0_16.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_with_autoconf-simple-exception-2.0_16.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_autoconf-simple-exception-2.0_16.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -113,16 +119,19 @@ license_detections: version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus_with_autoconf_simple_exception_2_0-a61a1123-4a91-29fe-f86c-06db7b1208df - license_expression: gpl-2.0-plus WITH libtool-exception-2.0 + license_expression_spdx: GPL-2.0-or-later WITH Libtool-exception matches: - - score: '100.0' + - license_expression: gpl-2.0-plus WITH libtool-exception-2.0 + spdx_license_expression: GPL-2.0-or-later WITH Libtool-exception + from_file: start_line: 221 end_line: 240 + matcher: 1-hash + score: '100.0' matched_length: 171 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus WITH libtool-exception-2.0 - rule_identifier: gpl-2.0-plus_with_libtool-exception-2.0_17.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_with_libtool-exception-2.0_17.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_libtool-exception-2.0_17.RULE matched_text: | GNU Libtool is free software; you can redistribute it and/or modify @@ -147,16 +156,19 @@ license_detections: version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus_with_libtool_exception_2_0-c4669be3-4e50-9924-e80b-2a4ebee07dec - license_expression: gpl-3.0-plus WITH autoconf-simple-exception + license_expression_spdx: GPL-3.0-or-later WITH Autoconf-exception-generic-3.0 matches: - - score: '100.0' + - license_expression: gpl-3.0-plus WITH autoconf-simple-exception + spdx_license_expression: GPL-3.0-or-later WITH Autoconf-exception-generic-3.0 + from_file: start_line: 243 end_line: 264 + matcher: 1-hash + score: '100.0' matched_length: 186 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus WITH autoconf-simple-exception - rule_identifier: gpl-3.0-plus_with_autoconf-simple-exception_6.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_with_autoconf-simple-exception_6.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_autoconf-simple-exception_6.RULE matched_text: | This file is free software; you can redistribute it and/or modify it @@ -183,27 +195,32 @@ license_detections: Version 3 can be found in `/usr/share/common-licenses/GPL-3'. identifier: gpl_3_0_plus_with_autoconf_simple_exception-6756a4a1-65da-4388-3f23-465053561382 - license_expression: lgpl-2.1 + license_expression_spdx: LGPL-2.1-only matches: - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 266 end_line: 266 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_38.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_38.RULE matched_text: 'License: lgpl-2.1' - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 267 end_line: 280 + matcher: 1-hash + score: '100.0' matched_length: 121 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_369.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_369.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_369.RULE matched_text: | This library is free software: you can redistribute it and/or @@ -222,27 +239,32 @@ license_detections: License version 2.1 can be found in "/usr/share/common-licenses/LGPL-2.1". identifier: lgpl_2_1-af00f224-7cdc-f157-5516-90a5799b4be1 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 282 end_line: 282 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 283 end_line: 298 + matcher: 1-hash + score: '100.0' matched_length: 139 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_387.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_387.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_387.RULE matched_text: | The GNU C Library is free software; you can redistribute it and/or @@ -263,16 +285,19 @@ license_detections: License version 2.1 can be found in "/usr/share/common-licenses/LGPL-2.1". identifier: lgpl_2_1_plus-f466018a-eac5-e44c-e9ea-68075d3fe9ae - license_expression: x11-xconsortium + license_expression_spdx: X11 matches: - - score: '100.0' + - license_expression: x11-xconsortium + spdx_license_expression: X11 + from_file: start_line: 301 end_line: 321 + matcher: 1-hash + score: '100.0' matched_length: 201 match_coverage: '100.0' - matcher: 1-hash - license_expression: x11-xconsortium - rule_identifier: x11-xconsortium_2.RULE rule_relevance: 100 + rule_identifier: x11-xconsortium_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -298,16 +323,19 @@ license_detections: tium. identifier: x11_xconsortium-8bc3e205-5f29-ecad-90bc-2f492c65be46 - license_expression: fsf-unlimited + license_expression_spdx: FSFULLR matches: - - score: '100.0' + - license_expression: fsf-unlimited + spdx_license_expression: FSFULLR + from_file: start_line: 324 end_line: 326 + matcher: 1-hash + score: '100.0' matched_length: 29 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-unlimited - rule_identifier: fsf-unlimited.LICENSE rule_relevance: 100 + rule_identifier: fsf-unlimited.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-unlimited.LICENSE matched_text: | This file is free software; the Free Software Foundation gives @@ -315,16 +343,19 @@ license_detections: modifications, as long as this notice is preserved. identifier: fsf_unlimited-ed3d6762-95f0-131d-94c5-834f10d192a2 - license_expression: fsf-unlimited-no-warranty + license_expression_spdx: FSFULLRWD matches: - - score: '100.0' + - license_expression: fsf-unlimited-no-warranty + spdx_license_expression: FSFULLRWD + from_file: start_line: 329 end_line: 336 + matcher: 1-hash + score: '100.0' matched_length: 63 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-unlimited-no-warranty - rule_identifier: fsf-unlimited-no-warranty.LICENSE rule_relevance: 100 + rule_identifier: fsf-unlimited-no-warranty.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-unlimited-no-warranty.LICENSE matched_text: | This file is free software; the Free Software Foundation @@ -337,32 +368,38 @@ license_detections: PARTICULAR PURPOSE. identifier: fsf_unlimited_no_warranty-0823c9f0-6e4b-8cf0-64e1-5165a09dfa45 - license_expression: fsf-free + license_expression_spdx: FSFUL matches: - - score: '100.0' + - license_expression: fsf-free + spdx_license_expression: FSFUL + from_file: start_line: 339 end_line: 340 + matcher: 1-hash + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-free - rule_identifier: fsf-free.LICENSE rule_relevance: 100 + rule_identifier: fsf-free.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-free.LICENSE matched_text: | This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. identifier: fsf_free-95bff5c5-ed9b-1c78-0dd8-4c05168176ba - license_expression: fsf-ap + license_expression_spdx: FSFAP matches: - - score: '100.0' + - license_expression: fsf-ap + spdx_license_expression: FSFAP + from_file: start_line: 343 end_line: 346 + matcher: 1-hash + score: '100.0' matched_length: 35 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-ap - rule_identifier: fsf-ap.LICENSE rule_relevance: 100 + rule_identifier: fsf-ap.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-ap.LICENSE matched_text: | Copying and distribution of this file, with or without modification, @@ -371,16 +408,19 @@ license_detections: without any warranty. identifier: fsf_ap-a7d380d0-4462-458a-36c1-1852bdcbf538 - license_expression: fsf-unlimited-no-warranty + license_expression_spdx: FSFULLRWD matches: - - score: '100.0' + - license_expression: fsf-unlimited-no-warranty + spdx_license_expression: FSFULLRWD + from_file: start_line: 349 end_line: 356 + matcher: 1-hash + score: '100.0' matched_length: 64 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-unlimited-no-warranty - rule_identifier: fsf-unlimited-no-warranty_2.RULE rule_relevance: 100 + rule_identifier: fsf-unlimited-no-warranty_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-unlimited-no-warranty_2.RULE matched_text: | This Makefile.in is free software; the Free Software Foundation diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libp11-kit0/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libp11-kit0/copyright-detailed.expected.yml index ee8f1789fc..194c513580 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libp11-kit0/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libp11-kit0/copyright-detailed.expected.yml @@ -24,16 +24,19 @@ other_license_expression_spdx: BSD-3-Clause AND FSFULLRWD AND BSD-3-Clause AND B license_detections: [] other_license_detections: - license_expression: fsf-unlimited-no-warranty + license_expression_spdx: FSFULLRWD matches: - - score: '100.0' + - license_expression: fsf-unlimited-no-warranty + spdx_license_expression: FSFULLRWD + from_file: start_line: 17 end_line: 24 + matcher: 1-hash + score: '100.0' matched_length: 64 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-unlimited-no-warranty - rule_identifier: fsf-unlimited-no-warranty.RULE rule_relevance: 100 + rule_identifier: fsf-unlimited-no-warranty.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-unlimited-no-warranty.RULE matched_text: | This file is free software; as a special exception the author gives @@ -46,16 +49,19 @@ other_license_detections: PURPOSE. */ identifier: fsf_unlimited_no_warranty-005cbd82-97e0-5c6c-e111-cd46d95d2c5a - license_expression: isc + license_expression_spdx: ISC matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 61 end_line: 71 + matcher: 1-hash + score: '100.0' matched_length: 110 match_coverage: '100.0' - matcher: 1-hash - license_expression: isc - rule_identifier: isc_20.RULE rule_relevance: 100 + rule_identifier: isc_20.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_20.RULE matched_text: | Permission to use, copy, modify, and/or distribute this software for any @@ -71,16 +77,19 @@ other_license_detections: PERFORMANCE OF THIS SOFTWARE. identifier: isc-027c5afe-e7fe-a7fe-149e-fdcae05e6c2e - license_expression: isc AND ibm-dhcp + license_expression_spdx: ISC AND LicenseRef-scancode-ibm-dhcp matches: - - score: '100.0' + - license_expression: isc + spdx_license_expression: ISC + from_file: start_line: 80 end_line: 91 + matcher: 2-aho + score: '100.0' matched_length: 113 match_coverage: '100.0' - matcher: 2-aho - license_expression: isc - rule_identifier: isc_9.RULE rule_relevance: 100 + rule_identifier: isc_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_9.RULE matched_text: | Permission to use, copy, modify, and distribute this software for any @@ -95,15 +104,17 @@ other_license_detections: PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - score: '100.0' + - license_expression: ibm-dhcp + spdx_license_expression: LicenseRef-scancode-ibm-dhcp + from_file: start_line: 96 end_line: 115 + matcher: 2-aho + score: '100.0' matched_length: 203 match_coverage: '100.0' - matcher: 2-aho - license_expression: ibm-dhcp - rule_identifier: ibm-dhcp.LICENSE rule_relevance: 100 + rule_identifier: ibm-dhcp.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ibm-dhcp.LICENSE matched_text: | International Business Machines, Inc. (hereinafter called IBM) grants @@ -128,30 +139,36 @@ other_license_detections: IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. identifier: isc_and_ibm_dhcp-d539ba65-a2a0-2bb1-a2a4-c389ed251972 - license_expression: free-unknown + license_expression_spdx: LicenseRef-scancode-free-unknown matches: - - score: '100.0' + - license_expression: free-unknown + spdx_license_expression: LicenseRef-scancode-free-unknown + from_file: start_line: 160 end_line: 160 + matcher: 2-aho + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 2-aho - license_expression: free-unknown - rule_identifier: free-unknown-package_4.RULE rule_relevance: 100 + rule_identifier: free-unknown-package_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_4.RULE matched_text: This file is distributed under the same license as the identifier: free_unknown-fddf748a-9953-bc6c-cb9d-91001840e335 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 165 end_line: 187 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -179,16 +196,19 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '80.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 46 end_line: 55 + matcher: 2-aho + score: '80.0' matched_length: 86 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit - rule_identifier: mit_17.RULE rule_relevance: 80 + rule_identifier: mit_17.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_17.RULE matched_text: | Permission is hereby granted, free of charge, to any person @@ -203,16 +223,19 @@ other_license_detections: * included in all copies or substantial portions of the Software. identifier: mit-19e92631-4a50-0b43-f7f7-3c6b7d44ec18 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 151 end_line: 152 + matcher: 1-hash + score: '100.0' matched_length: 17 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_1043.RULE rule_relevance: 100 + rule_identifier: bsd-new_1043.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1043.RULE matched_text: | This file is distributed under the same license as the diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libpam-modules/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libpam-modules/copyright-detailed.expected.yml index 654f319ea9..c5c5b32552 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libpam-modules/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libpam-modules/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: (bsd-new OR lgpl-2.0-plus) AND gpl-1.0-plus + license_expression_spdx: (BSD-3-Clause OR LGPL-2.0-or-later) AND GPL-1.0-or-later matches: - - score: '98.6' + - license_expression: bsd-new OR lgpl-2.0-plus + spdx_license_expression: BSD-3-Clause OR LGPL-2.0-or-later + from_file: start_line: 25 end_line: 63 + matcher: 3-seq + score: '98.6' matched_length: 282 match_coverage: '100.0' - matcher: 3-seq - license_expression: bsd-new OR lgpl-2.0-plus - rule_identifier: bsd-new_or_lgpl-2.0-plus_4.RULE rule_relevance: 100 + rule_identifier: bsd-new_or_lgpl-2.0-plus_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_or_lgpl-2.0-plus_4.RULE matched_text: | Unless otherwise *explicitly* stated the following text describes the @@ -56,15 +59,17 @@ license_detections: TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 66 end_line: 67 + matcher: 2-aho + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_10.RULE matched_text: | On Debian GNU/Linux systems, the complete text of the GNU General diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libpcre2-8-0/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libpcre2-8-0/copyright-detailed.expected.yml index da84a728c5..4d9a5b4af8 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libpcre2-8-0/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libpcre2-8-0/copyright-detailed.expected.yml @@ -6,16 +6,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: pcre + license_expression_spdx: LicenseRef-scancode-pcre matches: - - score: '100.0' + - license_expression: pcre + spdx_license_expression: LicenseRef-scancode-pcre + from_file: start_line: 3 end_line: 5 + matcher: 2-aho + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 2-aho - license_expression: pcre - rule_identifier: pcre_7.RULE rule_relevance: 100 + rule_identifier: pcre_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pcre_7.RULE matched_text: | ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ @@ -23,52 +26,62 @@ license_detections: PCRE2 LICENCE identifier: pcre-90b147d9-f7f6-9673-6313-9d0c919c9d91 - license_expression: bsd-new AND public-domain + license_expression_spdx: BSD-3-Clause AND LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 11 end_line: 11 + matcher: 2-aho + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_398.RULE rule_relevance: 100 + rule_identifier: bsd-new_398.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_398.RULE matched_text: distributed under the terms of the "BSD" licence, - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 14 end_line: 14 + matcher: 2-aho + score: '100.0' matched_length: 8 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_328.RULE rule_relevance: 100 + rule_identifier: public-domain_328.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_328.RULE matched_text: not copyrighted and is in the public domain. identifier: bsd_new_and_public_domain-e977518e-26ee-d19e-0b06-9fb80190cefe - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '99.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 58 end_line: 58 + matcher: 2-aho + score: '99.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_898.RULE rule_relevance: 99 + rule_identifier: bsd-new_898.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_898.RULE matched_text: THE "BSD" LICENCE - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 61 end_line: 85 + matcher: 2-aho + score: '100.0' matched_length: 214 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_1064.RULE rule_relevance: 100 + rule_identifier: bsd-new_1064.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1064.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libpcre3/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libpcre3/copyright-detailed.expected.yml index fd2832af09..d9d7c81a8a 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libpcre3/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libpcre3/copyright-detailed.expected.yml @@ -5,30 +5,36 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: pcre + license_expression_spdx: LicenseRef-scancode-pcre matches: - - score: '100.0' + - license_expression: pcre + spdx_license_expression: LicenseRef-scancode-pcre + from_file: start_line: 7 end_line: 7 + matcher: 2-aho + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: pcre - rule_identifier: pcre_4.RULE rule_relevance: 100 + rule_identifier: pcre_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pcre_4.RULE matched_text: PCRE LICENCE identifier: pcre-b7d0af79-af3f-24dc-6a31-2df791031f14 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 13 end_line: 15 + matcher: 2-aho + score: '100.0' matched_length: 32 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_645.RULE rule_relevance: 100 + rule_identifier: bsd-new_645.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_645.RULE matched_text: | PCRE is distributed under the terms of the "BSD" licence, as @@ -36,16 +42,19 @@ license_detections: directory, is distributed under the same terms as the software itself. identifier: bsd_new-b0c1a29e-cb77-763e-cf87-1a54fced2cf1 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 44 end_line: 72 + matcher: 2-aho + score: '100.0' matched_length: 223 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_1105.RULE rule_relevance: 100 + rule_identifier: bsd-new_1105.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1105.RULE matched_text: | THE "BSD" LICENCE diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libseccomp2/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libseccomp2/copyright-detailed.expected.yml index 2420d34724..5589719818 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libseccomp2/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libseccomp2/copyright-detailed.expected.yml @@ -13,27 +13,32 @@ other_license_expression_spdx: (LGPL-2.1-only AND LGPL-2.1-only) AND (LGPL-2.1-o license_detections: [] other_license_detections: - license_expression: lgpl-2.1 + license_expression_spdx: LGPL-2.1-only matches: - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 25 end_line: 25 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_38.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_38.RULE matched_text: 'License: lgpl-2.1' - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 26 end_line: 39 + matcher: 1-hash + score: '100.0' matched_length: 120 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_368.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_368.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_368.RULE matched_text: | This library is free software; you can redistribute it and/or modify it diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libselinux1/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libselinux1/copyright-detailed.expected.yml index 6139a5bc49..7558a1fa6d 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libselinux1/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libselinux1/copyright-detailed.expected.yml @@ -6,16 +6,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: selinux-nsa-declaration-1.0 + license_expression_spdx: libselinux-1.0 matches: - - score: '100.0' + - license_expression: selinux-nsa-declaration-1.0 + spdx_license_expression: libselinux-1.0 + from_file: start_line: 7 end_line: 27 + matcher: 2-aho + score: '100.0' matched_length: 153 match_coverage: '100.0' - matcher: 2-aho - license_expression: selinux-nsa-declaration-1.0 - rule_identifier: selinux-nsa-declaration-1.0.LICENSE rule_relevance: 100 + rule_identifier: selinux-nsa-declaration-1.0.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/selinux-nsa-declaration-1.0.LICENSE matched_text: | This library (libselinux) is public domain software, i.e. not copyrighted. @@ -41,32 +44,38 @@ license_detections: risk. identifier: selinux_nsa_declaration_1_0-845d7cb4-a2eb-f401-8cd9-df047578f86c - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 32 end_line: 33 + matcher: 2-aho + score: '100.0' matched_length: 11 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_929.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_929.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_929.RULE matched_text: | distributed underthe terms of the GNU General Public License, version 2. identifier: gpl_2_0-a2bdb57d-a203-65c0-fbb7-26a774d0b947 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 38 end_line: 50 + matcher: 2-aho + score: '100.0' matched_length: 97 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_384.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_384.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_384.RULE matched_text: | The GNU C Library is distributed under @@ -84,16 +93,19 @@ license_detections: General Public License can be found in `/usr/share/common-licenses/LGPL-2.1'. identifier: lgpl_2_1_plus-87de33d2-cbcd-42e9-9876-2f1e5c016188 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 56 end_line: 65 + matcher: 2-aho + score: '100.0' matched_length: 78 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_930.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_930.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_930.RULE matched_text: | distributed under the terms of the GNU diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libsemanage-common/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libsemanage-common/copyright-detailed.expected.yml index b6295a9584..a59497d7e1 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libsemanage-common/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libsemanage-common/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 7 end_line: 22 + matcher: 2-aho + score: '100.0' matched_length: 140 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_385.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_385.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_385.RULE matched_text: | This library is free software; you can redistribute it and/or @@ -35,16 +38,19 @@ license_detections: Public License can be found in `/usr/share/common-licenses/LGPL'. identifier: lgpl_2_1_plus-358c2e4e-317d-a900-9a89-87548f33525d - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 27 end_line: 36 + matcher: 2-aho + score: '100.0' matched_length: 77 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1123.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1123.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1123.RULE matched_text: | distributed under the terms of the GNU diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libsepol1/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libsepol1/copyright-detailed.expected.yml index e59beef3fa..05bcf87645 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libsepol1/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libsepol1/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: lgpl-2.1-plus AND gpl-2.0 + license_expression_spdx: LGPL-2.1-or-later AND GPL-2.0-only matches: - - score: '89.63' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 16 end_line: 41 + matcher: 3-seq + score: '89.63' matched_length: 147 match_coverage: '89.63' - matcher: 3-seq - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_312.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_312.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_312.RULE matched_text: | library is free software; you can redistribute it and/or @@ -43,15 +46,17 @@ license_detections: On Debian GNU/Linux systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/ - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 36 end_line: 46 + matcher: 2-aho + score: '100.0' matched_length: 77 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1123.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1123.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1123.RULE matched_text: | distributed under the terms of the GNU diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libsmartcols1/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libsmartcols1/copyright-detailed.expected.yml index d7254b30df..bc7191dbd7 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libsmartcols1/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libsmartcols1/copyright-detailed.expected.yml @@ -72,43 +72,51 @@ other_license_expression_spdx: (GPL-2.0-or-later AND GPL-2.0-or-later) AND (GPL- license_detections: [] other_license_detections: - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 345 end_line: 346 + matcher: 2-aho + score: '100.0' matched_length: 17 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_28.RULE rule_relevance: 100 + rule_identifier: public-domain_28.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_28.RULE matched_text: | No copyright is claimed. This code is in the public domain; do with it what you wish. identifier: public_domain-94c09237-25b0-ab6d-340e-62eae2b7eea9 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 350 end_line: 350 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 351 end_line: 365 + matcher: 1-hash + score: '100.0' matched_length: 125 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1189.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1189.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1189.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -128,27 +136,32 @@ other_license_detections: License version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-f0da9233-5233-7bfb-cd4d-15c9cbd6a410 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 367 end_line: 367 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 368 end_line: 383 + matcher: 1-hash + score: '100.0' matched_length: 137 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_906.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_906.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_906.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -169,27 +182,32 @@ other_license_detections: License version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus-389a73cc-676e-ecc6-075d-3774a1be9778 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 385 end_line: 385 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 386 end_line: 400 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_416.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_416.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_416.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -209,16 +227,19 @@ other_license_detections: License version 3 can be found in `/usr/share/common-licenses/GPL-3'. identifier: gpl_3_0_plus-6dd38d39-ae32-a5a3-58aa-6d4f4a3f1cdb - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 403 end_line: 410 + matcher: 1-hash + score: '100.0' matched_length: 70 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified - rule_identifier: bsd-simplified_264.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_264.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_264.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -231,16 +252,19 @@ other_license_detections: documentation and/or other materials provided with the distribution. identifier: bsd_simplified-523bd88c-42d2-11cb-3886-60be795149d1 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 413 end_line: 437 + matcher: 1-hash + score: '100.0' matched_length: 215 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_1063.RULE rule_relevance: 100 + rule_identifier: bsd-new_1063.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1063.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -270,16 +294,19 @@ other_license_detections: POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-e6286cfc-fd40-08e1-ed33-3c2c1bad1f07 - license_expression: bsd-original-uc + license_expression_spdx: BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 440 end_line: 466 + matcher: 1-hash + score: '100.0' matched_length: 243 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_3.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -311,27 +338,32 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_original_uc-f28cb4d4-6336-ee60-f186-4c1929d3a4b0 - license_expression: lgpl-2.0-plus AND lgpl-2.1-plus + license_expression_spdx: LGPL-2.0-or-later AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 468 end_line: 468 + matcher: 1-hash + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_51.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_51.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_51.RULE matched_text: 'License: lgpl' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 469 end_line: 473 + matcher: 1-hash + score: '100.0' matched_length: 37 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_345.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_345.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_345.RULE matched_text: | This file may be redistributed under the terms of the @@ -341,27 +373,32 @@ other_license_detections: License can be found in ‘/usr/share/common-licenses/LGPL’. identifier: lgpl_2_0_plus_and_lgpl_2_1_plus-ee535b08-2e62-57ac-9b69-0ee8b03bde15 - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 475 end_line: 475 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_61.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_61.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_61.RULE matched_text: 'License: lgpl-2+' - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 476 end_line: 490 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_477.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_477.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_477.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -381,27 +418,32 @@ other_license_detections: can be found in /usr/share/common-licenses/LGPL-2 file. identifier: lgpl_2_0_plus-8aa1c724-4bbb-dbb4-937d-77e7ac7027fe - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 492 end_line: 492 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 493 end_line: 508 + matcher: 1-hash + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_344.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_344.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_344.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -422,27 +464,32 @@ other_license_detections: License version 2.1 can be found in ‘/usr/share/common-licenses/LGPL-2.1’. identifier: lgpl_2_1_plus-920f52f3-7de9-6f8b-d6c2-998167ded0bd - license_expression: lgpl-3.0-plus + license_expression_spdx: LGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 510 end_line: 510 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_166.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE matched_text: 'License: lgpl-3+' - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 511 end_line: 525 + matcher: 1-hash + score: '100.0' matched_length: 127 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_206.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_206.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_206.RULE matched_text: | This package is free software; you can redistribute it and/or @@ -462,16 +509,19 @@ other_license_detections: Public License can be found in "/usr/share/common-licenses/LGPL-3". identifier: lgpl_3_0_plus-65e3f8ed-4734-2985-77a5-8c1ebf21d5a1 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 528 end_line: 546 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libss2/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libss2/copyright-detailed.expected.yml index 71be22212c..820a1963ad 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libss2/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libss2/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: mit-old-style-no-advert + license_expression_spdx: NTP matches: - - score: '100.0' + - license_expression: mit-old-style-no-advert + spdx_license_expression: NTP + from_file: start_line: 15 end_line: 25 + matcher: 2-aho + score: '100.0' matched_length: 112 match_coverage: '100.0' - matcher: 2-aho - license_expression: mit-old-style-no-advert - rule_identifier: mit-old-style-no-advert_5.RULE rule_relevance: 100 + rule_identifier: mit-old-style-no-advert_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style-no-advert_5.RULE matched_text: | Permission to use, copy, modify, and distribute this software diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libssl1.1/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libssl1.1/copyright-detailed.expected.yml index fb012d4a59..38b2fab787 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libssl1.1/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libssl1.1/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: openssl-ssleay + license_expression_spdx: OpenSSL matches: - - score: '99.89' + - license_expression: openssl-ssleay + spdx_license_expression: OpenSSL + from_file: start_line: 10 end_line: 133 + matcher: 3-seq + score: '99.89' matched_length: 869 match_coverage: '99.89' - matcher: 3-seq - license_expression: openssl-ssleay - rule_identifier: openssl-ssleay_37.RULE rule_relevance: 100 + rule_identifier: openssl-ssleay_37.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/openssl-ssleay_37.RULE matched_text: "LICENSE ISSUES\n ==============\n\n The OpenSSL toolkit stays under\ \ a dual license, i.e. both the conditions of\n the OpenSSL License and the original\ diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libsystemd0/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libsystemd0/copyright-detailed.expected.yml index 175fe0c59c..8facace882 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libsystemd0/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libsystemd0/copyright-detailed.expected.yml @@ -27,32 +27,38 @@ other_license_expression_spdx: (LGPL-2.1-or-later AND LGPL-2.1-or-later) AND (CC license_detections: [] other_license_detections: - license_expression: public-domain-disclaimer + license_expression_spdx: LicenseRef-scancode-public-domain-disclaimer matches: - - score: '100.0' + - license_expression: public-domain-disclaimer + spdx_license_expression: LicenseRef-scancode-public-domain-disclaimer + from_file: start_line: 77 end_line: 78 + matcher: 1-hash + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain-disclaimer - rule_identifier: public-domain-disclaimer_7.RULE rule_relevance: 100 + rule_identifier: public-domain-disclaimer_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain-disclaimer_7.RULE matched_text: | You can use this free for any purpose. It's in the public domain. It has no warranty. identifier: public_domain_disclaimer-8e235ed9-5a49-0bba-be41-0bb35f0779c9 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 150 end_line: 166 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -74,27 +80,32 @@ other_license_detections: IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 168 end_line: 168 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 169 end_line: 184 + matcher: 1-hash + score: '100.0' matched_length: 132 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1292.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1292.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1292.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -115,16 +126,19 @@ other_license_detections: `/usr/share/common-licenses/GPL-2` identifier: gpl_2_0-0acbb9ac-a862-7099-0f33-caefbf2d141b - license_expression: gpl-2.0 WITH linux-syscall-exception-gpl + license_expression_spdx: GPL-2.0-only WITH Linux-syscall-note matches: - - score: '100.0' + - license_expression: gpl-2.0 WITH linux-syscall-exception-gpl + spdx_license_expression: GPL-2.0-only WITH Linux-syscall-note + from_file: start_line: 187 end_line: 215 + matcher: 1-hash + score: '100.0' matched_length: 242 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 WITH linux-syscall-exception-gpl - rule_identifier: gpl-2.0_with_linux-syscall-exception-gpl_9.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_with_linux-syscall-exception-gpl_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_with_linux-syscall-exception-gpl_9.RULE matched_text: | NOTE! This copyright does *not* cover user programs that use kernel services @@ -158,27 +172,32 @@ other_license_detections: `/usr/share/common-licenses/GPL-2` identifier: gpl_2_0_with_linux_syscall_exception_gpl-1465edb5-6e2a-792a-cbbe-8a910dd31c7c - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 217 end_line: 217 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 218 end_line: 233 + matcher: 1-hash + score: '100.0' matched_length: 134 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_737.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_737.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_737.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -199,27 +218,32 @@ other_license_detections: version 2 can be found in ‘/usr/share/common-licenses/GPL-2’. identifier: gpl_2_0_plus-b1b987d4-03d4-5eb8-154c-7c270ba63c44 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 235 end_line: 235 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 236 end_line: 251 + matcher: 1-hash + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_344.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_344.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_344.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -240,27 +264,32 @@ other_license_detections: License version 2.1 can be found in ‘/usr/share/common-licenses/LGPL-2.1’. identifier: lgpl_2_1_plus-920f52f3-7de9-6f8b-d6c2-998167ded0bd - license_expression: cc0-1.0 + license_expression_spdx: CC0-1.0 matches: - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 253 end_line: 253 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_12.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_12.RULE matched_text: 'License: cc0-1.0' - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 254 end_line: 262 + matcher: 1-hash + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_153.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_153.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_153.RULE matched_text: | To the extent possible under law, the author(s) have dedicated all copyright diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libtasn1-6/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libtasn1-6/copyright-detailed.expected.yml index e9d680c697..8ab12a267f 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libtasn1-6/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libtasn1-6/copyright-detailed.expected.yml @@ -7,32 +7,38 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: lgpl-2.1-plus AND gpl-3.0-plus + license_expression_spdx: LGPL-2.1-or-later AND GPL-3.0-or-later matches: - - score: '95.45' + - license_expression: lgpl-2.1-plus AND gpl-3.0-plus + spdx_license_expression: LGPL-2.1-or-later AND GPL-3.0-or-later + from_file: start_line: 14 end_line: 15 + matcher: 2-aho + score: '95.45' matched_length: 21 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus AND gpl-3.0-plus - rule_identifier: lgpl-2.1-plus_and_gpl-3.0-plus_2.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_and_gpl-3.0-plus_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_and_gpl-3.0-plus_2.RULE matched_text: | The library itself is licensed as LGPLv2.1+, the build system, test-suite and command-line tools (package libtasn1-bin) are GPLv3+. identifier: lgpl_2_1_plus_and_gpl_3_0_plus-ba011866-8d3a-d5ce-dfbe-68a1d5f8302e - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '99.39' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 23 end_line: 42 + matcher: 2-aho + score: '99.39' matched_length: 164 match_coverage: '100.0' - matcher: 2-aho - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_312.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_312.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_312.RULE matched_text: | The LIBTASN1 library is free software; you can redistribute it @@ -57,16 +63,19 @@ license_detections: of the license (2.1) can be found in `/usr/share/common-licenses/LGPL-2.1'. identifier: lgpl_2_1_plus-9c41e5e7-72ec-2448-df2b-424137a5b9fc - license_expression: gpl-3.0-plus AND gfdl-1.3 AND gfdl-1.3-plus + license_expression_spdx: GPL-3.0-or-later AND GFDL-1.3-only AND GFDL-1.3-or-later matches: - - score: '85.91' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 50 end_line: 70 + matcher: 3-seq + score: '85.91' matched_length: 128 match_coverage: '85.91' - matcher: 3-seq - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_417.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_417.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_417.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -90,28 +99,32 @@ license_detections: The documentation is distributed under the terms of the GNU Free Documentation License ( - - score: '100.0' + - license_expression: gfdl-1.3 + spdx_license_expression: GFDL-1.3-only + from_file: start_line: 69 end_line: 70 + matcher: 2-aho + score: '100.0' matched_length: 16 match_coverage: '100.0' - matcher: 2-aho - license_expression: gfdl-1.3 - rule_identifier: gfdl-1.3_8.RULE rule_relevance: 100 + rule_identifier: gfdl-1.3_8.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gfdl-1.3_8.RULE matched_text: | The documentation is distributed under the terms of the GNU Free Documentation License (FDL 1.3): - - score: '100.0' + - license_expression: gfdl-1.3-plus + spdx_license_expression: GFDL-1.3-or-later + from_file: start_line: 74 end_line: 83 + matcher: 2-aho + score: '100.0' matched_length: 85 match_coverage: '100.0' - matcher: 2-aho - license_expression: gfdl-1.3-plus - rule_identifier: gfdl-1.3-plus_25.RULE rule_relevance: 100 + rule_identifier: gfdl-1.3-plus_25.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gfdl-1.3-plus_25.RULE matched_text: | Permission is granted to copy, distribute and/or modify this diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libtinfo6/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libtinfo6/copyright-detailed.expected.yml index b881920bf7..c8951da13e 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libtinfo6/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libtinfo6/copyright-detailed.expected.yml @@ -12,16 +12,19 @@ other_license_expression_spdx: X11-distribute-modifications-variant AND X11 AND license_detections: [] other_license_detections: - license_expression: x11-fsf + license_expression_spdx: X11-distribute-modifications-variant matches: - - score: '100.0' + - license_expression: x11-fsf + spdx_license_expression: X11-distribute-modifications-variant + from_file: start_line: 22 end_line: 44 + matcher: 1-hash + score: '100.0' matched_length: 200 match_coverage: '100.0' - matcher: 1-hash - license_expression: x11-fsf - rule_identifier: x11-fsf.LICENSE rule_relevance: 100 + rule_identifier: x11-fsf.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-fsf.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -49,16 +52,19 @@ other_license_detections: authorization. identifier: x11_fsf-5f3d72c2-fa6a-2f7b-b859-17e7567c1724 - license_expression: x11-xconsortium + license_expression_spdx: X11 matches: - - score: '100.0' + - license_expression: x11-xconsortium + spdx_license_expression: X11 + from_file: start_line: 47 end_line: 67 + matcher: 1-hash + score: '100.0' matched_length: 201 match_coverage: '100.0' - matcher: 1-hash - license_expression: x11-xconsortium - rule_identifier: x11-xconsortium_2.RULE rule_relevance: 100 + rule_identifier: x11-xconsortium_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -84,16 +90,19 @@ other_license_detections: tium. identifier: x11_xconsortium-8bc3e205-5f29-ecad-90bc-2f492c65be46 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 70 end_line: 92 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libtirpc-common/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libtirpc-common/copyright-detailed.expected.yml index 8d9a21415a..3342cccc69 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libtirpc-common/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libtirpc-common/copyright-detailed.expected.yml @@ -59,30 +59,36 @@ other_license_expression_spdx: BSD-3-Clause AND (GPL-2.0-only AND GPL-2.0-only) license_detections: [] other_license_detections: - license_expression: other-permissive AND free-unknown + license_expression_spdx: LicenseRef-scancode-other-permissive AND LicenseRef-scancode-free-unknown matches: - - score: '20.0' + - license_expression: other-permissive AND free-unknown + spdx_license_expression: LicenseRef-scancode-other-permissive AND LicenseRef-scancode-free-unknown + from_file: start_line: 105 end_line: 105 + matcher: 1-hash + score: '20.0' matched_length: 5 match_coverage: '100.0' - matcher: 1-hash - license_expression: other-permissive AND free-unknown - rule_identifier: other-permissive_and_free-unknown_2.RULE rule_relevance: 20 + rule_identifier: other-permissive_and_free-unknown_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_and_free-unknown_2.RULE matched_text: Autogenerated files with permissive licenses. identifier: other_permissive_and_free_unknown-27992f80-dbd8-9f3b-dff9-6668e7755e87 - license_expression: fsf-ap + license_expression_spdx: FSFAP matches: - - score: '100.0' + - license_expression: fsf-ap + spdx_license_expression: FSFAP + from_file: start_line: 164 end_line: 167 + matcher: 2-aho + score: '100.0' matched_length: 37 match_coverage: '100.0' - matcher: 2-aho - license_expression: fsf-ap - rule_identifier: fsf-ap_4.RULE rule_relevance: 100 + rule_identifier: fsf-ap_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/fsf-ap_4.RULE matched_text: | Copying and distribution of this file, with or without modification, @@ -91,16 +97,19 @@ other_license_detections: without warranty of any kind. identifier: fsf_ap-6e2950ec-5e19-6eae-7b74-d4a2741381b9 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 268 end_line: 289 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_232.RULE rule_relevance: 100 + rule_identifier: bsd-new_232.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_232.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -127,16 +136,19 @@ other_license_detections: POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-62d6d00f-e294-8c51-b9fd-49c538dab704 - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 292 end_line: 311 + matcher: 1-hash + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified - rule_identifier: bsd-simplified_27.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_27.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -161,16 +173,19 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_simplified-24fb2214-fe65-fd01-a4db-75b7cf8d710c - license_expression: bsd-original + license_expression_spdx: BSD-4-Clause matches: - - score: '100.0' + - license_expression: bsd-original + spdx_license_expression: BSD-4-Clause + from_file: start_line: 314 end_line: 339 + matcher: 1-hash + score: '100.0' matched_length: 238 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-original - rule_identifier: bsd-original_73.RULE rule_relevance: 100 + rule_identifier: bsd-original_73.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original_73.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -201,27 +216,32 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_original-ffd27aa7-cc91-73e6-a26b-33d54d6ce704 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 341 end_line: 341 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 342 end_line: 348 + matcher: 1-hash + score: '100.0' matched_length: 75 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_386.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_386.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_386.RULE matched_text: | This file is distributed under the terms of the GNU Lesser General @@ -233,27 +253,32 @@ other_license_detections: Version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. identifier: lgpl_2_1_plus-8f614c1b-3863-2a23-eef2-e2645bc5ef8a - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 350 end_line: 350 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 351 end_line: 365 + matcher: 1-hash + score: '100.0' matched_length: 125 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1189.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1189.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1189.RULE matched_text: | This program is free software; you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libudev1/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libudev1/copyright-detailed.expected.yml index 175fe0c59c..8facace882 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libudev1/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libudev1/copyright-detailed.expected.yml @@ -27,32 +27,38 @@ other_license_expression_spdx: (LGPL-2.1-or-later AND LGPL-2.1-or-later) AND (CC license_detections: [] other_license_detections: - license_expression: public-domain-disclaimer + license_expression_spdx: LicenseRef-scancode-public-domain-disclaimer matches: - - score: '100.0' + - license_expression: public-domain-disclaimer + spdx_license_expression: LicenseRef-scancode-public-domain-disclaimer + from_file: start_line: 77 end_line: 78 + matcher: 1-hash + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain-disclaimer - rule_identifier: public-domain-disclaimer_7.RULE rule_relevance: 100 + rule_identifier: public-domain-disclaimer_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain-disclaimer_7.RULE matched_text: | You can use this free for any purpose. It's in the public domain. It has no warranty. identifier: public_domain_disclaimer-8e235ed9-5a49-0bba-be41-0bb35f0779c9 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 150 end_line: 166 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -74,27 +80,32 @@ other_license_detections: IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 168 end_line: 168 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 169 end_line: 184 + matcher: 1-hash + score: '100.0' matched_length: 132 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1292.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1292.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1292.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -115,16 +126,19 @@ other_license_detections: `/usr/share/common-licenses/GPL-2` identifier: gpl_2_0-0acbb9ac-a862-7099-0f33-caefbf2d141b - license_expression: gpl-2.0 WITH linux-syscall-exception-gpl + license_expression_spdx: GPL-2.0-only WITH Linux-syscall-note matches: - - score: '100.0' + - license_expression: gpl-2.0 WITH linux-syscall-exception-gpl + spdx_license_expression: GPL-2.0-only WITH Linux-syscall-note + from_file: start_line: 187 end_line: 215 + matcher: 1-hash + score: '100.0' matched_length: 242 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 WITH linux-syscall-exception-gpl - rule_identifier: gpl-2.0_with_linux-syscall-exception-gpl_9.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_with_linux-syscall-exception-gpl_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_with_linux-syscall-exception-gpl_9.RULE matched_text: | NOTE! This copyright does *not* cover user programs that use kernel services @@ -158,27 +172,32 @@ other_license_detections: `/usr/share/common-licenses/GPL-2` identifier: gpl_2_0_with_linux_syscall_exception_gpl-1465edb5-6e2a-792a-cbbe-8a910dd31c7c - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 217 end_line: 217 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 218 end_line: 233 + matcher: 1-hash + score: '100.0' matched_length: 134 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_737.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_737.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_737.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -199,27 +218,32 @@ other_license_detections: version 2 can be found in ‘/usr/share/common-licenses/GPL-2’. identifier: gpl_2_0_plus-b1b987d4-03d4-5eb8-154c-7c270ba63c44 - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 235 end_line: 235 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 236 end_line: 251 + matcher: 1-hash + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_344.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_344.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_344.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -240,27 +264,32 @@ other_license_detections: License version 2.1 can be found in ‘/usr/share/common-licenses/LGPL-2.1’. identifier: lgpl_2_1_plus-920f52f3-7de9-6f8b-d6c2-998167ded0bd - license_expression: cc0-1.0 + license_expression_spdx: CC0-1.0 matches: - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 253 end_line: 253 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_12.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_12.RULE matched_text: 'License: cc0-1.0' - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 254 end_line: 262 + matcher: 1-hash + score: '100.0' matched_length: 82 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_153.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_153.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_153.RULE matched_text: | To the extent possible under law, the author(s) have dedicated all copyright diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libunistring2/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libunistring2/copyright-detailed.expected.yml index ace3c9b831..b18f48e091 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libunistring2/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libunistring2/copyright-detailed.expected.yml @@ -28,16 +28,19 @@ other_license_expression_spdx: ((LGPL-3.0-or-later AND LGPL-3.0-or-later) OR (GP license_detections: [] other_license_detections: - license_expression: fsf-unlimited + license_expression_spdx: FSFULLR matches: - - score: '100.0' + - license_expression: fsf-unlimited + spdx_license_expression: FSFULLR + from_file: start_line: 13 end_line: 15 + matcher: 1-hash + score: '100.0' matched_length: 29 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-unlimited - rule_identifier: fsf-unlimited.LICENSE rule_relevance: 100 + rule_identifier: fsf-unlimited.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-unlimited.LICENSE matched_text: | This file is free software; the Free Software Foundation @@ -45,16 +48,19 @@ other_license_detections: with or without modifications, as long as this notice is preserved. identifier: fsf_unlimited-ed3d6762-95f0-131d-94c5-834f10d192a2 - license_expression: gpl-1.0-plus WITH autoconf-simple-exception-2.0 + license_expression_spdx: GPL-1.0-or-later WITH Autoconf-exception-generic matches: - - score: '100.0' + - license_expression: gpl-1.0-plus WITH autoconf-simple-exception-2.0 + spdx_license_expression: GPL-1.0-or-later WITH Autoconf-exception-generic + from_file: start_line: 21 end_line: 25 + matcher: 1-hash + score: '100.0' matched_length: 50 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus WITH autoconf-simple-exception-2.0 - rule_identifier: gpl-1.0-plus_with_autoconf-simple-exception-2.0_2.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_with_autoconf-simple-exception-2.0_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_with_autoconf-simple-exception-2.0_2.RULE matched_text: | This file is free software, distributed under the terms of the GNU @@ -64,27 +70,32 @@ other_license_detections: the same distribution terms as the rest of that program. identifier: gpl_1_0_plus_with_autoconf_simple_exception_2_0-6a19dac0-e138-7f0e-ca21-89dc117a7e0f - license_expression: lgpl-3.0-plus + license_expression_spdx: LGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 54 end_line: 54 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_166.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE matched_text: 'License: lgpl-3+' - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 55 end_line: 70 + matcher: 1-hash + score: '100.0' matched_length: 132 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_244.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_244.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_244.RULE matched_text: | This program is free software: you can redistribute it and/or modify it @@ -105,27 +116,32 @@ other_license_detections: `/usr/share/common-licenses/LGPL-3'. identifier: lgpl_3_0_plus-d7b6c887-6211-0903-f8ad-e6e5dc712314 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 72 end_line: 72 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 73 end_line: 88 + matcher: 1-hash + score: '100.0' matched_length: 128 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_484.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_484.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_484.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -146,27 +162,32 @@ other_license_detections: `/usr/share/common-licenses/GPL-3'. identifier: gpl_3_0_plus-e01996f2-fa09-b18f-a191-a739321c386b - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 90 end_line: 90 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 91 end_line: 108 + matcher: 1-hash + score: '100.0' matched_length: 136 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_990.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_990.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_990.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -189,27 +210,32 @@ other_license_detections: `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus-fcabb036-b3ee-63af-5c15-3fe810c2496c - license_expression: gfdl-1.2-plus + license_expression_spdx: GFDL-1.2-or-later matches: - - score: '100.0' + - license_expression: gfdl-1.2-plus + spdx_license_expression: GFDL-1.2-or-later + from_file: start_line: 110 end_line: 110 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: gfdl-1.2-plus - rule_identifier: debian_common_gfdl-1.2-plus.RULE rule_relevance: 100 + rule_identifier: debian_common_gfdl-1.2-plus.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/debian_common_gfdl-1.2-plus.RULE matched_text: 'License: gfdl-1.2+' - - score: '100.0' + - license_expression: gfdl-1.2-plus + spdx_license_expression: GFDL-1.2-or-later + from_file: start_line: 111 end_line: 120 + matcher: 1-hash + score: '100.0' matched_length: 93 match_coverage: '100.0' - matcher: 1-hash - license_expression: gfdl-1.2-plus - rule_identifier: gfdl-1.2-plus_21.RULE rule_relevance: 100 + rule_identifier: gfdl-1.2-plus_21.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gfdl-1.2-plus_21.RULE matched_text: | This manual is covered by the GNU FDL. Permission is granted to @@ -224,16 +250,19 @@ other_license_detections: `/usr/share/common-licenses/GFDL-1.2'. identifier: gfdl_1_2_plus-f62b1529-66dc-7c29-62a0-2cfdedf5195d - license_expression: x11-xconsortium + license_expression_spdx: X11 matches: - - score: '100.0' + - license_expression: x11-xconsortium + spdx_license_expression: X11 + from_file: start_line: 123 end_line: 143 + matcher: 1-hash + score: '100.0' matched_length: 201 match_coverage: '100.0' - matcher: 1-hash - license_expression: x11-xconsortium - rule_identifier: x11-xconsortium_2.RULE rule_relevance: 100 + rule_identifier: x11-xconsortium_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libuuid1/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libuuid1/copyright-detailed.expected.yml index d7254b30df..bc7191dbd7 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libuuid1/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libuuid1/copyright-detailed.expected.yml @@ -72,43 +72,51 @@ other_license_expression_spdx: (GPL-2.0-or-later AND GPL-2.0-or-later) AND (GPL- license_detections: [] other_license_detections: - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 345 end_line: 346 + matcher: 2-aho + score: '100.0' matched_length: 17 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_28.RULE rule_relevance: 100 + rule_identifier: public-domain_28.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_28.RULE matched_text: | No copyright is claimed. This code is in the public domain; do with it what you wish. identifier: public_domain-94c09237-25b0-ab6d-340e-62eae2b7eea9 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 350 end_line: 350 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 351 end_line: 365 + matcher: 1-hash + score: '100.0' matched_length: 125 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1189.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1189.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1189.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -128,27 +136,32 @@ other_license_detections: License version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-f0da9233-5233-7bfb-cd4d-15c9cbd6a410 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 367 end_line: 367 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 368 end_line: 383 + matcher: 1-hash + score: '100.0' matched_length: 137 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_906.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_906.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_906.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -169,27 +182,32 @@ other_license_detections: License version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus-389a73cc-676e-ecc6-075d-3774a1be9778 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 385 end_line: 385 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 386 end_line: 400 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_416.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_416.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_416.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -209,16 +227,19 @@ other_license_detections: License version 3 can be found in `/usr/share/common-licenses/GPL-3'. identifier: gpl_3_0_plus-6dd38d39-ae32-a5a3-58aa-6d4f4a3f1cdb - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 403 end_line: 410 + matcher: 1-hash + score: '100.0' matched_length: 70 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified - rule_identifier: bsd-simplified_264.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_264.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_264.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -231,16 +252,19 @@ other_license_detections: documentation and/or other materials provided with the distribution. identifier: bsd_simplified-523bd88c-42d2-11cb-3886-60be795149d1 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 413 end_line: 437 + matcher: 1-hash + score: '100.0' matched_length: 215 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_1063.RULE rule_relevance: 100 + rule_identifier: bsd-new_1063.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1063.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -270,16 +294,19 @@ other_license_detections: POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-e6286cfc-fd40-08e1-ed33-3c2c1bad1f07 - license_expression: bsd-original-uc + license_expression_spdx: BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 440 end_line: 466 + matcher: 1-hash + score: '100.0' matched_length: 243 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_3.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -311,27 +338,32 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_original_uc-f28cb4d4-6336-ee60-f186-4c1929d3a4b0 - license_expression: lgpl-2.0-plus AND lgpl-2.1-plus + license_expression_spdx: LGPL-2.0-or-later AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 468 end_line: 468 + matcher: 1-hash + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_51.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_51.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_51.RULE matched_text: 'License: lgpl' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 469 end_line: 473 + matcher: 1-hash + score: '100.0' matched_length: 37 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_345.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_345.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_345.RULE matched_text: | This file may be redistributed under the terms of the @@ -341,27 +373,32 @@ other_license_detections: License can be found in ‘/usr/share/common-licenses/LGPL’. identifier: lgpl_2_0_plus_and_lgpl_2_1_plus-ee535b08-2e62-57ac-9b69-0ee8b03bde15 - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 475 end_line: 475 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_61.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_61.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_61.RULE matched_text: 'License: lgpl-2+' - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 476 end_line: 490 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_477.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_477.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_477.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -381,27 +418,32 @@ other_license_detections: can be found in /usr/share/common-licenses/LGPL-2 file. identifier: lgpl_2_0_plus-8aa1c724-4bbb-dbb4-937d-77e7ac7027fe - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 492 end_line: 492 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 493 end_line: 508 + matcher: 1-hash + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_344.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_344.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_344.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -422,27 +464,32 @@ other_license_detections: License version 2.1 can be found in ‘/usr/share/common-licenses/LGPL-2.1’. identifier: lgpl_2_1_plus-920f52f3-7de9-6f8b-d6c2-998167ded0bd - license_expression: lgpl-3.0-plus + license_expression_spdx: LGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 510 end_line: 510 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_166.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE matched_text: 'License: lgpl-3+' - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 511 end_line: 525 + matcher: 1-hash + score: '100.0' matched_length: 127 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_206.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_206.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_206.RULE matched_text: | This package is free software; you can redistribute it and/or @@ -462,16 +509,19 @@ other_license_detections: Public License can be found in "/usr/share/common-licenses/LGPL-3". identifier: lgpl_3_0_plus-65e3f8ed-4734-2985-77a5-8c1ebf21d5a1 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 528 end_line: 546 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libxxhash0/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libxxhash0/copyright-detailed.expected.yml index 5c83371811..6f3b870c07 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libxxhash0/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libxxhash0/copyright-detailed.expected.yml @@ -12,16 +12,19 @@ other_license_expression_spdx: BSD-2-Clause AND (GPL-2.0-only AND GPL-2.0-or-lat license_detections: [] other_license_detections: - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 20 end_line: 39 + matcher: 1-hash + score: '100.0' matched_length: 183 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified - rule_identifier: bsd-simplified.LICENSE rule_relevance: 100 + rule_identifier: bsd-simplified.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-simplified.LICENSE matched_text: | Redistribution and use in source and binary forms, with or without modification, @@ -46,27 +49,32 @@ other_license_detections: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_simplified-a1deb97f-56cd-71ea-a95f-82477d400503 - license_expression: gpl-2.0 AND gpl-2.0-plus + license_expression_spdx: GPL-2.0-only AND GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 41 end_line: 41 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 42 end_line: 57 + matcher: 1-hash + score: '100.0' matched_length: 129 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_984.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_984.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_984.RULE matched_text: | This program is free software; you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libzstd1/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libzstd1/copyright-detailed.expected.yml index 08889f85a9..ed7883a267 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libzstd1/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libzstd1/copyright-detailed.expected.yml @@ -18,16 +18,19 @@ other_license_expression_spdx: (BSD-3-Clause AND (GPL-2.0-only AND GPL-2.0-only) license_detections: [] other_license_detections: - license_expression: zlib + license_expression_spdx: Zlib matches: - - score: '100.0' + - license_expression: zlib + spdx_license_expression: Zlib + from_file: start_line: 30 end_line: 44 + matcher: 1-hash + score: '100.0' matched_length: 132 match_coverage: '100.0' - matcher: 1-hash - license_expression: zlib - rule_identifier: zlib_81.RULE rule_relevance: 100 + rule_identifier: zlib_81.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_81.RULE matched_text: | This software is provided 'as-is', without any express or implied @@ -47,16 +50,19 @@ other_license_detections: 3. This notice may not be removed or altered from any source distribution. identifier: zlib-9a572338-50f0-922a-4ff5-942f61bbd11b - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 59 end_line: 77 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining @@ -80,27 +86,32 @@ other_license_detections: SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 79 end_line: 79 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 80 end_line: 94 + matcher: 1-hash + score: '100.0' matched_length: 125 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1189.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1189.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1189.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -120,16 +131,19 @@ other_license_detections: License version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-f0da9233-5233-7bfb-cd4d-15c9cbd6a410 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 97 end_line: 117 + matcher: 1-hash + score: '100.0' matched_length: 211 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_1273.RULE rule_relevance: 100 + rule_identifier: bsd-new_1273.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1273.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/login/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/login/copyright-detailed.expected.yml index 37a04d5d60..be0e8f0c90 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/login/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/login/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 20 end_line: 42 + matcher: 2-aho + score: '100.0' matched_length: 214 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_1373.RULE rule_relevance: 100 + rule_identifier: bsd-new_1373.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1373.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -42,16 +45,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-a12452d6-4cce-854f-824e-72aab36acfaf - license_expression: tcp-wrappers + license_expression_spdx: TCP-wrappers matches: - - score: '100.0' + - license_expression: tcp-wrappers + spdx_license_expression: TCP-wrappers + from_file: start_line: 72 end_line: 85 + matcher: 2-aho + score: '100.0' matched_length: 88 match_coverage: '100.0' - matcher: 2-aho - license_expression: tcp-wrappers - rule_identifier: tcp-wrappers_3.RULE rule_relevance: 100 + rule_identifier: tcp-wrappers_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/tcp-wrappers_3.RULE matched_text: "Individual files\n* may be covered by other copyrights (as noted in the\ \ file itself.)\n*\n* This material was originally written and compiled by Wietse\ @@ -63,16 +69,19 @@ license_detections: \ of\n* merchantibility and fitness for any particular purpose." identifier: tcp_wrappers-47a49a2d-71d2-76d4-0780-2d5c538898f7 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 92 end_line: 103 + matcher: 2-aho + score: '100.0' matched_length: 100 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_749.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_749.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_749.RULE matched_text: | This program is free software; you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/logsave/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/logsave/copyright-detailed.expected.yml index 6ca09097ea..6517e12a76 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/logsave/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/logsave/copyright-detailed.expected.yml @@ -7,16 +7,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0 AND lgpl-2.0 AND bsd-new AND mit-old-style-no-advert + license_expression_spdx: GPL-2.0-only AND LGPL-2.0-only AND BSD-3-Clause AND NTP matches: - - score: '99.02' + - license_expression: gpl-2.0 AND lgpl-2.0 AND bsd-new AND mit-old-style-no-advert + spdx_license_expression: GPL-2.0-only AND LGPL-2.0-only AND BSD-3-Clause AND NTP + from_file: start_line: 17 end_line: 30 + matcher: 3-seq + score: '99.02' matched_length: 101 match_coverage: '99.02' - matcher: 3-seq - license_expression: gpl-2.0 AND lgpl-2.0 AND bsd-new AND mit-old-style-no-advert - rule_identifier: gpl-2.0_and_lgpl-2.0_and_bsd-new_and_mit_1.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_and_lgpl-2.0_and_bsd-new_and_mit_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_and_lgpl-2.0_and_bsd-new_and_mit_1.RULE matched_text: "This package, the EXT2 filesystem utilities, are made available under\n\ the GNU General Public License version 2, with the exception of the\nlib/ext2fs and\ @@ -29,16 +32,19 @@ license_detections: \ The\ncomplete text of the GNU Library General Public License can be found\nin '/usr/share/common-licenses/LGPL-2'." identifier: gpl_2_0_and_lgpl_2_0_and_bsd_new_and_mit_old_style_no_advert-aed55561-0504-0265-5986-832cc7f7bbf2 - license_expression: ntp-0 AND bsd-new + license_expression_spdx: NTP-0 AND BSD-3-Clause matches: - - score: '100.0' + - license_expression: ntp-0 + spdx_license_expression: NTP-0 + from_file: start_line: 38 end_line: 45 + matcher: 2-aho + score: '100.0' matched_length: 85 match_coverage: '100.0' - matcher: 2-aho - license_expression: ntp-0 - rule_identifier: ntp-0.LICENSE rule_relevance: 100 + rule_identifier: ntp-0.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ntp-0.LICENSE matched_text: | Permission to use, copy, modify, and distribute this software and @@ -49,15 +55,17 @@ license_detections: M.I.T. S.I.P.B. make no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 49 end_line: 73 + matcher: 2-aho + score: '100.0' matched_length: 210 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_117.RULE rule_relevance: 100 + rule_identifier: bsd-new_117.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_117.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/lsb-base/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/lsb-base/copyright-detailed.expected.yml index aa839dd0ee..5de46cb8e8 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/lsb-base/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/lsb-base/copyright-detailed.expected.yml @@ -11,16 +11,19 @@ other_license_expression_spdx: (GPL-2.0-only AND GPL-2.0-only) AND (GPL-2.0-only license_detections: [] other_license_detections: - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 15 end_line: 37 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_1069.RULE rule_relevance: 100 + rule_identifier: bsd-new_1069.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1069.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -48,27 +51,32 @@ other_license_detections: IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-654c38c8-5c40-9a2f-451b-190141ab0a77 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 39 end_line: 39 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 40 end_line: 58 + matcher: 1-hash + score: '100.0' matched_length: 131 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1301.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1301.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1301.RULE matched_text: | This program is free software; you can redistribute it diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/mawk/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/mawk/copyright-detailed.expected.yml index 7b3682c77a..ec5f03ae9c 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/mawk/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/mawk/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '99.18' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: '19' end_line: 32 + matcher: 2-aho + score: '99.18' matched_length: 121 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1030.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1030.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1030.RULE matched_text: | This program is free software; you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/mount/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/mount/copyright-detailed.expected.yml index d7254b30df..bc7191dbd7 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/mount/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/mount/copyright-detailed.expected.yml @@ -72,43 +72,51 @@ other_license_expression_spdx: (GPL-2.0-or-later AND GPL-2.0-or-later) AND (GPL- license_detections: [] other_license_detections: - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 345 end_line: 346 + matcher: 2-aho + score: '100.0' matched_length: 17 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_28.RULE rule_relevance: 100 + rule_identifier: public-domain_28.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_28.RULE matched_text: | No copyright is claimed. This code is in the public domain; do with it what you wish. identifier: public_domain-94c09237-25b0-ab6d-340e-62eae2b7eea9 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 350 end_line: 350 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 351 end_line: 365 + matcher: 1-hash + score: '100.0' matched_length: 125 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1189.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1189.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1189.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -128,27 +136,32 @@ other_license_detections: License version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-f0da9233-5233-7bfb-cd4d-15c9cbd6a410 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 367 end_line: 367 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 368 end_line: 383 + matcher: 1-hash + score: '100.0' matched_length: 137 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_906.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_906.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_906.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -169,27 +182,32 @@ other_license_detections: License version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus-389a73cc-676e-ecc6-075d-3774a1be9778 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 385 end_line: 385 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 386 end_line: 400 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_416.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_416.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_416.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -209,16 +227,19 @@ other_license_detections: License version 3 can be found in `/usr/share/common-licenses/GPL-3'. identifier: gpl_3_0_plus-6dd38d39-ae32-a5a3-58aa-6d4f4a3f1cdb - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 403 end_line: 410 + matcher: 1-hash + score: '100.0' matched_length: 70 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified - rule_identifier: bsd-simplified_264.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_264.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_264.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -231,16 +252,19 @@ other_license_detections: documentation and/or other materials provided with the distribution. identifier: bsd_simplified-523bd88c-42d2-11cb-3886-60be795149d1 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 413 end_line: 437 + matcher: 1-hash + score: '100.0' matched_length: 215 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_1063.RULE rule_relevance: 100 + rule_identifier: bsd-new_1063.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1063.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -270,16 +294,19 @@ other_license_detections: POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-e6286cfc-fd40-08e1-ed33-3c2c1bad1f07 - license_expression: bsd-original-uc + license_expression_spdx: BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 440 end_line: 466 + matcher: 1-hash + score: '100.0' matched_length: 243 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_3.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -311,27 +338,32 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_original_uc-f28cb4d4-6336-ee60-f186-4c1929d3a4b0 - license_expression: lgpl-2.0-plus AND lgpl-2.1-plus + license_expression_spdx: LGPL-2.0-or-later AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 468 end_line: 468 + matcher: 1-hash + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_51.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_51.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_51.RULE matched_text: 'License: lgpl' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 469 end_line: 473 + matcher: 1-hash + score: '100.0' matched_length: 37 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_345.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_345.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_345.RULE matched_text: | This file may be redistributed under the terms of the @@ -341,27 +373,32 @@ other_license_detections: License can be found in ‘/usr/share/common-licenses/LGPL’. identifier: lgpl_2_0_plus_and_lgpl_2_1_plus-ee535b08-2e62-57ac-9b69-0ee8b03bde15 - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 475 end_line: 475 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_61.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_61.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_61.RULE matched_text: 'License: lgpl-2+' - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 476 end_line: 490 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_477.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_477.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_477.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -381,27 +418,32 @@ other_license_detections: can be found in /usr/share/common-licenses/LGPL-2 file. identifier: lgpl_2_0_plus-8aa1c724-4bbb-dbb4-937d-77e7ac7027fe - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 492 end_line: 492 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 493 end_line: 508 + matcher: 1-hash + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_344.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_344.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_344.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -422,27 +464,32 @@ other_license_detections: License version 2.1 can be found in ‘/usr/share/common-licenses/LGPL-2.1’. identifier: lgpl_2_1_plus-920f52f3-7de9-6f8b-d6c2-998167ded0bd - license_expression: lgpl-3.0-plus + license_expression_spdx: LGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 510 end_line: 510 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_166.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE matched_text: 'License: lgpl-3+' - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 511 end_line: 525 + matcher: 1-hash + score: '100.0' matched_length: 127 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_206.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_206.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_206.RULE matched_text: | This package is free software; you can redistribute it and/or @@ -462,16 +509,19 @@ other_license_detections: Public License can be found in "/usr/share/common-licenses/LGPL-3". identifier: lgpl_3_0_plus-65e3f8ed-4734-2985-77a5-8c1ebf21d5a1 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 528 end_line: 546 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/ncurses-base/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/ncurses-base/copyright-detailed.expected.yml index b881920bf7..c8951da13e 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/ncurses-base/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/ncurses-base/copyright-detailed.expected.yml @@ -12,16 +12,19 @@ other_license_expression_spdx: X11-distribute-modifications-variant AND X11 AND license_detections: [] other_license_detections: - license_expression: x11-fsf + license_expression_spdx: X11-distribute-modifications-variant matches: - - score: '100.0' + - license_expression: x11-fsf + spdx_license_expression: X11-distribute-modifications-variant + from_file: start_line: 22 end_line: 44 + matcher: 1-hash + score: '100.0' matched_length: 200 match_coverage: '100.0' - matcher: 1-hash - license_expression: x11-fsf - rule_identifier: x11-fsf.LICENSE rule_relevance: 100 + rule_identifier: x11-fsf.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-fsf.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a @@ -49,16 +52,19 @@ other_license_detections: authorization. identifier: x11_fsf-5f3d72c2-fa6a-2f7b-b859-17e7567c1724 - license_expression: x11-xconsortium + license_expression_spdx: X11 matches: - - score: '100.0' + - license_expression: x11-xconsortium + spdx_license_expression: X11 + from_file: start_line: 47 end_line: 67 + matcher: 1-hash + score: '100.0' matched_length: 201 match_coverage: '100.0' - matcher: 1-hash - license_expression: x11-xconsortium - rule_identifier: x11-xconsortium_2.RULE rule_relevance: 100 + rule_identifier: x11-xconsortium_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -84,16 +90,19 @@ other_license_detections: tium. identifier: x11_xconsortium-8bc3e205-5f29-ecad-90bc-2f492c65be46 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 70 end_line: 92 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, with or without diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/passwd/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/passwd/copyright-detailed.expected.yml index 37a04d5d60..be0e8f0c90 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/passwd/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/passwd/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 20 end_line: 42 + matcher: 2-aho + score: '100.0' matched_length: 214 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_1373.RULE rule_relevance: 100 + rule_identifier: bsd-new_1373.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1373.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -42,16 +45,19 @@ license_detections: SUCH DAMAGE. identifier: bsd_new-a12452d6-4cce-854f-824e-72aab36acfaf - license_expression: tcp-wrappers + license_expression_spdx: TCP-wrappers matches: - - score: '100.0' + - license_expression: tcp-wrappers + spdx_license_expression: TCP-wrappers + from_file: start_line: 72 end_line: 85 + matcher: 2-aho + score: '100.0' matched_length: 88 match_coverage: '100.0' - matcher: 2-aho - license_expression: tcp-wrappers - rule_identifier: tcp-wrappers_3.RULE rule_relevance: 100 + rule_identifier: tcp-wrappers_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/tcp-wrappers_3.RULE matched_text: "Individual files\n* may be covered by other copyrights (as noted in the\ \ file itself.)\n*\n* This material was originally written and compiled by Wietse\ @@ -63,16 +69,19 @@ license_detections: \ of\n* merchantibility and fitness for any particular purpose." identifier: tcp_wrappers-47a49a2d-71d2-76d4-0780-2d5c538898f7 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 92 end_line: 103 + matcher: 2-aho + score: '100.0' matched_length: 100 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_749.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_749.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_749.RULE matched_text: | This program is free software; you can redistribute it and/or modify diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/perl-base/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/perl-base/copyright-detailed.expected.yml index 03125163e9..26870fc373 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/perl-base/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/perl-base/copyright-detailed.expected.yml @@ -701,81 +701,96 @@ other_license_expression_spdx: ((GPL-1.0-or-later AND GPL-1.0-only) OR (Artistic license_detections: [] other_license_detections: - license_expression: lgpl-2.1 + license_expression_spdx: LGPL-2.1-only matches: - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 2025 end_line: 2025 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_38.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_38.RULE matched_text: 'License: lgpl-2.1' - - score: '100.0' + - license_expression: lgpl-2.1 + spdx_license_expression: LGPL-2.1-only + from_file: start_line: 2026 end_line: 2027 + matcher: 1-hash + score: '100.0' matched_length: 25 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1 - rule_identifier: lgpl-2.1_249.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1_249.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_249.RULE matched_text: | On Debian GNU/Linux systems, the complete text of the LGPL 2.1 license can be found in `/usr/share/common-licenses/LGPL-2.1'. identifier: lgpl_2_1-25729df7-c7a2-c465-4e3a-95c8bbfa2166 - license_expression: gpl-1.0-plus AND gpl-1.0 + license_expression_spdx: GPL-1.0-or-later AND GPL-1.0-only matches: - - score: '100.0' + - license_expression: gpl-1.0-plus + spdx_license_expression: GPL-1.0-or-later + from_file: start_line: 2029 end_line: 2029 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus - rule_identifier: gpl-1.0-plus_395.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_395.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_395.RULE matched_text: 'License: gpl-1+' - - score: '100.0' + - license_expression: gpl-1.0 + spdx_license_expression: GPL-1.0-only + from_file: start_line: 2030 end_line: 2031 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0 - rule_identifier: gpl-1.0_38.RULE rule_relevance: 100 + rule_identifier: gpl-1.0_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0_38.RULE matched_text: | On Debian GNU/Linux systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-1'. identifier: gpl_1_0_plus_and_gpl_1_0-6a152a01-a4b1-59a8-bc68-c255f8f729e1 - license_expression: gpl-2.0-plus AND gpl-2.0 + license_expression_spdx: GPL-2.0-or-later AND GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 2033 end_line: 2033 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 2034 end_line: 2036 + matcher: 1-hash + score: '100.0' matched_length: 27 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1040.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1040.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1040.RULE matched_text: | On Debian GNU/Linux systems, the complete text of version 2 of @@ -783,43 +798,51 @@ other_license_detections: `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus_and_gpl_2_0-592736dd-25b8-8a93-9c9d-661b18b9e615 - license_expression: artistic-perl-1.0 + license_expression_spdx: Artistic-1.0-Perl matches: - - score: '99.0' + - license_expression: artistic-perl-1.0 + spdx_license_expression: Artistic-1.0-Perl + from_file: start_line: 2038 end_line: 2038 + matcher: 1-hash + score: '99.0' matched_length: 2 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 - rule_identifier: artistic-perl-1.0_26.RULE rule_relevance: 99 + rule_identifier: artistic-perl-1.0_26.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_26.RULE matched_text: 'License: artistic' - - score: '100.0' + - license_expression: artistic-perl-1.0 + spdx_license_expression: Artistic-1.0-Perl + from_file: start_line: 2039 end_line: 2040 + matcher: 1-hash + score: '100.0' matched_length: 21 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 - rule_identifier: artistic-perl-1.0_2.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_2.RULE matched_text: | On Debian GNU/Linux systems, the complete text of the Artistic Licence can be found in `/usr/share/common-licenses/Artistic'. identifier: artistic_perl_1_0-28364b45-8110-28fe-aee5-cb6a37853295 - license_expression: artistic-2.0 + license_expression_spdx: Artistic-2.0 matches: - - score: '100.0' + - license_expression: artistic-2.0 + spdx_license_expression: Artistic-2.0 + from_file: start_line: 2043 end_line: 2224 + matcher: 1-hash + score: '100.0' matched_length: 1354 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-2.0 - rule_identifier: artistic-2.0_36.RULE rule_relevance: 100 + rule_identifier: artistic-2.0_36.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_36.RULE matched_text: | Copyright (c) 2000-2006, The Perl Foundation. @@ -1006,16 +1029,19 @@ other_license_detections: OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: artistic_2_0-bc78b6a9-7dba-285f-7e81-1b30d7b5e445 - license_expression: bzip2-libbzip-2010 + license_expression_spdx: bzip2-1.0.6 matches: - - score: '100.0' + - license_expression: bzip2-libbzip-2010 + spdx_license_expression: bzip2-1.0.6 + from_file: start_line: 2227 end_line: 2256 + matcher: 2-aho + score: '100.0' matched_length: 233 match_coverage: '100.0' - matcher: 2-aho - license_expression: bzip2-libbzip-2010 - rule_identifier: bzip2-libbzip-2010.LICENSE rule_relevance: 100 + rule_identifier: bzip2-libbzip-2010.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bzip2-libbzip-2010.LICENSE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1050,16 +1076,19 @@ other_license_detections: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bzip2_libbzip_2010-72b4db44-6142-9aeb-acd2-1d8f2447148c - license_expression: zlib + license_expression_spdx: Zlib matches: - - score: '100.0' + - license_expression: zlib + spdx_license_expression: Zlib + from_file: start_line: 2262 end_line: 2276 + matcher: 1-hash + score: '100.0' matched_length: 132 match_coverage: '100.0' - matcher: 1-hash - license_expression: zlib - rule_identifier: zlib.LICENSE rule_relevance: 100 + rule_identifier: zlib.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE matched_text: | This software is provided 'as-is', without any express or implied @@ -1079,16 +1108,19 @@ other_license_detections: 3. This notice may not be removed or altered from any source distribution. identifier: zlib-f32ae987-c66a-44ce-bd13-c90e0c59aab8 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 2279 end_line: 2295 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy @@ -1110,16 +1142,19 @@ other_license_detections: DEALINGS IN THE SOFTWARE. identifier: mit-cacd5c0c-204a-85c2-affc-e4c125b2492a - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 2298 end_line: 2320 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_42.RULE rule_relevance: 100 + rule_identifier: bsd-new_42.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_42.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1147,16 +1182,19 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_new-fe71ef21-9657-e8d8-ad75-ddd776ac9710 - license_expression: bsd-original + license_expression_spdx: BSD-4-Clause matches: - - score: '98.25' + - license_expression: bsd-original + spdx_license_expression: BSD-4-Clause + from_file: start_line: 2323 end_line: 2349 + matcher: 1-hash + score: '98.25' matched_length: 224 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-original - rule_identifier: bsd-original_80.RULE rule_relevance: 100 + rule_identifier: bsd-original_80.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original_80.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1188,16 +1226,19 @@ other_license_detections: EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_original-3dc9cdcb-7881-5f58-5eb0-abe40fe6974d - license_expression: unicode-dfs-2015 + license_expression_spdx: Unicode-DFS-2015 matches: - - score: '99.57' + - license_expression: unicode-dfs-2015 + spdx_license_expression: Unicode-DFS-2015 + from_file: start_line: 2353 end_line: 2407 + matcher: 3-seq + score: '99.57' matched_length: 468 match_coverage: '99.57' - matcher: 3-seq - license_expression: unicode-dfs-2015 - rule_identifier: unicode-dfs-2015_9.RULE rule_relevance: 100 + rule_identifier: unicode-dfs-2015_9.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unicode-dfs-2015_9.RULE matched_text: | UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE @@ -1257,16 +1298,19 @@ other_license_detections: prior written authorization of the copyright holder. identifier: unicode_dfs_2015-a68362d0-e886-6936-9f94-af7247f63c6f - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 2410 end_line: 2432 + matcher: 1-hash + score: '100.0' matched_length: 207 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_313.RULE rule_relevance: 100 + rule_identifier: bsd-new_313.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_313.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1294,16 +1338,19 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_new-df1e02c8-d8f1-e983-3d20-fffa0788153b - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 2435 end_line: 2457 + matcher: 1-hash + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_19.RULE rule_relevance: 100 + rule_identifier: bsd-new_19.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1331,16 +1378,19 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_new-ccc98c3a-92d4-e7a3-e0ba-798328cb6b98 - license_expression: regexp + license_expression_spdx: Spencer-86 matches: - - score: '100.0' + - license_expression: regexp + spdx_license_expression: Spencer-86 + from_file: start_line: 2460 end_line: 2472 + matcher: 1-hash + score: '100.0' matched_length: 88 match_coverage: '100.0' - matcher: 1-hash - license_expression: regexp - rule_identifier: regexp.LICENSE rule_relevance: 100 + rule_identifier: regexp.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/regexp.LICENSE matched_text: | Permission is granted to anyone to use this software for any @@ -1358,16 +1408,19 @@ other_license_detections: be misrepresented as being the original software. identifier: regexp-80089f45-0a6c-4f30-e4b6-24334a206225 - license_expression: ttwl + license_expression_spdx: TTWL matches: - - score: '100.0' + - license_expression: ttwl + spdx_license_expression: TTWL + from_file: start_line: 2475 end_line: 2479 + matcher: 1-hash + score: '100.0' matched_length: 43 match_coverage: '100.0' - matcher: 1-hash - license_expression: ttwl - rule_identifier: ttwl.LICENSE rule_relevance: 100 + rule_identifier: ttwl.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/ttwl.LICENSE matched_text: | This module may be modified, used, copied, and redistributed at your own risk. @@ -1377,79 +1430,94 @@ other_license_detections: unless it passes the unmodified Text::Tabs test suite. identifier: ttwl-eeadd029-25f0-a4b1-0af8-c75212d02135 - license_expression: other-copyleft + license_expression_spdx: LicenseRef-scancode-other-copyleft matches: - - score: '90.0' + - license_expression: other-copyleft + spdx_license_expression: LicenseRef-scancode-other-copyleft + from_file: start_line: 2482 end_line: 2483 + matcher: 1-hash + score: '90.0' matched_length: '19' match_coverage: '100.0' - matcher: 1-hash - license_expression: other-copyleft - rule_identifier: other-copyleft_4.RULE rule_relevance: 90 + rule_identifier: other-copyleft_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-copyleft_4.RULE matched_text: | Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. identifier: other_copyleft-0ac0d4dd-1063-c305-80e8-d67a64a53eaf - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 2489 end_line: 2489 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_45.RULE rule_relevance: 100 + rule_identifier: public-domain_45.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_45.RULE matched_text: placed in the public domain. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 2494 end_line: 2494 + matcher: 2-aho + score: '100.0' matched_length: 5 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_285.RULE rule_relevance: 100 + rule_identifier: public-domain_285.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_285.RULE matched_text: is in the public domain, - - score: '70.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 2495 end_line: 2495 + matcher: 2-aho + score: '70.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_bare_words.RULE rule_relevance: 70 + rule_identifier: public-domain_bare_words.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE matched_text: public-domain - - score: '70.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 2504 end_line: 2504 + matcher: 2-aho + score: '70.0' matched_length: 2 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_bare_words.RULE rule_relevance: 70 + rule_identifier: public-domain_bare_words.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE matched_text: public domain identifier: public_domain-d6560563-b3c0-65ee-7cca-7225d652d54d - license_expression: gpl-3.0-plus WITH bison-exception-2.2 + license_expression_spdx: GPL-3.0-or-later WITH Bison-exception-2.2 matches: - - score: '100.0' + - license_expression: gpl-3.0-plus WITH bison-exception-2.2 + spdx_license_expression: GPL-3.0-or-later WITH Bison-exception-2.2 + from_file: start_line: 2508 end_line: 2532 + matcher: 1-hash + score: '100.0' matched_length: 208 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus WITH bison-exception-2.2 - rule_identifier: gpl-3.0-plus_with_bison-exception-3.0_1.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_with_bison-exception-3.0_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_with_bison-exception-3.0_1.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -1479,16 +1547,19 @@ other_license_detections: version 2.2 of Bison. identifier: gpl_3_0_plus_with_bison_exception_2_2-637d6c30-89c5-8764-b189-8bb20227ccfc - license_expression: paul-hsieh-derivative + license_expression_spdx: LicenseRef-scancode-paul-hsieh-derivative matches: - - score: '100.0' + - license_expression: paul-hsieh-derivative + spdx_license_expression: LicenseRef-scancode-paul-hsieh-derivative + from_file: start_line: 2535 end_line: 2550 + matcher: 1-hash + score: '100.0' matched_length: 121 match_coverage: '100.0' - matcher: 1-hash - license_expression: paul-hsieh-derivative - rule_identifier: paul-hsieh-derivative_1.RULE rule_relevance: 100 + rule_identifier: paul-hsieh-derivative_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/paul-hsieh-derivative_1.RULE matched_text: | The derivative content includes raw computer source code, ideas, @@ -1509,16 +1580,19 @@ other_license_detections: is not necessary. identifier: paul_hsieh_derivative-227e82af-732d-87b3-eb2c-9409d183d572 - license_expression: bsd-x11 + license_expression_spdx: LicenseRef-scancode-bsd-x11 matches: - - score: '99.0' + - license_expression: bsd-x11 + spdx_license_expression: LicenseRef-scancode-bsd-x11 + from_file: start_line: 2556 end_line: 2581 + matcher: 2-aho + score: '99.0' matched_length: 217 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-x11 - rule_identifier: bsd-x11_10.RULE rule_relevance: 99 + rule_identifier: bsd-x11_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-x11_10.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -1549,27 +1623,32 @@ other_license_detections: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_x11-53db30c9-af29-3609-e3c2-f3c4ac87fabe - license_expression: cc0-1.0 + license_expression_spdx: CC0-1.0 matches: - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 2583 end_line: 2583 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_12.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_12.RULE matched_text: 'License: cc0-1.0' - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 2584 end_line: 2703 + matcher: 1-hash + score: '100.0' matched_length: 981 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_155.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_155.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_155.RULE matched_text: | Statatement of Purpose @@ -1694,16 +1773,19 @@ other_license_detections: to this CC0 or use of the Work. identifier: cc0_1_0-d16cc04e-8802-8225-9e6f-0fb92bcba694 - license_expression: fsf-ap + license_expression_spdx: FSFAP matches: - - score: '100.0' + - license_expression: fsf-ap + spdx_license_expression: FSFAP + from_file: start_line: 2710 end_line: 2713 + matcher: 1-hash + score: '100.0' matched_length: 35 match_coverage: '100.0' - matcher: 1-hash - license_expression: fsf-ap - rule_identifier: fsf-ap.LICENSE rule_relevance: 100 + rule_identifier: fsf-ap.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/fsf-ap.LICENSE matched_text: | Copying and distribution of this file, with or without modification, are @@ -1712,16 +1794,19 @@ other_license_detections: warranty. identifier: fsf_ap-a7d380d0-4462-458a-36c1-1852bdcbf538 - license_expression: artistic-dist-1.0 + license_expression_spdx: LicenseRef-scancode-artistic-1988-1.0 matches: - - score: '100.0' + - license_expression: artistic-dist-1.0 + spdx_license_expression: LicenseRef-scancode-artistic-1988-1.0 + from_file: start_line: 2716 end_line: 2840 + matcher: 1-hash + score: '100.0' matched_length: 947 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-dist-1.0 - rule_identifier: artistic-dist-1.0.LICENSE rule_relevance: 100 + rule_identifier: artistic-dist-1.0.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/artistic-dist-1.0.LICENSE matched_text: | The "Artistic License" @@ -1851,16 +1936,19 @@ other_license_detections: The End identifier: artistic_dist_1_0-c8a5103b-b244-055a-58c3-4fd73f491e6a - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 22 end_line: 29 + matcher: 2-aho + score: '100.0' matched_length: 49 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_17.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_17.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_17.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -1873,118 +1961,142 @@ other_license_detections: b) the "Artistic License" which comes with Perl. identifier: gpl_1_0_plus_or_artistic_perl_1_0-95ef4a7b-575e-74fe-2260-6fb5805fd955 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 49 end_line: 49 + matcher: 1-hash + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_12.RULE matched_text: This file is a part of Perl itself, licensed as above. identifier: gpl_1_0_plus_or_artistic_perl_1_0-fd15e46d-ac77-acdb-3f93-0d54ee03a1b7 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 56 end_line: 56 + matcher: 1-hash + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_12.RULE matched_text: This file is a part of Perl itself, licensed as above. identifier: gpl_1_0_plus_or_artistic_perl_1_0-fd15e46d-ac77-acdb-3f93-0d54ee03a1b7 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 64 end_line: 64 + matcher: 1-hash + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_12.RULE matched_text: This file is a part of Perl itself, licensed as above. identifier: gpl_1_0_plus_or_artistic_perl_1_0-fd15e46d-ac77-acdb-3f93-0d54ee03a1b7 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 74 end_line: 74 + matcher: 2-aho + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_12.RULE matched_text: This file is a part of Perl itself, licensed as above. identifier: gpl_1_0_plus_or_artistic_perl_1_0-fd15e46d-ac77-acdb-3f93-0d54ee03a1b7 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 105 end_line: 106 + matcher: 2-aho + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 118 end_line: 119 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_4.RULE matched_text: | This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-abf4b96c-fc73-c8e3-29cd-08cded8bef2c - license_expression: unicode + license_expression_spdx: LicenseRef-scancode-unicode matches: - - score: '100.0' + - license_expression: unicode + spdx_license_expression: LicenseRef-scancode-unicode + from_file: start_line: 147 end_line: 147 + matcher: 2-aho + score: '100.0' matched_length: 13 match_coverage: '100.0' - matcher: 2-aho - license_expression: unicode - rule_identifier: unicode_14.RULE rule_relevance: 100 + rule_identifier: unicode_14.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unicode_14.RULE matched_text: For terms of use, see http://www.unicode.org/terms_of_use.html identifier: unicode-694376d5-aeeb-e4bc-a4e1-095d162d3862 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 157 end_line: 159 + matcher: 1-hash + score: '100.0' matched_length: 40 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_26.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_26.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_26.RULE matched_text: | This library is free software; you can redistribute it and/or modify @@ -1992,278 +2104,332 @@ other_license_detections: at your option, any later version of Perl 5 you may have available. identifier: artistic_perl_1_0_or_gpl_1_0_plus-c184d674-b309-2d8f-2170-8340d9b74afc - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 167 end_line: 168 + matcher: 1-hash + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_47.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_47.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_47.RULE matched_text: | This module is free software; you can redistribute and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-32b9c99f-78d4-e645-c66f-2f10debb1d78 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 175 end_line: 176 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 183 end_line: 183 + matcher: 1-hash + score: '100.0' matched_length: 11 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_34.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_34.RULE matched_text: All files are licensed under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-4e05fce9-1807-80b2-856e-0fa39a440170 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '90.91' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: '190' end_line: '190' + matcher: 1-hash + score: '90.91' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_32.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_32.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_32.RULE matched_text: The PerlUi class is licensed under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-522746e5-bffc-fa4c-ea81-334067779aac - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '91.67' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: '198' end_line: '198' + matcher: 1-hash + score: '91.67' matched_length: 11 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_31.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_31.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_31.RULE matched_text: The Symbian port is licensed under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-7e59d507-72c7-19bf-6165-d58bcc316f9a - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 208 end_line: 209 + matcher: 2-aho + score: '100.0' matched_length: 15 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_28.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_28.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_28.RULE matched_text: | It is assumed that the test code is licensed under the same terms as Perl. identifier: artistic_perl_1_0_or_gpl_1_0_plus-2ed96cd5-955e-4781-7dd3-7bcd315fff9b - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 223 end_line: 224 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 233 end_line: 234 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_4.RULE matched_text: | This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-abf4b96c-fc73-c8e3-29cd-08cded8bef2c - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 241 end_line: 242 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 249 end_line: 250 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 257 end_line: 258 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 267 end_line: 268 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 275 end_line: 275 + matcher: 1-hash + score: '100.0' matched_length: 10 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_12.RULE matched_text: This file is a part of Perl itself, licensed as above. identifier: gpl_1_0_plus_or_artistic_perl_1_0-fd15e46d-ac77-acdb-3f93-0d54ee03a1b7 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '99.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 309 end_line: 310 + matcher: 1-hash + score: '99.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_52.RULE rule_relevance: 99 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_52.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_52.RULE matched_text: | There is no copyright or license information in these distributions. It is assumed that they are licensed under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-8aa4724c-ae7c-4733-1063-b0a456c393d4 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 316 end_line: 317 + matcher: 1-hash + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_25.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_25.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_25.RULE matched_text: | This library is free software; you may redistribute and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-fc24870c-10ae-2148-d3bf-e786583923db - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 330 end_line: 330 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_11.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_11.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_11.RULE matched_text: This package has the same copyright and license as the perl core. identifier: gpl_1_0_plus_or_artistic_perl_1_0-00c5b5e7-0cc5-6dc8-2914-7a86e3fe305f - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 336 end_line: 337 + matcher: 1-hash + score: '100.0' matched_length: 16 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_44.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_44.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_44.RULE matched_text: | This module is free software, you may distribute it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-7efcdd95-ec2e-48b4-6b08-e8b6a41ced5d - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 345 end_line: 347 + matcher: 1-hash + score: '100.0' matched_length: 31 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_43.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_43.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_43.RULE matched_text: | This is free software. You may modify and/or redistribute this @@ -2271,334 +2437,397 @@ other_license_detections: any later version of Perl 5. identifier: gpl_1_0_plus_or_artistic_perl_1_0-8ca7b680-12a9-c6a8-d60b-abd1b0e1aa81 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 355 end_line: 356 + matcher: 1-hash + score: '100.0' matched_length: 16 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_44.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_44.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_44.RULE matched_text: | This module is free software. You may distribute it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-7efcdd95-ec2e-48b4-6b08-e8b6a41ced5d - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 362 end_line: 363 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 382 end_line: 383 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 395 end_line: 396 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 402 end_line: 403 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 411 end_line: 411 + matcher: 1-hash + score: '100.0' matched_length: 11 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_42.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_42.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_42.RULE matched_text: You may redistribute this under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-d15d44f1-6970-d898-4fa2-eb72ec024222 - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 419 end_line: 420 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 431 end_line: 432 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 439 end_line: 440 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 447 end_line: 448 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 454 end_line: 455 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 465 end_line: 466 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 475 end_line: 476 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 484 end_line: 485 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 494 end_line: 495 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 502 end_line: 503 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 509 end_line: 510 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-2.0 + license_expression_spdx: Artistic-2.0 matches: - - score: '100.0' + - license_expression: artistic-2.0 + spdx_license_expression: Artistic-2.0 + from_file: start_line: 516 end_line: 517 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-2.0 - rule_identifier: artistic-2.0_38.RULE rule_relevance: 100 + rule_identifier: artistic-2.0_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_38.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the terms of the the Artistic License (2.0). identifier: artistic_2_0-e78d6739-c4ab-40c9-572b-bcaabfb23964 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 524 end_line: 525 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 531 end_line: 532 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-2.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-2.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-2.0-or-later + from_file: start_line: 539 end_line: 545 + matcher: 1-hash + score: '100.0' matched_length: 61 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-2.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-2.0-plus_2.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-2.0-plus_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-2.0-plus_2.RULE matched_text: | This library is free software; you may redistribute it and/or modify @@ -2610,32 +2839,38 @@ other_license_detections: Public License. identifier: artistic_perl_1_0_or_gpl_2_0_plus-b35b8478-ff32-af71-be53-77500ee9fe8c - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 553 end_line: 554 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 561 end_line: 570 + matcher: 2-aho + score: '100.0' matched_length: 71 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_41.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_41.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_41.RULE matched_text: | There are no copyright or license notices in this distribution. It @@ -2650,112 +2885,133 @@ other_license_detections: file. identifier: gpl_1_0_plus_or_artistic_perl_1_0-3c906dee-c087-db95-4092-056433d16fb5 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 578 end_line: 579 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 585 end_line: 586 + matcher: 1-hash + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_15.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_15.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_15.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-18449fdf-781e-7e30-7f07-dfe1ecca6ee1 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 600 end_line: 601 + matcher: 1-hash + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_25.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_25.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_25.RULE matched_text: | This library is free software; you may redistribute and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-fc24870c-10ae-2148-d3bf-e786583923db - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 609 end_line: 610 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 618 end_line: 619 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 628 end_line: 629 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-2.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-2.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-2.0-or-later + from_file: start_line: 636 end_line: 640 + matcher: 1-hash + score: '100.0' matched_length: 47 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-2.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-2.0-plus_3.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-2.0-plus_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-2.0-plus_3.RULE matched_text: | This program is free software; you can redistribute it and/or @@ -2765,176 +3021,209 @@ other_license_detections: later version. identifier: artistic_perl_1_0_or_gpl_2_0_plus-9838542c-8067-e5da-446d-8a162c7c3cc5 - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 647 end_line: 648 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 655 end_line: 656 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 663 end_line: 664 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 673 end_line: 674 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 681 end_line: 682 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 690 end_line: 691 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 698 end_line: 699 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_15.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_15.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_15.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the LICENCE file. identifier: gpl_1_0_plus_or_artistic_perl_1_0-998f11a5-2f46-f75b-3298-dbfa69a673aa - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 706 end_line: 707 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 717 end_line: 718 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 724 end_line: 725 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: mit OR gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: MIT OR GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: mit OR gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: MIT OR GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 732 end_line: 734 + matcher: 1-hash + score: '100.0' matched_length: 37 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit OR gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: mit_or_gpl-1.0-plus_or_artistic-perl-1.0_1.RULE rule_relevance: 100 + rule_identifier: mit_or_gpl-1.0-plus_or_artistic-perl-1.0_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_gpl-1.0-plus_or_artistic-perl-1.0_1.RULE matched_text: | This software is released under the MIT license cited below. Additionally, @@ -2942,48 +3231,57 @@ other_license_detections: redistribute it and/or modify it under the same terms as Perl itself. identifier: mit_or_gpl_1_0_plus_or_artistic_perl_1_0-109da13c-da24-fa09-6ec8-f6606ea1dddf - license_expression: mit OR artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: MIT OR Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '99.0' + - license_expression: mit OR artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: MIT OR Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 748 end_line: 749 + matcher: 1-hash + score: '99.0' matched_length: 21 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit OR artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: mit_or_artistic-perl-1.0_or_gpl-1.0-plus_1.RULE rule_relevance: 99 + rule_identifier: mit_or_artistic-perl-1.0_or_gpl-1.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_artistic-perl-1.0_or_gpl-1.0-plus_1.RULE matched_text: | It is assumed that these translations are licensed under the same terms as the rest of the Locale-Maketext-Simple distribution. identifier: mit_or_artistic_perl_1_0_or_gpl_1_0_plus-5a94f7ce-d5c0-58cd-b181-c00f8fbbc497 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 755 end_line: 756 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 763 end_line: 767 + matcher: 2-aho + score: '100.0' matched_length: 34 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_8.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_8.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_8.RULE matched_text: | This library is free software; you may redistribute it and/or modify @@ -2993,45 +3291,53 @@ other_license_detections: Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-8e682309-5b67-ab89-6945-3ea7a79aa541 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 775 end_line: 776 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: (artistic-perl-1.0 OR gpl-1.0-plus) AND metamail + license_expression_spdx: (Artistic-1.0-Perl OR GPL-1.0-or-later) AND metamail matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 784 end_line: 785 + matcher: 2-aho + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. - - score: '100.0' + - license_expression: metamail + spdx_license_expression: metamail + from_file: start_line: 792 end_line: 801 + matcher: 2-aho + score: '100.0' matched_length: 87 match_coverage: '100.0' - matcher: 2-aho - license_expression: metamail - rule_identifier: metamail.LICENSE rule_relevance: 100 + rule_identifier: metamail.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/metamail.LICENSE matched_text: | Permission to use, copy, modify, and distribute this material @@ -3046,94 +3352,112 @@ other_license_detections: WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. identifier: artistic_perl_1_0_or_gpl_1_0_plus__and_metamail-708741c8-a456-165a-5e15-4d96c736bb61 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 809 end_line: 810 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 817 end_line: 818 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_3.RULE matched_text: | This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-e8fc6fc9-6684-3799-00a7-dc38172bda29 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 825 end_line: 825 + matcher: 1-hash + score: '100.0' matched_length: 11 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_10.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_10.RULE matched_text: This module is released under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-6ac722a3-703c-e413-9b17-5dd475d88fa5 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 832 end_line: 833 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 840 end_line: 841 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 848 end_line: 850 + matcher: 2-aho + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_5.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_5.RULE matched_text: | is free software; @@ -3141,112 +3465,134 @@ other_license_detections: as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-3f59d10a-2b40-7221-4e05-ac331bac263d - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 857 end_line: 858 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 866 end_line: 867 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_4.RULE matched_text: | This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-abf4b96c-fc73-c8e3-29cd-08cded8bef2c - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 875 end_line: 876 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_4.RULE matched_text: | This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-abf4b96c-fc73-c8e3-29cd-08cded8bef2c - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 919 end_line: 920 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_4.RULE matched_text: | This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-abf4b96c-fc73-c8e3-29cd-08cded8bef2c - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 927 end_line: 928 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 935 end_line: 936 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 AND public-domain AND (artistic-2.0 AND public-domain-disclaimer) + license_expression_spdx: Artistic-1.0-Perl AND LicenseRef-scancode-public-domain AND (Artistic-2.0 + AND LicenseRef-scancode-public-domain-disclaimer) matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 + spdx_license_expression: Artistic-1.0-Perl + from_file: start_line: 950 end_line: 954 + matcher: 2-aho + score: '100.0' matched_length: 35 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 - rule_identifier: artistic-perl-1.0_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_12.RULE matched_text: | The license notice in the document is: @@ -3254,15 +3600,17 @@ other_license_detections: When included as an integrated part of the Standard Distribution of Perl or of its documentation (printed or otherwise), this works is covered under Perl's Artistic License. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 957 end_line: 961 + matcher: 2-aho + score: '100.0' matched_length: 56 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_286.RULE rule_relevance: 100 + rule_identifier: public-domain_286.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_286.RULE matched_text: | Irrespective of its distribution, all code examples here are in the public @@ -3270,15 +3618,17 @@ other_license_detections: derivatives thereof in your own programs for fun or for profit as you see fit. A simple comment in the code giving credit to the FAQ would be courteous but is not required. - - score: '100.0' + - license_expression: artistic-2.0 AND public-domain-disclaimer + spdx_license_expression: Artistic-2.0 AND LicenseRef-scancode-public-domain-disclaimer + from_file: start_line: 965 end_line: 967 + matcher: 2-aho + score: '100.0' matched_length: 39 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-2.0 AND public-domain-disclaimer - rule_identifier: artistic-2.0_and_public-domain-disclaimer_1.RULE rule_relevance: 100 + rule_identifier: artistic-2.0_and_public-domain-disclaimer_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_and_public-domain-disclaimer_1.RULE matched_text: | This document is available under the same terms as Perl itself. Code @@ -3286,16 +3636,19 @@ other_license_detections: them as you see fit (and at your own risk with no warranty from anyone). identifier: artistic_perl_1_0_and_public_domain_and__artistic_2_0_and_public_domain_disclaimer-2d510dad-1736-1044-1f83-ffc03282e54a - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 975 end_line: 977 + matcher: 2-aho + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_5.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_5.RULE matched_text: | is free software; @@ -3303,205 +3656,243 @@ other_license_detections: as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-3f59d10a-2b40-7221-4e05-ac331bac263d - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 984 end_line: 985 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 992 end_line: 993 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1008 end_line: 1009 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_4.RULE matched_text: | This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-abf4b96c-fc73-c8e3-29cd-08cded8bef2c - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1029 end_line: 1030 + matcher: 1-hash + score: '100.0' matched_length: 18 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_40.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_40.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_40.RULE matched_text: | This software is free software and can be modified and distributed under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-e8104884-0d49-693f-2246-ae9522b0bf98 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1037 end_line: 1038 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_24.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_24.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_24.RULE matched_text: | This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-253ad29b-8eea-a58f-0e55-7f1f30b4d132 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1045 end_line: 1046 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1054 end_line: 1055 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1063 end_line: 1064 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1072 end_line: 1073 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1080 end_line: 1081 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1096 end_line: 1097 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: (gpl-1.0-plus OR artistic-perl-1.0) AND public-domain + license_expression_spdx: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1104 end_line: 1105 + matcher: 2-aho + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_39.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_39.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_39.RULE matched_text: | This documentation is free; you can redistribute it and/or modify it under the same terms as Perl itself. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 1107 end_line: 1111 + matcher: 2-aho + score: '100.0' matched_length: 53 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_287.RULE rule_relevance: 100 + rule_identifier: public-domain_287.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_287.RULE matched_text: | Irrespective of its distribution, all code examples in these files @@ -3511,48 +3902,57 @@ other_license_detections: credit would be courteous but is not required. identifier: gpl_1_0_plus_or_artistic_perl_1_0__and_public_domain-1eb230bb-78ce-5300-5012-920fd3811563 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1119 end_line: 1120 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1126 end_line: 1127 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: cc0-1.0 + license_expression_spdx: CC0-1.0 matches: - - score: '100.0' + - license_expression: cc0-1.0 + spdx_license_expression: CC0-1.0 + from_file: start_line: 1138 end_line: 1140 + matcher: 1-hash + score: '100.0' matched_length: 29 match_coverage: '100.0' - matcher: 1-hash - license_expression: cc0-1.0 - rule_identifier: cc0-1.0_154.RULE rule_relevance: 100 + rule_identifier: cc0-1.0_154.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_154.RULE matched_text: | The file links to http://creativecommons.org/publicdomain/zero/1.0/ @@ -3560,32 +3960,38 @@ other_license_detections: end of this file. identifier: cc0_1_0-ce0a113c-2f14-79cb-71e2-f8d26c4e9bc9 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1148 end_line: 1149 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_3.RULE matched_text: | This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-e8fc6fc9-6684-3799-00a7-dc38172bda29 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '99.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1156 end_line: 1159 + matcher: 1-hash + score: '99.0' matched_length: 26 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_38.RULE rule_relevance: 99 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_38.RULE matched_text: | There are no copyright notices this distribution. @@ -3594,16 +4000,19 @@ other_license_detections: under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-825f9c5f-31da-bfc2-ad53-0cceccade3a2 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1180 end_line: 1184 + matcher: 1-hash + score: '100.0' matched_length: 33 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_37.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_37.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_37.RULE matched_text: | This program is free software; you may redistribute it and/or modify @@ -3613,121 +4022,144 @@ other_license_detections: the same explicit licensing information. identifier: gpl_1_0_plus_or_artistic_perl_1_0-4b362e04-cf63-aed3-04d0-700b12e560b9 - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 1191 end_line: 1192 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1198 end_line: 1199 + matcher: 1-hash + score: '100.0' matched_length: 15 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_35.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_35.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_35.RULE matched_text: | This module is free software, you may distribute it under the same terms as Perl. identifier: gpl_1_0_plus_or_artistic_perl_1_0-5d9e5932-ca64-fd4b-88f4-3bdacbc03f1d - license_expression: bsd-new AND (gpl-1.0-plus OR artistic-perl-1.0) + license_expression_spdx: BSD-3-Clause AND (GPL-1.0-or-later OR Artistic-1.0-Perl) matches: - - score: '99.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 1208 end_line: 1208 + matcher: 2-aho + score: '99.0' matched_length: 7 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_1065.RULE rule_relevance: 99 + rule_identifier: bsd-new_1065.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1065.RULE matched_text: is licensed under the BSD-like license - - score: '70.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1209 end_line: 1210 + matcher: 2-aho + score: '70.0' matched_length: '19' match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_34.RULE rule_relevance: 70 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_34.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_34.RULE matched_text: | It is assumed that the other parts are licensed under the same terms as the rest of the distribution. identifier: bsd_new_and__gpl_1_0_plus_or_artistic_perl_1_0-66a31b89-70bb-c59f-36de-c76a8ce944e0 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1218 end_line: 1219 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_24.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_24.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_24.RULE matched_text: | This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-253ad29b-8eea-a58f-0e55-7f1f30b4d132 - license_expression: unicode + license_expression_spdx: LicenseRef-scancode-unicode matches: - - score: '100.0' + - license_expression: unicode + spdx_license_expression: LicenseRef-scancode-unicode + from_file: start_line: 1226 end_line: 1226 + matcher: 2-aho + score: '100.0' matched_length: 13 match_coverage: '100.0' - matcher: 2-aho - license_expression: unicode - rule_identifier: unicode_14.RULE rule_relevance: 100 + rule_identifier: unicode_14.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unicode_14.RULE matched_text: For terms of use, see http://www.unicode.org/terms_of_use.html identifier: unicode-694376d5-aeeb-e4bc-a4e1-095d162d3862 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1236 end_line: 1237 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_24.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_24.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_24.RULE matched_text: | This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-253ad29b-8eea-a58f-0e55-7f1f30b4d132 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1248 end_line: 1252 + matcher: 2-aho + score: '100.0' matched_length: 40 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_32.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_32.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_32.RULE matched_text: | This module is free software; you may redistribute it and/or modify it @@ -3737,202 +4169,240 @@ other_license_detections: as Perl itself and contained this copyright notice: identifier: gpl_1_0_plus_or_artistic_perl_1_0-8a0e346e-31dc-322f-05d4-2902f683ce20 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1262 end_line: 1263 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_3.RULE matched_text: | This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-e8fc6fc9-6684-3799-00a7-dc38172bda29 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1271 end_line: 1272 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_3.RULE matched_text: | This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-e8fc6fc9-6684-3799-00a7-dc38172bda29 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1279 end_line: 1280 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1288 end_line: 1289 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: (artistic-perl-1.0 OR gpl-1.0-plus) AND (gpl-1.0-plus OR artistic-perl-1.0) + license_expression_spdx: (Artistic-1.0-Perl OR GPL-1.0-or-later) AND (GPL-1.0-or-later OR + Artistic-1.0-Perl) matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1297 end_line: 1298 + matcher: 2-aho + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1300 end_line: 1301 + matcher: 2-aho + score: '100.0' matched_length: 11 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_31.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_31.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_31.RULE matched_text: | Perl 5 Porters, which was released under the same license terms. identifier: artistic_perl_1_0_or_gpl_1_0_plus__and__gpl_1_0_plus_or_artistic_perl_1_0-00e61bda-5cd5-19fb-b521-ca0d569c0379 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1308 end_line: 1309 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_3.RULE matched_text: | This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-e8fc6fc9-6684-3799-00a7-dc38172bda29 - license_expression: gpl-1.0-plus OR artistic-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0 matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0 + from_file: start_line: 1315 end_line: 1316 + matcher: 1-hash + score: '100.0' matched_length: 24 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-1.0_3.RULE matched_text: | This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. identifier: gpl_1_0_plus_or_artistic_1_0-83290536-f01d-d3fa-2e0c-62204354be7a - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1324 end_line: 1325 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1332 end_line: 1333 + matcher: 1-hash + score: '100.0' matched_length: 15 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_48.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_48.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_48.RULE matched_text: | You can redistribute and/or modify this document under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bc101dac-fad1-f7aa-f226-ac50d2a1e9f3 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1340 end_line: 1341 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1349 end_line: 1350 + matcher: 2-aho + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1353 end_line: 1355 + matcher: 2-aho + score: '100.0' matched_length: 27 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_46.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_46.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_46.RULE matched_text: | This module is distributed under the same terms as Perl itself. @@ -3940,138 +4410,165 @@ other_license_detections: the correct attribution. identifier: artistic_perl_1_0_or_gpl_1_0_plus-022b9900-7aee-6501-6734-49f6ea2c95da - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1361 end_line: 1361 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_11.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_11.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_11.RULE matched_text: This package has the same copyright and license as the perl core. identifier: gpl_1_0_plus_or_artistic_perl_1_0-00c5b5e7-0cc5-6dc8-2914-7a86e3fe305f - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1368 end_line: 1369 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1375 end_line: 1375 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_27.RULE matched_text: This document may be distributed under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-59bdc9da-ad6a-3a9f-ac53-9fc77d62ac40 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1382 end_line: 1383 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_4.RULE matched_text: | This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-abf4b96c-fc73-c8e3-29cd-08cded8bef2c - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1390 end_line: 1390 + matcher: 1-hash + score: '100.0' matched_length: 11 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_29.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_29.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_29.RULE matched_text: This program is distributed under the same terms as perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-2bcbbce8-54f0-bccc-2196-d6690e456d84 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1397 end_line: 1398 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_24.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_24.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_24.RULE matched_text: | This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-253ad29b-8eea-a58f-0e55-7f1f30b4d132 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1409 end_line: 1410 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_4.RULE matched_text: | This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-abf4b96c-fc73-c8e3-29cd-08cded8bef2c - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1417 end_line: 1418 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: (artistic-perl-1.0 OR gpl-1.0-plus) AND bsd-new + license_expression_spdx: (Artistic-1.0-Perl OR GPL-1.0-or-later) AND BSD-3-Clause matches: - - score: '100.0' + - license_expression: (artistic-perl-1.0 OR gpl-1.0-plus) AND bsd-new + spdx_license_expression: (Artistic-1.0-Perl OR GPL-1.0-or-later) AND BSD-3-Clause + from_file: start_line: 1427 end_line: 1433 + matcher: 2-aho + score: '100.0' matched_length: 56 match_coverage: '100.0' - matcher: 2-aho - license_expression: (artistic-perl-1.0 OR gpl-1.0-plus) AND bsd-new - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_and_bsd-new_2.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_and_bsd-new_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_and_bsd-new_2.RULE matched_text: | The main license applies to most of the code: @@ -4083,112 +4580,133 @@ other_license_detections: under the terms of the "BSD-3-clause-GENERIC" license included in this file. identifier: artistic_perl_1_0_or_gpl_1_0_plus__and_bsd_new-4ecf727d-f402-75d3-46ee-1a9cb87ec7cb - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1456 end_line: 1457 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1467 end_line: 1468 + matcher: 2-aho + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_45.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_45.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_45.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl identifier: artistic_perl_1_0_or_gpl_1_0_plus-0aab4f56-a9e1-f787-6f06-4a75c1c9b81e - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1476 end_line: 1477 + matcher: 1-hash + score: '100.0' matched_length: 22 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_30.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_30.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_30.RULE matched_text: | You may redistribute only under the same terms as Perl 5, as specified in the README file that comes with the distribution. identifier: gpl_1_0_plus_or_artistic_perl_1_0-8a66f022-d8b4-4b86-212a-934dd2bc3089 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1487 end_line: 1488 + matcher: 1-hash + score: '100.0' matched_length: 22 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_30.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_30.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_30.RULE matched_text: | You may redistribute only under the same terms as Perl 5, as specified in the README file that comes with the distribution. identifier: gpl_1_0_plus_or_artistic_perl_1_0-8a66f022-d8b4-4b86-212a-934dd2bc3089 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1497 end_line: 1498 + matcher: 1-hash + score: '100.0' matched_length: 22 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_30.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_30.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_30.RULE matched_text: | You may redistribute only under the same terms as Perl 5, as specified in the README file that comes with the distribution. identifier: gpl_1_0_plus_or_artistic_perl_1_0-8a66f022-d8b4-4b86-212a-934dd2bc3089 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1517 end_line: 1518 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1527 end_line: 1529 + matcher: 1-hash + score: '100.0' matched_length: 30 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_44.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_44.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_44.RULE matched_text: | This package is free software and is provided "as is" without express @@ -4196,128 +4714,152 @@ other_license_detections: under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-3b848d2f-500b-c107-aa42-9eb5c222ff60 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1539 end_line: 1540 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1547 end_line: 1548 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1556 end_line: 1557 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '95.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1566 end_line: 1567 + matcher: 1-hash + score: '95.0' matched_length: 21 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_42.RULE rule_relevance: 95 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_42.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_42.RULE matched_text: | There is no license information included. It is assumed that this distribution is licensed under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-1a86e593-e255-ed0a-e5a1-d8fdbea5e365 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1574 end_line: 1575 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1582 end_line: 1583 + matcher: 1-hash + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_49.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_49.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_49.RULE matched_text: | This program is free software; you can redistribute and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-0c90b422-60c3-e525-05ea-c266dd2a51b1 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1590 end_line: 1591 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '95.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1598 end_line: 1600 + matcher: 1-hash + score: '95.0' matched_length: 29 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_41.RULE rule_relevance: 95 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_41.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_41.RULE matched_text: | There is no license information included that clearly applies to the @@ -4325,47 +4867,56 @@ other_license_detections: the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-baa14b4d-271c-af68-77f4-4cfd796ec9ea - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '95.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1609 end_line: 1609 + matcher: 1-hash + score: '95.0' matched_length: 15 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_40.RULE rule_relevance: 95 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_40.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_40.RULE matched_text: It is assumed that this file is licensed under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-c6a20c55-7328-0e53-7889-7c78c5415d0b - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1616 end_line: 1617 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1624 end_line: 1626 + matcher: 1-hash + score: '100.0' matched_length: 11 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_25.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_25.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_25.RULE matched_text: | The license in the file is specified as @@ -4373,91 +4924,108 @@ other_license_detections: License: Artistic/GPL identifier: gpl_1_0_plus_or_artistic_perl_1_0-21b340f7-1c33-9e19-4d95-6db009738447 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1633 end_line: 1634 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-1.0 + license_expression_spdx: Artistic-1.0 matches: - - score: '90.0' + - license_expression: artistic-1.0 + spdx_license_expression: Artistic-1.0 + from_file: start_line: 1641 end_line: 1641 + matcher: 2-aho + score: '90.0' matched_length: 3 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-1.0 - rule_identifier: artistic-1.0_11.RULE rule_relevance: 90 + rule_identifier: artistic-1.0_11.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-1.0_11.RULE matched_text: the artistic license. identifier: artistic_1_0-2ff80857-def0-0ed3-86d0-f745062039f9 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '95.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1661 end_line: 1662 + matcher: 1-hash + score: '95.0' matched_length: 22 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_39.RULE rule_relevance: 95 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_39.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_39.RULE matched_text: | There is no license information in this distribution. It is assumed that it is licensed under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-71dd85f2-c2a8-e634-a472-12fad824a9b7 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '95.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1670 end_line: 1671 + matcher: 2-aho + score: '95.0' matched_length: 17 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_38.RULE rule_relevance: 95 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_38.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_38.RULE matched_text: | As above, it is assumed that this file is licensed under the same terms as Perl itself. - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1679 end_line: 1680 + matcher: 2-aho + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-4608b132-68af-fc8c-5b55-7bfbd0034d22 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1687 end_line: 1689 + matcher: 1-hash + score: '100.0' matched_length: 40 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_23.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_23.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_23.RULE matched_text: | This library is free software; you can redistribute it and/or modify @@ -4465,153 +5033,182 @@ other_license_detections: at your option, any later version of Perl 5 you may have available. identifier: gpl_1_0_plus_or_artistic_perl_1_0-02d238e7-dfb3-3d0f-17b5-552ede2bf765 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1696 end_line: 1697 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1705 end_line: 1706 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: artistic-perl-1.0 + license_expression_spdx: Artistic-1.0-Perl matches: - - score: '99.0' + - license_expression: artistic-perl-1.0 + spdx_license_expression: Artistic-1.0-Perl + from_file: start_line: 1712 end_line: 1712 + matcher: 1-hash + score: '99.0' matched_length: 8 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 - rule_identifier: artistic-perl-1.0_7.RULE rule_relevance: 99 + rule_identifier: artistic-perl-1.0_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_7.RULE matched_text: This program is distributed under the Artistic License. identifier: artistic_perl_1_0-2d6db20c-52be-912f-b056-8d081e123f91 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1723 end_line: 1724 + matcher: 1-hash + score: '100.0' matched_length: 23 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_7.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_7.RULE matched_text: | You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the README file. identifier: artistic_perl_1_0_or_gpl_1_0_plus-bce9eb76-af55-8217-d862-796e5d7accc7 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1734 end_line: 1735 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_10.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_10.RULE matched_text: | This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-781b2f48-5747-4d66-d428-c271c1b34947 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1742 end_line: 1743 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1761 end_line: 1761 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_27.RULE matched_text: This document may be distributed under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-59bdc9da-ad6a-3a9f-ac53-9fc77d62ac40 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1768 end_line: 1769 + matcher: 1-hash + score: '100.0' matched_length: 14 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_28.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_28.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_28.RULE matched_text: | You can use and redistribute this document under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-995430fd-ab65-9897-2857-c13429160160 - license_expression: (gpl-1.0-plus OR artistic-perl-1.0) AND public-domain + license_expression_spdx: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1778 end_line: 1779 + matcher: 2-aho + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_39.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_39.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_39.RULE matched_text: | This documentation is free; you can redistribute it and/or modify it under the same terms as Perl itself. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 1781 end_line: 1785 + matcher: 2-aho + score: '100.0' matched_length: 56 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_286.RULE rule_relevance: 100 + rule_identifier: public-domain_286.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_286.RULE matched_text: | Irrespective of its distribution, all code examples here are in the public @@ -4621,16 +5218,19 @@ other_license_detections: be courteous but is not required. identifier: gpl_1_0_plus_or_artistic_perl_1_0__and_public_domain-93862a24-32df-2e58-a989-877ba708872a - license_expression: artistic-2.0 AND public-domain-disclaimer + license_expression_spdx: Artistic-2.0 AND LicenseRef-scancode-public-domain-disclaimer matches: - - score: '100.0' + - license_expression: artistic-2.0 AND public-domain-disclaimer + spdx_license_expression: Artistic-2.0 AND LicenseRef-scancode-public-domain-disclaimer + from_file: start_line: 1794 end_line: 1796 + matcher: 1-hash + score: '100.0' matched_length: 39 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-2.0 AND public-domain-disclaimer - rule_identifier: artistic-2.0_and_public-domain-disclaimer_1.RULE rule_relevance: 100 + rule_identifier: artistic-2.0_and_public-domain-disclaimer_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_and_public-domain-disclaimer_1.RULE matched_text: | This document is available under the same terms as Perl itself. Code @@ -4638,87 +5238,104 @@ other_license_detections: them as you see fit (and at your own risk with no warranty from anyone). identifier: artistic_2_0_and_public_domain_disclaimer-0f623011-76a2-9362-7a9e-866e141da819 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1805 end_line: 1805 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_27.RULE matched_text: This document may be distributed under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-59bdc9da-ad6a-3a9f-ac53-9fc77d62ac40 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1814 end_line: 1814 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_27.RULE matched_text: This document may be distributed under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-59bdc9da-ad6a-3a9f-ac53-9fc77d62ac40 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1821 end_line: 1821 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_27.RULE matched_text: This document may be distributed under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-59bdc9da-ad6a-3a9f-ac53-9fc77d62ac40 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1836 end_line: 1837 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: (gpl-1.0-plus OR artistic-perl-1.0) AND public-domain + license_expression_spdx: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1844 end_line: 1845 + matcher: 2-aho + score: '100.0' matched_length: '19' match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_39.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_39.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_39.RULE matched_text: | This documentation is free; you can redistribute it and/or modify it under the same terms as Perl itself. - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 1847 end_line: 1851 + matcher: 2-aho + score: '100.0' matched_length: 53 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_287.RULE rule_relevance: 100 + rule_identifier: public-domain_287.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_287.RULE matched_text: | Irrespective of its distribution, all code examples in these files are @@ -4728,74 +5345,90 @@ other_license_detections: courteous but is not required. identifier: gpl_1_0_plus_or_artistic_perl_1_0__and_public_domain-1eb230bb-78ce-5300-5012-920fd3811563 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1861 end_line: 1861 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_27.RULE matched_text: This document may be distributed under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-59bdc9da-ad6a-3a9f-ac53-9fc77d62ac40 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1868 end_line: 1868 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_27.RULE matched_text: This document may be distributed under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-59bdc9da-ad6a-3a9f-ac53-9fc77d62ac40 - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 1875 end_line: 1875 + matcher: 1-hash + score: '100.0' matched_length: 12 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_27.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_27.RULE matched_text: This document may be distributed under the same terms as Perl itself. identifier: gpl_1_0_plus_or_artistic_perl_1_0-59bdc9da-ad6a-3a9f-ac53-9fc77d62ac40 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 1891 end_line: 1892 + matcher: 1-hash + score: '100.0' matched_length: 20 match_coverage: '100.0' - matcher: 1-hash - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_12.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_12.RULE matched_text: | This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. identifier: artistic_perl_1_0_or_gpl_1_0_plus-5362e445-2780-fe5e-5f5c-8e18d2260a6e - license_expression: artistic-perl-1.0 OR artistic-dist-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR LicenseRef-scancode-artistic-1988-1.0 OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-perl-1.0 OR artistic-dist-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR LicenseRef-scancode-artistic-1988-1.0 + OR GPL-1.0-or-later + from_file: start_line: '1913' end_line: '1928' + matcher: 2-aho + score: '100.0' matched_length: 103 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR artistic-dist-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_artistic-dist-1.0_or_gpl-1.0-plus_2.RULE rule_relevance: 100 + rule_identifier: artistic-perl-1.0_or_artistic-dist-1.0_or_gpl-1.0-plus_2.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_artistic-dist-1.0_or_gpl-1.0-plus_2.RULE matched_text: | You may distribute the files contained in this distribution @@ -4816,16 +5449,19 @@ other_license_detections: "Artistic-dist" tag. identifier: artistic_perl_1_0_or_artistic_dist_1_0_or_gpl_1_0_plus-9cd54d77-c838-d496-0a92-de100a6c75bc - license_expression: artistic-dist-1.0 + license_expression_spdx: LicenseRef-scancode-artistic-1988-1.0 matches: - - score: '100.0' + - license_expression: artistic-dist-1.0 + spdx_license_expression: LicenseRef-scancode-artistic-1988-1.0 + from_file: start_line: '1942' end_line: '1944' + matcher: 2-aho + score: '100.0' matched_length: 21 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-dist-1.0 - rule_identifier: artistic-dist-1.0_3.RULE rule_relevance: 100 + rule_identifier: artistic-dist-1.0_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-dist-1.0_3.RULE matched_text: | This subdirectory contains unmodified 'dist' code that is @@ -4833,16 +5469,19 @@ other_license_detections: under the "Artistic-dist" tag. identifier: artistic_dist_1_0-52936621-27b8-5371-2fc4-9a5b06005497 - license_expression: artistic-dist-1.0 OR gpl-1.0-plus + license_expression_spdx: LicenseRef-scancode-artistic-1988-1.0 OR GPL-1.0-or-later matches: - - score: '100.0' + - license_expression: artistic-dist-1.0 OR gpl-1.0-plus + spdx_license_expression: LicenseRef-scancode-artistic-1988-1.0 OR GPL-1.0-or-later + from_file: start_line: '1969' end_line: '1993' + matcher: 2-aho + score: '100.0' matched_length: 213 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-dist-1.0 OR gpl-1.0-plus - rule_identifier: artistic-dist-1.0_or_gpl-1.0-plus_1.RULE rule_relevance: 100 + rule_identifier: artistic-dist-1.0_or_gpl-1.0-plus_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-dist-1.0_or_gpl-1.0-plus_1.RULE matched_text: | dist is distributed under a modified version of the Perl Artistic License. @@ -4872,16 +5511,19 @@ other_license_detections: "Artistic-dist" tag. identifier: artistic_dist_1_0_or_gpl_1_0_plus-7fb72184-972c-40cb-2bf5-2a39c35cbc5a - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + license_expression_spdx: GPL-1.0-or-later OR Artistic-1.0-Perl matches: - - score: '100.0' + - license_expression: gpl-1.0-plus OR artistic-perl-1.0 + spdx_license_expression: GPL-1.0-or-later OR Artistic-1.0-Perl + from_file: start_line: 2000 end_line: 2007 + matcher: 1-hash + score: '100.0' matched_length: 49 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-1.0-plus OR artistic-perl-1.0 - rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_17.RULE rule_relevance: 100 + rule_identifier: gpl-1.0-plus_or_artistic-perl-1.0_17.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_or_artistic-perl-1.0_17.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -4894,16 +5536,19 @@ other_license_detections: b) the "Artistic License" which comes with Perl. identifier: gpl_1_0_plus_or_artistic_perl_1_0-95ef4a7b-575e-74fe-2260-6fb5805fd955 - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + license_expression_spdx: Artistic-1.0-Perl OR GPL-1.0-or-later matches: - - score: '95.0' + - license_expression: artistic-perl-1.0 OR gpl-1.0-plus + spdx_license_expression: Artistic-1.0-Perl OR GPL-1.0-or-later + from_file: start_line: 2020 end_line: 2023 + matcher: 2-aho + score: '95.0' matched_length: 26 match_coverage: '100.0' - matcher: 2-aho - license_expression: artistic-perl-1.0 OR gpl-1.0-plus - rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_36.RULE rule_relevance: 95 + rule_identifier: artistic-perl-1.0_or_gpl-1.0-plus_36.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-perl-1.0_or_gpl-1.0-plus_36.RULE matched_text: | may be redistributed diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/sed/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/sed/copyright-detailed.expected.yml index e66fccc19f..2c1fbab45e 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/sed/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/sed/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-3.0-plus AND gfdl-1.3-plus + license_expression_spdx: GPL-3.0-or-later AND GFDL-1.3-or-later matches: - - score: '98.28' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 11 end_line: 17 + matcher: 2-aho + score: '98.28' matched_length: 57 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_285.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_285.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_285.RULE matched_text: | GNU sed is free software; you can redistribute it and/or modify it under @@ -24,15 +27,17 @@ license_detections: On Debian GNU/Linux systems you can find a copy of the GPL in /usr/share/common-licenses/GPL-3 - - score: '96.97' + - license_expression: gfdl-1.3-plus + spdx_license_expression: GFDL-1.3-or-later + from_file: start_line: '19' end_line: 21 + matcher: 2-aho + score: '96.97' matched_length: 32 match_coverage: '100.0' - matcher: 2-aho - license_expression: gfdl-1.3-plus - rule_identifier: gfdl-1.3-plus_5.RULE rule_relevance: 100 + rule_identifier: gfdl-1.3-plus_5.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gfdl-1.3-plus_5.RULE matched_text: | The sed info manual is released under the terms of the GNU Free diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/sysvinit-utils/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/sysvinit-utils/copyright-detailed.expected.yml index ca07a4d036..3fd1294033 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/sysvinit-utils/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/sysvinit-utils/copyright-detailed.expected.yml @@ -10,27 +10,32 @@ other_license_expression_spdx: (GPL-2.0-or-later AND GPL-2.0-or-later) AND (GPL- license_detections: [] other_license_detections: - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 33 end_line: 33 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 34 end_line: 48 + matcher: 1-hash + score: '100.0' matched_length: 124 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_735.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_735.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_735.RULE matched_text: | This program is free software; you can redistribute it and/or diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/tar/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/tar/copyright-detailed.expected.yml index d792318c7e..58163a6541 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/tar/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/tar/copyright-detailed.expected.yml @@ -5,16 +5,19 @@ other_license_expression: other_license_expression_spdx: license_detections: - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 20 end_line: 26 + matcher: 2-aho + score: '100.0' matched_length: 65 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_283.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_283.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_283.RULE matched_text: "This program is free software; you can redistribute it and/or modify\ \ it\n under the terms of the GNU General Public License as published by the\n \ @@ -23,16 +26,19 @@ license_detections: \ version 3 can be found in /usr/share/common-licenses/GPL-3." identifier: gpl_3_0_plus-72552c94-3196-d38e-6a71-2d6e21cd1304 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 32 end_line: 38 + matcher: 2-aho + score: '100.0' matched_length: 65 match_coverage: '100.0' - matcher: 2-aho - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_734.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_734.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_734.RULE matched_text: "This program is free software; you can redistribute it and/or modify\ \ it\n under the terms of the GNU General Public License as published by the\n \ diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/util-linux/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/util-linux/copyright-detailed.expected.yml index d7254b30df..bc7191dbd7 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/util-linux/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/util-linux/copyright-detailed.expected.yml @@ -72,43 +72,51 @@ other_license_expression_spdx: (GPL-2.0-or-later AND GPL-2.0-or-later) AND (GPL- license_detections: [] other_license_detections: - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 345 end_line: 346 + matcher: 2-aho + score: '100.0' matched_length: 17 match_coverage: '100.0' - matcher: 2-aho - license_expression: public-domain - rule_identifier: public-domain_28.RULE rule_relevance: 100 + rule_identifier: public-domain_28.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_28.RULE matched_text: | No copyright is claimed. This code is in the public domain; do with it what you wish. identifier: public_domain-94c09237-25b0-ab6d-340e-62eae2b7eea9 - license_expression: gpl-2.0 + license_expression_spdx: GPL-2.0-only matches: - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 350 end_line: 350 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_561.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_561.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_561.RULE matched_text: 'License: gpl-2' - - score: '100.0' + - license_expression: gpl-2.0 + spdx_license_expression: GPL-2.0-only + from_file: start_line: 351 end_line: 365 + matcher: 1-hash + score: '100.0' matched_length: 125 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0 - rule_identifier: gpl-2.0_1189.RULE rule_relevance: 100 + rule_identifier: gpl-2.0_1189.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1189.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -128,27 +136,32 @@ other_license_detections: License version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0-f0da9233-5233-7bfb-cd4d-15c9cbd6a410 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 367 end_line: 367 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 368 end_line: 383 + matcher: 1-hash + score: '100.0' matched_length: 137 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_906.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_906.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_906.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -169,27 +182,32 @@ other_license_detections: License version 2 can be found in `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus-389a73cc-676e-ecc6-075d-3774a1be9778 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 385 end_line: 385 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 386 end_line: 400 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_416.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_416.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_416.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -209,16 +227,19 @@ other_license_detections: License version 3 can be found in `/usr/share/common-licenses/GPL-3'. identifier: gpl_3_0_plus-6dd38d39-ae32-a5a3-58aa-6d4f4a3f1cdb - license_expression: bsd-simplified + license_expression_spdx: BSD-2-Clause matches: - - score: '100.0' + - license_expression: bsd-simplified + spdx_license_expression: BSD-2-Clause + from_file: start_line: 403 end_line: 410 + matcher: 1-hash + score: '100.0' matched_length: 70 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-simplified - rule_identifier: bsd-simplified_264.RULE rule_relevance: 100 + rule_identifier: bsd-simplified_264.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_264.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -231,16 +252,19 @@ other_license_detections: documentation and/or other materials provided with the distribution. identifier: bsd_simplified-523bd88c-42d2-11cb-3886-60be795149d1 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 413 end_line: 437 + matcher: 1-hash + score: '100.0' matched_length: 215 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_1063.RULE rule_relevance: 100 + rule_identifier: bsd-new_1063.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1063.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -270,16 +294,19 @@ other_license_detections: POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-e6286cfc-fd40-08e1-ed33-3c2c1bad1f07 - license_expression: bsd-original-uc + license_expression_spdx: BSD-4-Clause-UC matches: - - score: '100.0' + - license_expression: bsd-original-uc + spdx_license_expression: BSD-4-Clause-UC + from_file: start_line: 440 end_line: 466 + matcher: 1-hash + score: '100.0' matched_length: 243 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-original-uc - rule_identifier: bsd-original-uc_3.RULE rule_relevance: 100 + rule_identifier: bsd-original-uc_3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -311,27 +338,32 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_original_uc-f28cb4d4-6336-ee60-f186-4c1929d3a4b0 - license_expression: lgpl-2.0-plus AND lgpl-2.1-plus + license_expression_spdx: LGPL-2.0-or-later AND LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 468 end_line: 468 + matcher: 1-hash + score: '100.0' matched_length: 2 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_51.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_51.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_51.RULE matched_text: 'License: lgpl' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 469 end_line: 473 + matcher: 1-hash + score: '100.0' matched_length: 37 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_345.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_345.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_345.RULE matched_text: | This file may be redistributed under the terms of the @@ -341,27 +373,32 @@ other_license_detections: License can be found in ‘/usr/share/common-licenses/LGPL’. identifier: lgpl_2_0_plus_and_lgpl_2_1_plus-ee535b08-2e62-57ac-9b69-0ee8b03bde15 - license_expression: lgpl-2.0-plus + license_expression_spdx: LGPL-2.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 475 end_line: 475 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_61.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_61.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_61.RULE matched_text: 'License: lgpl-2+' - - score: '100.0' + - license_expression: lgpl-2.0-plus + spdx_license_expression: LGPL-2.0-or-later + from_file: start_line: 476 end_line: 490 + matcher: 1-hash + score: '100.0' matched_length: 126 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.0-plus - rule_identifier: lgpl-2.0-plus_477.RULE rule_relevance: 100 + rule_identifier: lgpl-2.0-plus_477.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_477.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -381,27 +418,32 @@ other_license_detections: can be found in /usr/share/common-licenses/LGPL-2 file. identifier: lgpl_2_0_plus-8aa1c724-4bbb-dbb4-937d-77e7ac7027fe - license_expression: lgpl-2.1-plus + license_expression_spdx: LGPL-2.1-or-later matches: - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 492 end_line: 492 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_108.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_108.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE matched_text: 'License: lgpl-2.1+' - - score: '100.0' + - license_expression: lgpl-2.1-plus + spdx_license_expression: LGPL-2.1-or-later + from_file: start_line: 493 end_line: 508 + matcher: 1-hash + score: '100.0' matched_length: 141 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-2.1-plus - rule_identifier: lgpl-2.1-plus_344.RULE rule_relevance: 100 + rule_identifier: lgpl-2.1-plus_344.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_344.RULE matched_text: | This program is free software; you can redistribute it and/or modify @@ -422,27 +464,32 @@ other_license_detections: License version 2.1 can be found in ‘/usr/share/common-licenses/LGPL-2.1’. identifier: lgpl_2_1_plus-920f52f3-7de9-6f8b-d6c2-998167ded0bd - license_expression: lgpl-3.0-plus + license_expression_spdx: LGPL-3.0-or-later matches: - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 510 end_line: 510 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_166.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_166.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE matched_text: 'License: lgpl-3+' - - score: '100.0' + - license_expression: lgpl-3.0-plus + spdx_license_expression: LGPL-3.0-or-later + from_file: start_line: 511 end_line: 525 + matcher: 1-hash + score: '100.0' matched_length: 127 match_coverage: '100.0' - matcher: 1-hash - license_expression: lgpl-3.0-plus - rule_identifier: lgpl-3.0-plus_206.RULE rule_relevance: 100 + rule_identifier: lgpl-3.0-plus_206.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_206.RULE matched_text: | This package is free software; you can redistribute it and/or @@ -462,16 +509,19 @@ other_license_detections: Public License can be found in "/usr/share/common-licenses/LGPL-3". identifier: lgpl_3_0_plus-65e3f8ed-4734-2985-77a5-8c1ebf21d5a1 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 528 end_line: 546 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/zlib1g/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/zlib1g/copyright-detailed.expected.yml index 22398ceaf7..8d99a2edbd 100644 --- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/zlib1g/copyright-detailed.expected.yml +++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/zlib1g/copyright-detailed.expected.yml @@ -11,16 +11,19 @@ other_license_expression_spdx: Zlib AND Zlib AND Zlib AND Zlib license_detections: [] other_license_detections: - license_expression: zlib + license_expression_spdx: Zlib matches: - - score: '100.0' + - license_expression: zlib + spdx_license_expression: Zlib + from_file: start_line: 57 end_line: 74 + matcher: 2-aho + score: '100.0' matched_length: 144 match_coverage: '100.0' - matcher: 2-aho - license_expression: zlib - rule_identifier: zlib_17.RULE rule_relevance: 100 + rule_identifier: zlib_17.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE matched_text: | This software is provided 'as-is', without any express or implied diff --git a/tests/packagedcode/data/debian/copyright/simplified-license/stable_copyright.expected.yml b/tests/packagedcode/data/debian/copyright/simplified-license/stable_copyright.expected.yml index 4b180afc4f..40949b89a9 100644 --- a/tests/packagedcode/data/debian/copyright/simplified-license/stable_copyright.expected.yml +++ b/tests/packagedcode/data/debian/copyright/simplified-license/stable_copyright.expected.yml @@ -34,27 +34,32 @@ other_license_expression_spdx: Apache-2.0 AND (Apache-2.0 AND BSD-3-Clause) AND license_detections: [] other_license_detections: - license_expression: apache-2.0 + license_expression_spdx: Apache-2.0 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 71 end_line: 71 + matcher: 1-hash + score: '100.0' matched_length: 4 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_65.RULE rule_relevance: 100 + rule_identifier: apache-2.0_65.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE matched_text: 'License: apache-2.0' - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 72 end_line: 88 + matcher: 1-hash + score: '100.0' matched_length: 145 match_coverage: '100.0' - matcher: 1-hash - license_expression: apache-2.0 - rule_identifier: apache-2.0_971.RULE rule_relevance: 100 + rule_identifier: apache-2.0_971.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_971.RULE matched_text: | Licensed to the Apache Software Foundation (ASF) under one or more @@ -76,16 +81,19 @@ other_license_detections: be found in the file `/usr/share/common-licenses/Apache-2.0'. identifier: apache_2_0-54a3cb61-dd1f-a43e-0748-862fb858b0d2 - license_expression: zeusbench + license_expression_spdx: LicenseRef-scancode-zeusbench matches: - - score: '100.0' + - license_expression: zeusbench + spdx_license_expression: LicenseRef-scancode-zeusbench + from_file: start_line: 94 end_line: 103 + matcher: 2-aho + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 2-aho - license_expression: zeusbench - rule_identifier: zeusbench_1.RULE rule_relevance: 100 + rule_identifier: zeusbench_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zeusbench_1.RULE matched_text: | This software is provided "as is" and any express or implied warranties, @@ -100,16 +108,19 @@ other_license_detections: possibility of such damage identifier: zeusbench-015480ab-358c-46e9-b585-8bc7330ace50 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 118 end_line: 142 + matcher: 2-aho + score: '100.0' matched_length: 214 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-new - rule_identifier: bsd-new_879.RULE rule_relevance: 100 + rule_identifier: bsd-new_879.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_879.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -139,16 +150,19 @@ other_license_detections: POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-bd6a26eb-db9d-de45-5d56-8c5674ddfb3f - license_expression: x11-keith-packard AND metamail + license_expression_spdx: HPND-sell-variant AND metamail matches: - - score: '100.0' + - license_expression: x11-keith-packard + spdx_license_expression: HPND-sell-variant + from_file: start_line: 172 end_line: '191' + matcher: 2-aho + score: '100.0' matched_length: 168 match_coverage: '100.0' - matcher: 2-aho - license_expression: x11-keith-packard - rule_identifier: x11-keith-packard3.RULE rule_relevance: 100 + rule_identifier: x11-keith-packard3.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-keith-packard3.RULE matched_text: | Permission to use, copy, modify, distribute, and sell this software @@ -171,15 +185,17 @@ other_license_detections: AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - score: '100.0' + - license_expression: metamail + spdx_license_expression: metamail + from_file: start_line: '197' end_line: 206 + matcher: 2-aho + score: '100.0' matched_length: 87 match_coverage: '100.0' - matcher: 2-aho - license_expression: metamail - rule_identifier: metamail.LICENSE rule_relevance: 100 + rule_identifier: metamail.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/metamail.LICENSE matched_text: | Permission to use, copy, modify, and distribute this material @@ -194,27 +210,32 @@ other_license_detections: WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. identifier: x11_keith_packard_and_metamail-34a511f5-3e81-16a2-de12-7fbbb7e0f5c7 - license_expression: gpl-3.0-plus + license_expression_spdx: GPL-3.0-or-later matches: - - score: '100.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 209 end_line: 209 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_92.RULE rule_relevance: 100 + rule_identifier: gpl-3.0-plus_92.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE matched_text: 'License: gpl-3+' - - score: '99.0' + - license_expression: gpl-3.0-plus + spdx_license_expression: GPL-3.0-or-later + from_file: start_line: 210 end_line: 222 + matcher: 1-hash + score: '99.0' matched_length: 105 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-3.0-plus - rule_identifier: gpl-3.0-plus_483.RULE rule_relevance: 99 + rule_identifier: gpl-3.0-plus_483.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_483.RULE matched_text: | This program is free software: you can redistribute it and/or modify @@ -232,27 +253,32 @@ other_license_detections: `/usr/share/common-licenses/GPL-3'. identifier: gpl_3_0_plus-19d9def9-e12c-2282-ca9d-6b65b77eb924 - license_expression: gpl-2.0-plus + license_expression_spdx: GPL-2.0-or-later matches: - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 224 end_line: 224 + matcher: 1-hash + score: '100.0' matched_length: 3 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_22.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_22.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE matched_text: 'License: gpl-2+' - - score: '100.0' + - license_expression: gpl-2.0-plus + spdx_license_expression: GPL-2.0-or-later + from_file: start_line: 225 end_line: 237 + matcher: 1-hash + score: '100.0' matched_length: 105 match_coverage: '100.0' - matcher: 1-hash - license_expression: gpl-2.0-plus - rule_identifier: gpl-2.0-plus_986.RULE rule_relevance: 100 + rule_identifier: gpl-2.0-plus_986.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_986.RULE matched_text: | This program is free software; you can redistribute it and/or @@ -270,16 +296,19 @@ other_license_detections: `/usr/share/common-licenses/GPL-2'. identifier: gpl_2_0_plus-54a2dc03-8069-9f58-8fd2-21a866d843f8 - license_expression: public-domain + license_expression_spdx: LicenseRef-scancode-public-domain matches: - - score: '100.0' + - license_expression: public-domain + spdx_license_expression: LicenseRef-scancode-public-domain + from_file: start_line: 240 end_line: 272 + matcher: 1-hash + score: '100.0' matched_length: 211 match_coverage: '100.0' - matcher: 1-hash - license_expression: public-domain - rule_identifier: public-domain_361.RULE rule_relevance: 100 + rule_identifier: public-domain_361.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_361.RULE matched_text: | This imagemap module started as a port of the original imagemap.c @@ -317,16 +346,19 @@ other_license_detections: Mark Cox, mark@ukweb.com, Allow relative URLs even when no base specified identifier: public_domain-a7ae1690-4f60-4902-e6d2-15dc3a028b4c - license_expression: bsd-simplified-darwin + license_expression_spdx: LicenseRef-scancode-bsd-simplified-darwin matches: - - score: '100.0' + - license_expression: bsd-simplified-darwin + spdx_license_expression: LicenseRef-scancode-bsd-simplified-darwin + from_file: start_line: 279 end_line: 302 + matcher: 2-aho + score: '100.0' matched_length: 217 match_coverage: '100.0' - matcher: 2-aho - license_expression: bsd-simplified-darwin - rule_identifier: bsd-simplified-darwin.LICENSE rule_relevance: 100 + rule_identifier: bsd-simplified-darwin.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-simplified-darwin.LICENSE matched_text: | This software is not subject to any export provision of the United States @@ -355,31 +387,36 @@ other_license_detections: SUCH DAMAGE. identifier: bsd_simplified_darwin-9a2496b0-cc3a-2546-8280-ca8b6b3383c6 - license_expression: apache-2.0 AND hs-regexp + license_expression_spdx: Apache-2.0 AND Spencer-94 matches: - - score: '100.0' + - license_expression: apache-2.0 + spdx_license_expression: Apache-2.0 + from_file: start_line: 306 end_line: 309 + matcher: 2-aho + score: '100.0' matched_length: 47 match_coverage: '100.0' - matcher: 2-aho - license_expression: apache-2.0 - rule_identifier: apache-2.0_1021.RULE rule_relevance: 100 + rule_identifier: apache-2.0_1021.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1021.RULE matched_text: | This software was submitted by Cisco Systems to the Apache Software Foundation in July 1997. Future revisions and derivatives of this source code must acknowledge Cisco Systems as the original contributor of this module. All other licensing and usage conditions are those of the Apache Software Foundation. - - score: '100.0' + - license_expression: hs-regexp + spdx_license_expression: Spencer-94 + from_file: start_line: 317 end_line: 335 + matcher: 2-aho + score: '100.0' matched_length: 148 match_coverage: '100.0' - matcher: 2-aho - license_expression: hs-regexp - rule_identifier: hs-regexp_1.RULE rule_relevance: 100 + rule_identifier: hs-regexp_1.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/hs-regexp_1.RULE matched_text: | This software is not subject to any license of the American Telephone and @@ -403,16 +440,19 @@ other_license_detections: 4. This notice may not be removed or altered. identifier: apache_2_0_and_hs_regexp-418b8fd9-1905-1ad7-6930-311a90aaf0a7 - license_expression: bsd-unchanged + license_expression_spdx: LicenseRef-scancode-bsd-unchanged matches: - - score: '100.0' + - license_expression: bsd-unchanged + spdx_license_expression: LicenseRef-scancode-bsd-unchanged + from_file: start_line: 370 end_line: 391 + matcher: 1-hash + score: '100.0' matched_length: 208 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-unchanged - rule_identifier: bsd-unchanged_4.RULE rule_relevance: 100 + rule_identifier: bsd-unchanged_4.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-unchanged_4.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -439,16 +479,19 @@ other_license_detections: THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. identifier: bsd_unchanged-b3a50ceb-2258-90d8-693d-32de170e8f80 - license_expression: bsd-new + license_expression_spdx: BSD-3-Clause matches: - - score: '100.0' + - license_expression: bsd-new + spdx_license_expression: BSD-3-Clause + from_file: start_line: 395 end_line: 419 + matcher: 1-hash + score: '100.0' matched_length: 214 match_coverage: '100.0' - matcher: 1-hash - license_expression: bsd-new - rule_identifier: bsd-new_879.RULE rule_relevance: 100 + rule_identifier: bsd-new_879.RULE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_879.RULE matched_text: | Redistribution and use in source and binary forms, with or without @@ -478,16 +521,19 @@ other_license_detections: POSSIBILITY OF SUCH DAMAGE. identifier: bsd_new-bd6a26eb-db9d-de45-5d56-8c5674ddfb3f - license_expression: bison-exception-2.2 + license_expression_spdx: Bison-exception-2.2 matches: - - score: '100.0' + - license_expression: bison-exception-2.2 + spdx_license_expression: Bison-exception-2.2 + from_file: start_line: 422 end_line: 433 + matcher: 2-aho + score: '100.0' matched_length: 106 match_coverage: '100.0' - matcher: 2-aho - license_expression: bison-exception-2.2 - rule_identifier: bison-exception-2.2.LICENSE rule_relevance: 100 + rule_identifier: bison-exception-2.2.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bison-exception-2.2.LICENSE matched_text: | As a special exception, you may create a larger work that contains @@ -504,16 +550,19 @@ other_license_detections: version 2.2 of Bison. */ identifier: bison_exception_2_2-b8782f6d-6348-8be8-bb53-4f79d1684277 - license_expression: mit + license_expression_spdx: MIT matches: - - score: '100.0' + - license_expression: mit + spdx_license_expression: MIT + from_file: start_line: 439 end_line: 454 + matcher: 1-hash + score: '100.0' matched_length: 161 match_coverage: '100.0' - matcher: 1-hash - license_expression: mit - rule_identifier: mit.LICENSE rule_relevance: 100 + rule_identifier: mit.LICENSE rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE matched_text: | Permission is hereby granted, free of charge, to any person obtaining a copy of diff --git a/tests/packagedcode/data/debian/debian-container-layer.tar.xz.get-installed-expected.json b/tests/packagedcode/data/debian/debian-container-layer.tar.xz.get-installed-expected.json index fe4af469c0..3861deb82d 100644 --- a/tests/packagedcode/data/debian/debian-container-layer.tar.xz.get-installed-expected.json +++ b/tests/packagedcode/data/debian/debian-container-layer.tar.xz.get-installed-expected.json @@ -40,17 +40,20 @@ "license_detections": [ { "license_expression": "x11-fsf", + "license_expression_spdx": "X11-distribute-modifications-variant", "matches": [ { - "score": 100.0, + "license_expression": "x11-fsf", + "spdx_license_expression": "X11-distribute-modifications-variant", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libncurses5/copyright", "start_line": 23, "end_line": 45, + "matcher": "2-aho", + "score": 100.0, "matched_length": 200, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-fsf", - "rule_identifier": "x11-fsf.LICENSE", "rule_relevance": 100, + "rule_identifier": "x11-fsf.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-fsf.LICENSE", "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." } @@ -59,17 +62,20 @@ }, { "license_expression": "x11-xconsortium", + "license_expression_spdx": "X11", "matches": [ { - "score": 100.0, + "license_expression": "x11-xconsortium", + "spdx_license_expression": "X11", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libncurses5/copyright", "start_line": 50, "end_line": 70, + "matcher": "2-aho", + "score": 100.0, "matched_length": 201, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium", - "rule_identifier": "x11-xconsortium_2.RULE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE", "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." } @@ -78,17 +84,20 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libncurses5/copyright", "start_line": 76, "end_line": 98, + "matcher": "2-aho", + "score": 100.0, "matched_length": 213, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_19.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_19.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE", "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." } @@ -97,17 +106,20 @@ }, { "license_expression": "x11-xconsortium", + "license_expression_spdx": "X11", "matches": [ { - "score": 100.0, + "license_expression": "x11-xconsortium", + "spdx_license_expression": "X11", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libncurses5/copyright", "start_line": 105, "end_line": 127, + "matcher": "2-aho", + "score": 100.0, "matched_length": 199, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium", - "rule_identifier": "x11-xconsortium_41.RULE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_41.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_41.RULE", "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." } @@ -212,17 +224,20 @@ "license_detections": [ { "license_expression": "x11-fsf", + "license_expression_spdx": "X11-distribute-modifications-variant", "matches": [ { - "score": 100.0, + "license_expression": "x11-fsf", + "spdx_license_expression": "X11-distribute-modifications-variant", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libncurses5/copyright", "start_line": 23, "end_line": 45, + "matcher": "2-aho", + "score": 100.0, "matched_length": 200, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-fsf", - "rule_identifier": "x11-fsf.LICENSE", "rule_relevance": 100, + "rule_identifier": "x11-fsf.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-fsf.LICENSE", "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." } @@ -231,17 +246,20 @@ }, { "license_expression": "x11-xconsortium", + "license_expression_spdx": "X11", "matches": [ { - "score": 100.0, + "license_expression": "x11-xconsortium", + "spdx_license_expression": "X11", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libncurses5/copyright", "start_line": 50, "end_line": 70, + "matcher": "2-aho", + "score": 100.0, "matched_length": 201, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium", - "rule_identifier": "x11-xconsortium_2.RULE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE", "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." } @@ -250,17 +268,20 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libncurses5/copyright", "start_line": 76, "end_line": 98, + "matcher": "2-aho", + "score": 100.0, "matched_length": 213, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_19.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_19.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE", "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." } @@ -269,17 +290,20 @@ }, { "license_expression": "x11-xconsortium", + "license_expression_spdx": "X11", "matches": [ { - "score": 100.0, + "license_expression": "x11-xconsortium", + "spdx_license_expression": "X11", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libncurses5/copyright", "start_line": 105, "end_line": 127, + "matcher": "2-aho", + "score": 100.0, "matched_length": 199, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium", - "rule_identifier": "x11-xconsortium_41.RULE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_41.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_41.RULE", "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." } @@ -446,43 +470,50 @@ "other_license_detections": [ { "license_expression": "lgpl-2.1-plus AND lgpl-2.1", + "license_expression_spdx": "LGPL-2.1-or-later AND LGPL-2.1-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libndp0/copyright", "start_line": 13, "end_line": 13, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", "matched_text": "License: lgpl-2.1+" }, { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libndp0/copyright", "start_line": 14, "end_line": 26, + "matcher": "2-aho", + "score": 100.0, "matched_length": 117, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_93.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_93.RULE", "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" }, { - "score": 100.0, + "license_expression": "lgpl-2.1", + "spdx_license_expression": "LGPL-2.1-only", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libndp0/copyright", "start_line": 24, "end_line": 30, + "matcher": "2-aho", + "score": 100.0, "matched_length": 64, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1", - "rule_identifier": "lgpl-2.1_314.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1_314.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_314.RULE", "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'." } @@ -569,43 +600,50 @@ "other_license_detections": [ { "license_expression": "lgpl-2.1-plus AND lgpl-2.1", + "license_expression_spdx": "LGPL-2.1-or-later AND LGPL-2.1-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libndp0/copyright", "start_line": 13, "end_line": 13, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", "matched_text": "License: lgpl-2.1+" }, { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libndp0/copyright", "start_line": 14, "end_line": 26, + "matcher": "2-aho", + "score": 100.0, "matched_length": 117, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_93.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_93.RULE", "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" }, { - "score": 100.0, + "license_expression": "lgpl-2.1", + "spdx_license_expression": "LGPL-2.1-only", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libndp0/copyright", "start_line": 24, "end_line": 30, + "matcher": "2-aho", + "score": 100.0, "matched_length": 64, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1", - "rule_identifier": "lgpl-2.1_314.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1_314.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_314.RULE", "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'." } diff --git a/tests/packagedcode/data/debian/debian-container-layer.tar.xz.scan-expected.json b/tests/packagedcode/data/debian/debian-container-layer.tar.xz.scan-expected.json index 025f15cfef..00d1530c10 100644 --- a/tests/packagedcode/data/debian/debian-container-layer.tar.xz.scan-expected.json +++ b/tests/packagedcode/data/debian/debian-container-layer.tar.xz.scan-expected.json @@ -41,17 +41,20 @@ "license_detections": [ { "license_expression": "x11-fsf", + "license_expression_spdx": "X11-distribute-modifications-variant", "matches": [ { - "score": 100.0, + "license_expression": "x11-fsf", + "spdx_license_expression": "X11-distribute-modifications-variant", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libncurses5/copyright", "start_line": 23, "end_line": 45, + "matcher": "2-aho", + "score": 100.0, "matched_length": 200, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-fsf", - "rule_identifier": "x11-fsf.LICENSE", "rule_relevance": 100, + "rule_identifier": "x11-fsf.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-fsf.LICENSE", "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." } @@ -60,17 +63,20 @@ }, { "license_expression": "x11-xconsortium", + "license_expression_spdx": "X11", "matches": [ { - "score": 100.0, + "license_expression": "x11-xconsortium", + "spdx_license_expression": "X11", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libncurses5/copyright", "start_line": 50, "end_line": 70, + "matcher": "2-aho", + "score": 100.0, "matched_length": 201, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium", - "rule_identifier": "x11-xconsortium_2.RULE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE", "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." } @@ -79,17 +85,20 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libncurses5/copyright", "start_line": 76, "end_line": 98, + "matcher": "2-aho", + "score": 100.0, "matched_length": 213, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_19.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_19.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE", "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." } @@ -98,17 +107,20 @@ }, { "license_expression": "x11-xconsortium", + "license_expression_spdx": "X11", "matches": [ { - "score": 100.0, + "license_expression": "x11-xconsortium", + "spdx_license_expression": "X11", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libncurses5/copyright", "start_line": 105, "end_line": 127, + "matcher": "2-aho", + "score": 100.0, "matched_length": 199, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium", - "rule_identifier": "x11-xconsortium_41.RULE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_41.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_41.RULE", "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." } @@ -225,43 +237,50 @@ "other_license_detections": [ { "license_expression": "lgpl-2.1-plus AND lgpl-2.1", + "license_expression_spdx": "LGPL-2.1-or-later AND LGPL-2.1-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libndp0/copyright", "start_line": 13, "end_line": 13, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", "matched_text": "License: lgpl-2.1+" }, { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libndp0/copyright", "start_line": 14, "end_line": 26, + "matcher": "2-aho", + "score": 100.0, "matched_length": 117, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_93.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_93.RULE", "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" }, { - "score": 100.0, + "license_expression": "lgpl-2.1", + "spdx_license_expression": "LGPL-2.1-only", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libndp0/copyright", "start_line": 24, "end_line": 30, + "matcher": "2-aho", + "score": 100.0, "matched_length": 64, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1", - "rule_identifier": "lgpl-2.1_314.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1_314.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_314.RULE", "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'." } @@ -398,17 +417,20 @@ "license_detections": [ { "license_expression": "x11-fsf", + "license_expression_spdx": "X11-distribute-modifications-variant", "matches": [ { - "score": 100.0, + "license_expression": "x11-fsf", + "spdx_license_expression": "X11-distribute-modifications-variant", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libncurses5/copyright", "start_line": 23, "end_line": 45, + "matcher": "2-aho", + "score": 100.0, "matched_length": 200, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-fsf", - "rule_identifier": "x11-fsf.LICENSE", "rule_relevance": 100, + "rule_identifier": "x11-fsf.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-fsf.LICENSE", "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." } @@ -417,17 +439,20 @@ }, { "license_expression": "x11-xconsortium", + "license_expression_spdx": "X11", "matches": [ { - "score": 100.0, + "license_expression": "x11-xconsortium", + "spdx_license_expression": "X11", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libncurses5/copyright", "start_line": 50, "end_line": 70, + "matcher": "2-aho", + "score": 100.0, "matched_length": 201, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium", - "rule_identifier": "x11-xconsortium_2.RULE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE", "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." } @@ -436,17 +461,20 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libncurses5/copyright", "start_line": 76, "end_line": 98, + "matcher": "2-aho", + "score": 100.0, "matched_length": 213, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_19.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_19.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE", "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." } @@ -455,17 +483,20 @@ }, { "license_expression": "x11-xconsortium", + "license_expression_spdx": "X11", "matches": [ { - "score": 100.0, + "license_expression": "x11-xconsortium", + "spdx_license_expression": "X11", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libncurses5/copyright", "start_line": 105, "end_line": 127, + "matcher": "2-aho", + "score": 100.0, "matched_length": 199, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium", - "rule_identifier": "x11-xconsortium_41.RULE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_41.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_41.RULE", "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." } @@ -537,43 +568,50 @@ "other_license_detections": [ { "license_expression": "lgpl-2.1-plus AND lgpl-2.1", + "license_expression_spdx": "LGPL-2.1-or-later AND LGPL-2.1-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libndp0/copyright", "start_line": 13, "end_line": 13, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", "matched_text": "License: lgpl-2.1+" }, { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libndp0/copyright", "start_line": 14, "end_line": 26, + "matcher": "2-aho", + "score": 100.0, "matched_length": 117, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_93.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_93.RULE", "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" }, { - "score": 100.0, + "license_expression": "lgpl-2.1", + "spdx_license_expression": "LGPL-2.1-only", + "from_file": "debian-container-layer.tar.xz/usr/share/doc/libndp0/copyright", "start_line": 24, "end_line": 30, + "matcher": "2-aho", + "score": 100.0, "matched_length": 64, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1", - "rule_identifier": "lgpl-2.1_314.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1_314.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_314.RULE", "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'." } diff --git a/tests/packagedcode/data/freebsd/basic/+COMPACT_MANIFEST.expected b/tests/packagedcode/data/freebsd/basic/+COMPACT_MANIFEST.expected index a02a1d05fe..8c5f916b95 100644 --- a/tests/packagedcode/data/freebsd/basic/+COMPACT_MANIFEST.expected +++ b/tests/packagedcode/data/freebsd/basic/+COMPACT_MANIFEST.expected @@ -41,15 +41,18 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_bare_single_word.RULE", diff --git a/tests/packagedcode/data/freebsd/basic2/+COMPACT_MANIFEST.expected b/tests/packagedcode/data/freebsd/basic2/+COMPACT_MANIFEST.expected index 6c84cf1156..f375514b67 100644 --- a/tests/packagedcode/data/freebsd/basic2/+COMPACT_MANIFEST.expected +++ b/tests/packagedcode/data/freebsd/basic2/+COMPACT_MANIFEST.expected @@ -41,15 +41,18 @@ "license_detections": [ { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", "rule_identifier": "gpl-3.0_32.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_32.RULE", diff --git a/tests/packagedcode/data/freebsd/dual_license/+COMPACT_MANIFEST.expected b/tests/packagedcode/data/freebsd/dual_license/+COMPACT_MANIFEST.expected index bd4961cb27..aa75fc5ebd 100644 --- a/tests/packagedcode/data/freebsd/dual_license/+COMPACT_MANIFEST.expected +++ b/tests/packagedcode/data/freebsd/dual_license/+COMPACT_MANIFEST.expected @@ -42,15 +42,18 @@ "license_detections": [ { "license_expression": "ruby", + "license_expression_spdx": "Ruby", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "ruby", + "spdx_license_expression": "Ruby", "rule_identifier": "spdx-license-identifier-ruby-549f9d48faec54b20eadf7c9097124f88f2cdd2b", "rule_relevance": 100, "rule_url": null, @@ -61,15 +64,18 @@ }, { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_bare_single_word.RULE", diff --git a/tests/packagedcode/data/freebsd/dual_license2/+COMPACT_MANIFEST.expected b/tests/packagedcode/data/freebsd/dual_license2/+COMPACT_MANIFEST.expected index 6ebbc02da3..a4cc037597 100644 --- a/tests/packagedcode/data/freebsd/dual_license2/+COMPACT_MANIFEST.expected +++ b/tests/packagedcode/data/freebsd/dual_license2/+COMPACT_MANIFEST.expected @@ -42,15 +42,18 @@ "license_detections": [ { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", "rule_identifier": "gpl-3.0_32.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_32.RULE", @@ -61,15 +64,18 @@ }, { "license_expression": "ruby", + "license_expression_spdx": "Ruby", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "ruby", + "spdx_license_expression": "Ruby", "rule_identifier": "spdx-license-identifier-ruby-549f9d48faec54b20eadf7c9097124f88f2cdd2b", "rule_relevance": 100, "rule_url": null, @@ -80,15 +86,18 @@ }, { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_bare_single_word.RULE", diff --git a/tests/packagedcode/data/freebsd/multi_license/+COMPACT_MANIFEST.expected b/tests/packagedcode/data/freebsd/multi_license/+COMPACT_MANIFEST.expected index 79dbd93fc5..c55003b80d 100644 --- a/tests/packagedcode/data/freebsd/multi_license/+COMPACT_MANIFEST.expected +++ b/tests/packagedcode/data/freebsd/multi_license/+COMPACT_MANIFEST.expected @@ -42,15 +42,18 @@ "license_detections": [ { "license_expression": "python", + "license_expression_spdx": "Python-2.0", "matches": [ { "score": 80.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "python", + "spdx_license_expression": "Python-2.0", "rule_identifier": "python_10.RULE", "rule_relevance": 80, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/python_10.RULE", @@ -61,15 +64,18 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_416.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_416.RULE", diff --git a/tests/packagedcode/data/haxe/basic/haxelib.json.expected b/tests/packagedcode/data/haxe/basic/haxelib.json.expected index 5d7c6d033b..9d6292df72 100644 --- a/tests/packagedcode/data/haxe/basic/haxelib.json.expected +++ b/tests/packagedcode/data/haxe/basic/haxelib.json.expected @@ -74,15 +74,18 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", diff --git a/tests/packagedcode/data/haxe/basic2/haxelib.json.expected b/tests/packagedcode/data/haxe/basic2/haxelib.json.expected index 72154bf018..c05a6d17d2 100644 --- a/tests/packagedcode/data/haxe/basic2/haxelib.json.expected +++ b/tests/packagedcode/data/haxe/basic2/haxelib.json.expected @@ -41,15 +41,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/haxe/deps/haxelib.json.expected b/tests/packagedcode/data/haxe/deps/haxelib.json.expected index 32e605e550..3c30076376 100644 --- a/tests/packagedcode/data/haxe/deps/haxelib.json.expected +++ b/tests/packagedcode/data/haxe/deps/haxelib.json.expected @@ -49,15 +49,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "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", diff --git a/tests/packagedcode/data/haxe/tags/haxelib.json.expected b/tests/packagedcode/data/haxe/tags/haxelib.json.expected index 3e32cbf27b..38284ae52c 100644 --- a/tests/packagedcode/data/haxe/tags/haxelib.json.expected +++ b/tests/packagedcode/data/haxe/tags/haxelib.json.expected @@ -46,15 +46,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests-with-license.json b/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests-with-license.json index 75ae6bc2c6..8d6ebf9f0c 100644 --- a/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests-with-license.json +++ b/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests-with-license.json @@ -47,17 +47,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi-with-test-manifests/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } @@ -92,17 +95,82 @@ { "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8", "license_expression": "mit", - "detection_count": 4 + "license_expression_spdx": "MIT", + "detection_count": 4, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pypi-with-test-manifests/PKG-INFO", + "start_line": 14, + "end_line": 14, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE" + } + ] }, { "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", "license_expression": "mit", - "detection_count": 3 + "license_expression_spdx": "MIT", + "detection_count": 3, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pypi-with-test-manifests/LICENSE", + "start_line": 3, + "end_line": 19, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] }, { "identifier": "mit-56f9dd7c-a466-cdf0-4fe0-6e57d31bc32a", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "pypi-with-test-manifests/PKG-INFO", + "start_line": 26, + "end_line": 26, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_1.RULE" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pypi-with-test-manifests/LICENSE", + "start_line": 3, + "end_line": 19, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] } ], "files": [ @@ -118,17 +186,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi-with-test-manifests/LICENSE", "start_line": 3, "end_line": 19, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -204,17 +275,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi-with-test-manifests/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } @@ -248,17 +322,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi-with-test-manifests/PKG-INFO", "start_line": 14, "end_line": 14, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE" } ], @@ -266,29 +343,34 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "pypi-with-test-manifests/PKG-INFO", "start_line": 26, "end_line": 26, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_see_license_at_manifest_1.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_1.RULE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi-with-test-manifests/LICENSE", "start_line": 3, "end_line": 19, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -411,17 +493,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi-with-test-manifests/LICENSE", "start_line": 3, "end_line": 19, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -495,17 +580,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi-with-test-manifests/setup.cfg", "start_line": 12, "end_line": 12, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE" } ], @@ -807,17 +895,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi-with-test-manifests/setup.cfg", "start_line": 12, "end_line": 12, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE" } ], @@ -861,17 +952,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi-with-test-manifests/LICENSE", "start_line": 3, "end_line": 19, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], diff --git a/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests.json b/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests.json index 32b4ce017c..2d8dc56bbc 100644 --- a/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests.json +++ b/tests/packagedcode/data/instance/python-package-instance-expected-with-test-manifests.json @@ -47,17 +47,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi-with-test-manifests/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } @@ -158,17 +161,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi-with-test-manifests/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } diff --git a/tests/packagedcode/data/instance/python-package-instance-expected-with-uuid.json b/tests/packagedcode/data/instance/python-package-instance-expected-with-uuid.json index 2c3d445d1a..2944eaba65 100644 --- a/tests/packagedcode/data/instance/python-package-instance-expected-with-uuid.json +++ b/tests/packagedcode/data/instance/python-package-instance-expected-with-uuid.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "pypi/setup.cfg", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_1305.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_1305.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1305.RULE", "matched_text": "BSD-3-Clause license_files: LICENSE.rst" } @@ -179,17 +182,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "pypi/setup.cfg", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_1305.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_1305.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1305.RULE", "matched_text": "BSD-3-Clause license_files: LICENSE.rst" } diff --git a/tests/packagedcode/data/instance/python-package-instance-expected.json b/tests/packagedcode/data/instance/python-package-instance-expected.json index 2c3d445d1a..2944eaba65 100644 --- a/tests/packagedcode/data/instance/python-package-instance-expected.json +++ b/tests/packagedcode/data/instance/python-package-instance-expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "pypi/setup.cfg", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_1305.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_1305.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1305.RULE", "matched_text": "BSD-3-Clause license_files: LICENSE.rst" } @@ -179,17 +182,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "pypi/setup.cfg", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_1305.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_1305.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1305.RULE", "matched_text": "BSD-3-Clause license_files: LICENSE.rst" } diff --git a/tests/packagedcode/data/instance/python-package-instance-with-license-expected.json b/tests/packagedcode/data/instance/python-package-instance-with-license-expected.json index 4122635a3a..7bee9e8eae 100644 --- a/tests/packagedcode/data/instance/python-package-instance-with-license-expected.json +++ b/tests/packagedcode/data/instance/python-package-instance-with-license-expected.json @@ -37,30 +37,35 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "pypi/setup.cfg", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_1305.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_1305.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1305.RULE", "matched_text": "BSD-3-Clause license_files: LICENSE.rst" }, { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "pypi/LICENSE.rst", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE" } ], @@ -138,30 +143,126 @@ { "identifier": "bsd_new-261898a0-0118-87c4-7092-14e4ff134882", "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "detection_count": 2, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "pypi/LICENSE.rst", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 99.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE" + } + ] }, { "identifier": "bsd_new-68720980-08c9-ffb1-f28e-24c2e067385b", "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "detection_count": 1, "detection_log": [ "unknown-reference-to-local-file" + ], + "reference_matches": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "pypi/setup.cfg", + "start_line": 13, + "end_line": 14, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 8, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-new_1302.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1302.RULE" + }, + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "pypi/LICENSE.rst", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 99.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE" + } ] }, { "identifier": "bsd_new-c0e1e2ee-7e69-b9f1-a736-85b2eaa65db2", "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "detection_count": 1, "detection_log": [ "package-unknown-reference-to-local-file" + ], + "reference_matches": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "pypi/setup.cfg", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 7, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-new_1305.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1305.RULE" + }, + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "pypi/LICENSE.rst", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 99.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE" + } ] }, { "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "pypi/setup.cfg", + "start_line": 25, + "end_line": 25, + "matcher": "2-aho", + "score": 99.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE" + } + ] } ], "files": [ @@ -177,17 +278,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "pypi/LICENSE.rst", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE" } ], @@ -254,30 +358,35 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "pypi/setup.cfg", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_1305.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_1305.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1305.RULE", "matched_text": "BSD-3-Clause license_files: LICENSE.rst" }, { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "pypi/LICENSE.rst", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE" } ], @@ -322,29 +431,34 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "pypi/setup.cfg", "start_line": 13, "end_line": 14, + "matcher": "2-aho", + "score": 100.0, "matched_length": 8, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_1302.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_1302.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_1302.RULE" }, { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "pypi/LICENSE.rst", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE" } ], @@ -355,17 +469,20 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "pypi/setup.cfg", "start_line": 25, "end_line": 25, + "matcher": "2-aho", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE" } ], @@ -410,17 +527,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "pypi/LICENSE.rst", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE" } ], diff --git a/tests/packagedcode/data/license_detection/license-as-manifest-comment/activemq-camel.expected.json b/tests/packagedcode/data/license_detection/license-as-manifest-comment/activemq-camel.expected.json index 8e24930717..d154e50adb 100644 --- a/tests/packagedcode/data/license_detection/license-as-manifest-comment/activemq-camel.expected.json +++ b/tests/packagedcode/data/license_detection/license-as-manifest-comment/activemq-camel.expected.json @@ -29,19 +29,23 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "activemq-camel/activemq-camel-pom.xml", "start_line": 3, "end_line": 16, + "matcher": "2-aho", + "score": 100.0, "matched_length": 119, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_2.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE", - "matched_text": "Licensed to the Apache Software Foundation (ASF) under one or more\n contributor license agreements. See the NOTICE file distributed with\n this work for additional information regarding copyright ownership.\n The ASF licenses this file to You under the Apache License, Version 2.0\n (the \"License\"); you may not use this file except in compliance with\n the License. You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." + "matched_text": " Licensed to the Apache Software Foundation (ASF) under one or more\n contributor license agreements. See the NOTICE file distributed with\n this work for additional information regarding copyright ownership.\n The ASF licenses this file to You under the Apache License, Version 2.0\n (the \"License\"); you may not use this file except in compliance with\n the License. You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.", + "matched_text_diagnostics": "Licensed to the Apache Software Foundation (ASF) under one or more\n contributor license agreements. See the NOTICE file distributed with\n this work for additional information regarding copyright ownership.\n The ASF licenses this file to You under the Apache License, Version 2.0\n (the \"License\"); you may not use this file except in compliance with\n the License. You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." } ], "detection_log": [ @@ -232,9 +236,28 @@ { "identifier": "apache_2_0-4bde3f57-78aa-4201-96bf-531cba09e7de", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 2, "detection_log": [ "from-package-file" + ], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "activemq-camel/activemq-camel-pom.xml", + "start_line": 3, + "end_line": 16, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 119, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE", + "matched_text": " Licensed to the Apache Software Foundation (ASF) under one or more\n contributor license agreements. See the NOTICE file distributed with\n this work for additional information regarding copyright ownership.\n The ASF licenses this file to You under the Apache License, Version 2.0\n (the \"License\"); you may not use this file except in compliance with\n the License. You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.", + "matched_text_diagnostics": "Licensed to the Apache Software Foundation (ASF) under one or more\n contributor license agreements. See the NOTICE file distributed with\n this work for additional information regarding copyright ownership.\n The ASF licenses this file to You under the Apache License, Version 2.0\n (the \"License\"); you may not use this file except in compliance with\n the License. You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." + } ] } ], @@ -272,19 +295,23 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "activemq-camel/activemq-camel-pom.xml", "start_line": 3, "end_line": 16, + "matcher": "2-aho", + "score": 100.0, "matched_length": 119, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_2.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE", - "matched_text": "Licensed to the Apache Software Foundation (ASF) under one or more\n contributor license agreements. See the NOTICE file distributed with\n this work for additional information regarding copyright ownership.\n The ASF licenses this file to You under the Apache License, Version 2.0\n (the \"License\"); you may not use this file except in compliance with\n the License. You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." + "matched_text": " Licensed to the Apache Software Foundation (ASF) under one or more\n contributor license agreements. See the NOTICE file distributed with\n this work for additional information regarding copyright ownership.\n The ASF licenses this file to You under the Apache License, Version 2.0\n (the \"License\"); you may not use this file except in compliance with\n the License. You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.", + "matched_text_diagnostics": "Licensed to the Apache Software Foundation (ASF) under one or more\n contributor license agreements. See the NOTICE file distributed with\n this work for additional information regarding copyright ownership.\n The ASF licenses this file to You under the Apache License, Version 2.0\n (the \"License\"); you may not use this file except in compliance with\n the License. You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." } ], "detection_log": [ @@ -430,19 +457,23 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "activemq-camel/activemq-camel-pom.xml", "start_line": 3, "end_line": 16, + "matcher": "2-aho", + "score": 100.0, "matched_length": 119, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_2.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE", - "matched_text": "Licensed to the Apache Software Foundation (ASF) under one or more\n contributor license agreements. See the NOTICE file distributed with\n this work for additional information regarding copyright ownership.\n The ASF licenses this file to You under the Apache License, Version 2.0\n (the \"License\"); you may not use this file except in compliance with\n the License. You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." + "matched_text": " Licensed to the Apache Software Foundation (ASF) under one or more\n contributor license agreements. See the NOTICE file distributed with\n this work for additional information regarding copyright ownership.\n The ASF licenses this file to You under the Apache License, Version 2.0\n (the \"License\"); you may not use this file except in compliance with\n the License. You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.", + "matched_text_diagnostics": "Licensed to the Apache Software Foundation (ASF) under one or more\n contributor license agreements. See the NOTICE file distributed with\n this work for additional information regarding copyright ownership.\n The ASF licenses this file to You under the Apache License, Version 2.0\n (the \"License\"); you may not use this file except in compliance with\n the License. You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." } ], "detection_log": [ diff --git a/tests/packagedcode/data/license_detection/license-beside-manifest/google-built-collection-diag.expected.json b/tests/packagedcode/data/license_detection/license-beside-manifest/google-built-collection-diag.expected.json new file mode 100644 index 0000000000..7d58bae88e --- /dev/null +++ b/tests/packagedcode/data/license_detection/license-beside-manifest/google-built-collection-diag.expected.json @@ -0,0 +1,298 @@ +{ + "packages": [ + { + "type": "dart", + "namespace": null, + "name": "built_collection", + "version": "5.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "dart", + "description": "Immutable collections based on the SDK collections. Each SDK collection class is split into a new immutable collection class and a corresponding mutable builder class.\n", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://pub.dartlang.org/packages/built_collection/versions/5.1.1.tar.gz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/google/built_collection.dart", + "copyright": null, + "holder": null, + "declared_license_expression": "bsd-new", + "declared_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "matches": [ + { + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google-built-collection/LICENSE", + "start_line": 3, + "end_line": 28, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 212, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-new_166.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_166.RULE", + "matched_text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n\n * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n\n * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + } + ], + "detection_log": [], + "identifier": "bsd_new-050b3051-820b-200e-26c9-1a3c8e9761d2" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://pub.dev/packages/built_collection/versions/5.1.1", + "repository_download_url": "https://pub.dartlang.org/packages/built_collection/versions/5.1.1.tar.gz", + "api_data_url": "https://pub.dev/api/packages/built_collection/versions/5.1.1", + "package_uid": "pkg:dart/built_collection@5.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "pubspec.yaml" + ], + "datasource_ids": [ + "pubspec_yaml" + ], + "purl": "pkg:dart/built_collection@5.1.1" + } + ], + "dependencies": [ + { + "purl": "pkg:pubspec/pedantic", + "extracted_requirement": "^1.4.0", + "scope": "dev_dependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:pubspec/pedantic?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:dart/built_collection@5.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "pubspec.yaml", + "datasource_id": "pubspec_yaml" + }, + { + "purl": "pkg:pubspec/test", + "extracted_requirement": "^1.16.0-nullsafety", + "scope": "dev_dependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:pubspec/test?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:dart/built_collection@5.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "pubspec.yaml", + "datasource_id": "pubspec_yaml" + }, + { + "purl": "pkg:pubspec/sdk", + "extracted_requirement": ">=2.12.0-0 <3.0.0", + "scope": "environment", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:pubspec/sdk?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:dart/built_collection@5.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "pubspec.yaml", + "datasource_id": "pubspec_yaml" + } + ], + "license_detections": [ + { + "identifier": "bsd_new-050b3051-820b-200e-26c9-1a3c8e9761d2", + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "detection_count": 2, + "detection_log": [], + "reference_matches": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "google-built-collection/LICENSE", + "start_line": 3, + "end_line": 28, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 212, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-new_166.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_166.RULE", + "matched_text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n\n * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n\n * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + } + ] + } + ], + "files": [ + { + "path": "LICENSE", + "type": "file", + "package_data": [], + "for_packages": [], + "detected_license_expression": "bsd-new", + "detected_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "matches": [ + { + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google-built-collection/LICENSE", + "start_line": 3, + "end_line": 28, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 212, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-new_166.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_166.RULE", + "matched_text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n\n * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n\n * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + } + ], + "detection_log": [], + "identifier": "bsd_new-050b3051-820b-200e-26c9-1a3c8e9761d2" + } + ], + "license_clues": [], + "percentage_of_license_text": 96.8, + "scan_errors": [] + }, + { + "path": "pubspec.yaml", + "type": "file", + "package_data": [ + { + "type": "dart", + "namespace": null, + "name": "built_collection", + "version": "5.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "dart", + "description": "Immutable collections based on the SDK collections. Each SDK collection class is split into a new immutable collection class and a corresponding mutable builder class.\n", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://pub.dartlang.org/packages/built_collection/versions/5.1.1.tar.gz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/google/built_collection.dart", + "copyright": null, + "holder": null, + "declared_license_expression": "bsd-new", + "declared_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "matches": [ + { + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google-built-collection/LICENSE", + "start_line": 3, + "end_line": 28, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 212, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-new_166.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_166.RULE", + "matched_text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n\n * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n\n * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + } + ], + "detection_log": [], + "identifier": "bsd_new-050b3051-820b-200e-26c9-1a3c8e9761d2" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:pubspec/pedantic", + "extracted_requirement": "^1.4.0", + "scope": "dev_dependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pubspec/test", + "extracted_requirement": "^1.16.0-nullsafety", + "scope": "dev_dependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pubspec/sdk", + "extracted_requirement": ">=2.12.0-0 <3.0.0", + "scope": "environment", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": "https://pub.dev/packages/built_collection/versions/5.1.1", + "repository_download_url": "https://pub.dartlang.org/packages/built_collection/versions/5.1.1.tar.gz", + "api_data_url": "https://pub.dev/api/packages/built_collection/versions/5.1.1", + "datasource_id": "pubspec_yaml", + "purl": "pkg:dart/built_collection@5.1.1" + } + ], + "for_packages": [ + "pkg:dart/built_collection@5.1.1?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, + "scan_errors": [] + } + ] + } \ No newline at end of file diff --git a/tests/packagedcode/data/license_detection/license-beside-manifest/google-built-collection.expected.json b/tests/packagedcode/data/license_detection/license-beside-manifest/google-built-collection.expected.json index 287d86bf22..f815260013 100644 --- a/tests/packagedcode/data/license_detection/license-beside-manifest/google-built-collection.expected.json +++ b/tests/packagedcode/data/license_detection/license-beside-manifest/google-built-collection.expected.json @@ -29,22 +29,24 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google-built-collection/LICENSE", "start_line": 3, "end_line": 28, + "matcher": "2-aho", + "score": 100.0, "matched_length": 212, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_166.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_166.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_166.RULE", "matched_text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n\n * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." } ], - "detection_log": [], "identifier": "bsd_new-050b3051-820b-200e-26c9-1a3c8e9761d2" } ], @@ -116,8 +118,25 @@ { "identifier": "bsd_new-050b3051-820b-200e-26c9-1a3c8e9761d2", "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "detection_count": 2, - "detection_log": [] + "reference_matches": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "google-built-collection/LICENSE", + "start_line": 3, + "end_line": 28, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 212, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-new_166.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_166.RULE", + "matched_text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n\n * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + } + ] } ], "files": [ @@ -131,22 +150,24 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google-built-collection/LICENSE", "start_line": 3, "end_line": 28, + "matcher": "2-aho", + "score": 100.0, "matched_length": 212, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_166.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_166.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_166.RULE", "matched_text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n\n * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." } ], - "detection_log": [], "identifier": "bsd_new-050b3051-820b-200e-26c9-1a3c8e9761d2" } ], @@ -187,22 +208,24 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google-built-collection/LICENSE", "start_line": 3, "end_line": 28, + "matcher": "2-aho", + "score": 100.0, "matched_length": 212, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_166.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_166.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_166.RULE", "matched_text": "Redistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n\n * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." } ], - "detection_log": [], "identifier": "bsd_new-050b3051-820b-200e-26c9-1a3c8e9761d2" } ], diff --git a/tests/packagedcode/data/license_detection/license-beside-manifest/google-built-collection_without_license_text.expected.json b/tests/packagedcode/data/license_detection/license-beside-manifest/google-built-collection_without_license_text.expected.json new file mode 100644 index 0000000000..b4a967037d --- /dev/null +++ b/tests/packagedcode/data/license_detection/license-beside-manifest/google-built-collection_without_license_text.expected.json @@ -0,0 +1,286 @@ +{ + "packages": [ + { + "type": "dart", + "namespace": null, + "name": "built_collection", + "version": "5.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "dart", + "description": "Immutable collections based on the SDK collections. Each SDK collection class is split into a new immutable collection class and a corresponding mutable builder class.\n", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://pub.dartlang.org/packages/built_collection/versions/5.1.1.tar.gz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/google/built_collection.dart", + "copyright": null, + "holder": null, + "declared_license_expression": "bsd-new", + "declared_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "matches": [ + { + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google-built-collection/LICENSE", + "start_line": 3, + "end_line": 28, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 212, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-new_166.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_166.RULE" + } + ], + "identifier": "bsd_new-050b3051-820b-200e-26c9-1a3c8e9761d2" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "extra_data": {}, + "repository_homepage_url": "https://pub.dev/packages/built_collection/versions/5.1.1", + "repository_download_url": "https://pub.dartlang.org/packages/built_collection/versions/5.1.1.tar.gz", + "api_data_url": "https://pub.dev/api/packages/built_collection/versions/5.1.1", + "package_uid": "pkg:dart/built_collection@5.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_paths": [ + "pubspec.yaml" + ], + "datasource_ids": [ + "pubspec_yaml" + ], + "purl": "pkg:dart/built_collection@5.1.1" + } + ], + "dependencies": [ + { + "purl": "pkg:pubspec/pedantic", + "extracted_requirement": "^1.4.0", + "scope": "dev_dependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:pubspec/pedantic?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:dart/built_collection@5.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "pubspec.yaml", + "datasource_id": "pubspec_yaml" + }, + { + "purl": "pkg:pubspec/test", + "extracted_requirement": "^1.16.0-nullsafety", + "scope": "dev_dependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:pubspec/test?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:dart/built_collection@5.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "pubspec.yaml", + "datasource_id": "pubspec_yaml" + }, + { + "purl": "pkg:pubspec/sdk", + "extracted_requirement": ">=2.12.0-0 <3.0.0", + "scope": "environment", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {}, + "dependency_uid": "pkg:pubspec/sdk?uuid=fixed-uid-done-for-testing-5642512d1758", + "for_package_uid": "pkg:dart/built_collection@5.1.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datafile_path": "pubspec.yaml", + "datasource_id": "pubspec_yaml" + } + ], + "license_detections": [ + { + "identifier": "bsd_new-050b3051-820b-200e-26c9-1a3c8e9761d2", + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "google-built-collection/LICENSE", + "start_line": 3, + "end_line": 28, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 212, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-new_166.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_166.RULE" + } + ] + } + ], + "files": [ + { + "path": "LICENSE", + "type": "file", + "package_data": [], + "for_packages": [], + "detected_license_expression": "bsd-new", + "detected_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "matches": [ + { + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google-built-collection/LICENSE", + "start_line": 3, + "end_line": 28, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 212, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-new_166.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_166.RULE" + } + ], + "identifier": "bsd_new-050b3051-820b-200e-26c9-1a3c8e9761d2" + } + ], + "license_clues": [], + "percentage_of_license_text": 96.8, + "scan_errors": [] + }, + { + "path": "pubspec.yaml", + "type": "file", + "package_data": [ + { + "type": "dart", + "namespace": null, + "name": "built_collection", + "version": "5.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "dart", + "description": "Immutable collections based on the SDK collections. Each SDK collection class is split into a new immutable collection class and a corresponding mutable builder class.\n", + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": "https://pub.dartlang.org/packages/built_collection/versions/5.1.1.tar.gz", + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "https://github.com/google/built_collection.dart", + "copyright": null, + "holder": null, + "declared_license_expression": "bsd-new", + "declared_license_expression_spdx": "BSD-3-Clause", + "license_detections": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "matches": [ + { + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google-built-collection/LICENSE", + "start_line": 3, + "end_line": 28, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 212, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-new_166.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_166.RULE" + } + ], + "identifier": "bsd_new-050b3051-820b-200e-26c9-1a3c8e9761d2" + } + ], + "other_license_expression": null, + "other_license_expression_spdx": null, + "other_license_detections": [], + "extracted_license_statement": null, + "notice_text": null, + "source_packages": [], + "file_references": [], + "extra_data": {}, + "dependencies": [ + { + "purl": "pkg:pubspec/pedantic", + "extracted_requirement": "^1.4.0", + "scope": "dev_dependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pubspec/test", + "extracted_requirement": "^1.16.0-nullsafety", + "scope": "dev_dependencies", + "is_runtime": false, + "is_optional": true, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + }, + { + "purl": "pkg:pubspec/sdk", + "extracted_requirement": ">=2.12.0-0 <3.0.0", + "scope": "environment", + "is_runtime": true, + "is_optional": false, + "is_resolved": false, + "resolved_package": {}, + "extra_data": {} + } + ], + "repository_homepage_url": "https://pub.dev/packages/built_collection/versions/5.1.1", + "repository_download_url": "https://pub.dartlang.org/packages/built_collection/versions/5.1.1.tar.gz", + "api_data_url": "https://pub.dev/api/packages/built_collection/versions/5.1.1", + "datasource_id": "pubspec_yaml", + "purl": "pkg:dart/built_collection@5.1.1" + } + ], + "for_packages": [ + "pkg:dart/built_collection@5.1.1?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, + "scan_errors": [] + } + ] +} \ No newline at end of file diff --git a/tests/packagedcode/data/license_detection/multi-flavor/jquery-form-3.51.0.expected.json b/tests/packagedcode/data/license_detection/multi-flavor/jquery-form-3.51.0.expected.json index caeb24426f..fd53323f40 100644 --- a/tests/packagedcode/data/license_detection/multi-flavor/jquery-form-3.51.0.expected.json +++ b/tests/packagedcode/data/license_detection/multi-flavor/jquery-form-3.51.0.expected.json @@ -55,19 +55,23 @@ "license_detections": [ { "license_expression": "mit OR gpl-2.0", + "license_expression_spdx": "MIT OR GPL-2.0-only", "matches": [ { - "score": 94.81, + "license_expression": "mit OR gpl-2.0", + "spdx_license_expression": "MIT OR GPL-2.0-only", + "from_file": "jquery-form-3.51.0/README.md", "start_line": 12, "end_line": 21, + "matcher": "3-seq", + "score": 94.81, "matched_length": 128, "match_coverage": 94.81, - "matcher": "3-seq", - "license_expression": "mit OR gpl-2.0", - "rule_identifier": "mit_or_gpl-2.0_68.RULE", "rule_relevance": 100, + "rule_identifier": "mit_or_gpl-2.0_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_gpl-2.0_68.RULE", - "matched_text": "are dual licensed under the MIT and GPL licenses:\n\n* [MIT](http://malsup.github.com/mit-license.txt)\n* [GPL](http://malsup.github.com/gpl-license-v2.txt)\n\nYou may use either license. The MIT License is recommended for most projects because it is simple and easy to understand and it places almost no restrictions on what you can do with the plugin.\n\nIf the GPL suits your project better you are also free to use the plugin under that license.\n\nYou don't have to do anything special to choose one license or the other and you don't have to notify anyone which license you are using. You are free to use the jQuery Form Plugin in commercial projects as long as the copyright header is left intact." + "matched_text": "are dual licensed under the MIT and GPL licenses:\n\n* [MIT](http://malsup.github.com/mit-license.txt)\n* [GPL](http://malsup.github.com/gpl-license-v2.txt)\n\nYou may use either license. The MIT License is recommended for most projects because it is simple and easy to understand and it places almost no restrictions on what you can do with the plugin.\n\nIf the GPL suits your project better you are also free to use the plugin under that license.\n\nYou don't have to do anything special to choose one license or the other and you don't have to notify anyone which license you are using. You are free to use the jQuery Form Plugin in commercial projects as long as the copyright header is left intact.", + "matched_text_diagnostics": "are dual licensed under the MIT and GPL licenses:\n\n* [MIT](http://malsup.github.com/mit-license.txt)\n* [GPL](http://malsup.github.com/gpl-license-v2.txt)\n\nYou may use either license. The MIT License is recommended for most projects because it is simple and easy to understand and it places almost no restrictions on what you can do with the plugin.\n\nIf the GPL suits your project better you are also free to use the plugin under that license.\n\nYou don't have to do anything special to choose one license or the other and you don't have to notify anyone which license you are using. You are free to use the jQuery Form Plugin in commercial projects as long as the copyright header is left intact." } ], "detection_log": [], @@ -137,17 +141,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "jquery-form-3.51.0/composer.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -156,17 +163,20 @@ }, { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "jquery-form-3.51.0/composer.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_52.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_52.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_52.RULE", "matched_text": "GPL-2.0" } @@ -234,17 +244,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "jquery-form-3.51.0/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -253,17 +266,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "jquery-form-3.51.0/package.json", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_14.RULE", "rule_relevance": 100, + "rule_identifier": "mit_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", "matched_text": "http://malsup.github.com/mit-license.txt" } @@ -272,17 +288,20 @@ }, { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { - "score": 50.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "jquery-form-3.51.0/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 50.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, + "rule_identifier": "gpl_bare_word_only.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", "matched_text": "GPL" } @@ -291,17 +310,20 @@ }, { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "jquery-form-3.51.0/package.json", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_200.RULE", "rule_relevance": 100, + "rule_identifier": "gpl_200.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_200.RULE", "matched_text": "http://malsup.github.com/gpl-license-v2.txt" } @@ -447,50 +469,213 @@ { "identifier": "mit_or_gpl_2_0_plus__and_gpl_2_0-876682c2-38c1-1236-75ea-c46243d9c414", "license_expression": "(mit OR gpl-2.0-plus) AND gpl-2.0", + "license_expression_spdx": "(MIT OR GPL-2.0-or-later) AND GPL-2.0-only", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "mit OR gpl-2.0-plus", + "license_expression_spdx": "MIT OR GPL-2.0-or-later", + "from_file": "jquery-form-3.51.0/composer.json", + "start_line": 21, + "end_line": 23, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_or_gpl-2.0-plus_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_gpl-2.0-plus_1.RULE", + "matched_text": " \"license\": [\n \"MIT\",\n \"GPL-2.0\"", + "matched_text_diagnostics": "license\": [\n \"MIT\",\n \"GPL-" + }, + { + "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", + "from_file": "jquery-form-3.51.0/composer.json", + "start_line": 23, + "end_line": 23, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0_52.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_52.RULE", + "matched_text": " \"GPL-2.0\"", + "matched_text_diagnostics": "GPL-2.0\"" + } + ] }, { "identifier": "gpl_1_0_plus-473308ff-72ce-7e72-b3a9-5b1cc6680abb", "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "jquery-form-3.51.0/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 50.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 50, + "rule_identifier": "gpl_bare_word_only.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", + "matched_text": "GPL" + } + ] }, { "identifier": "gpl_1_0_plus-b6a20479-06f3-d753-878b-d3193c879108", "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "jquery-form-3.51.0/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl_200.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_200.RULE", + "matched_text": "http://malsup.github.com/gpl-license-v2.txt" + } + ] }, { "identifier": "gpl_2_0-d7f02717-086e-f71b-962e-b18cc23b1827", "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", + "from_file": "jquery-form-3.51.0/composer.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0_52.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_52.RULE", + "matched_text": "GPL-2.0" + } + ] }, { "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", "license_expression": "mit", + "license_expression_spdx": "MIT", "detection_count": 2, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "jquery-form-3.51.0/composer.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_url": null, + "matched_text": "MIT" + } + ] }, { "identifier": "mit-9967e727-165e-9bb5-f090-7de5e47a3929", "license_expression": "mit", + "license_expression_spdx": "MIT", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "jquery-form-3.51.0/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_14.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", + "matched_text": "http://malsup.github.com/mit-license.txt" + } + ] }, { "identifier": "mit_or_gpl_2_0-562fb174-abc9-da75-d29f-5bc4f1d9c56f", "license_expression": "mit OR gpl-2.0", + "license_expression_spdx": "MIT OR GPL-2.0-only", "detection_count": 2, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "mit OR gpl-2.0", + "license_expression_spdx": "MIT OR GPL-2.0-only", + "from_file": "jquery-form-3.51.0/README.md", + "start_line": 12, + "end_line": 21, + "matcher": "3-seq", + "score": 94.81, + "matched_length": 128, + "match_coverage": 94.81, + "rule_relevance": 100, + "rule_identifier": "mit_or_gpl-2.0_68.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_gpl-2.0_68.RULE", + "matched_text": "are dual licensed under the MIT and GPL licenses:\n\n* [MIT](http://malsup.github.com/mit-license.txt)\n* [GPL](http://malsup.github.com/gpl-license-v2.txt)\n\nYou may use either license. The MIT License is recommended for most projects because it is simple and easy to understand and it places almost no restrictions on what you can do with the plugin.\n\nIf the GPL suits your project better you are also free to use the plugin under that license.\n\nYou don't have to do anything special to choose one license or the other and you don't have to notify anyone which license you are using. You are free to use the jQuery Form Plugin in commercial projects as long as the copyright header is left intact.", + "matched_text_diagnostics": "are dual licensed under the MIT and GPL licenses:\n\n* [MIT](http://malsup.github.com/mit-license.txt)\n* [GPL](http://malsup.github.com/gpl-license-v2.txt)\n\nYou may use either license. The MIT License is recommended for most projects because it is simple and easy to understand and it places almost no restrictions on what you can do with the plugin.\n\nIf the GPL suits your project better you are also free to use the plugin under that license.\n\nYou don't have to do anything special to choose one license or the other and you don't have to notify anyone which license you are using. You are free to use the jQuery Form Plugin in commercial projects as long as the copyright header is left intact." + } + ] }, { "identifier": "mit_or_gpl_2_0-7f34a90b-f7b4-e345-2cc0-2de55fdcc1bd", "license_expression": "mit OR gpl-2.0", + "license_expression_spdx": "MIT OR GPL-2.0-only", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "mit OR gpl-2.0", + "license_expression_spdx": "MIT OR GPL-2.0-only", + "from_file": "jquery-form-3.51.0/package.json", + "start_line": 17, + "end_line": 22, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 21, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_or_gpl-2.0_69.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_gpl-2.0_69.RULE", + "matched_text": " \"type\": \"MIT\",\n \"url\": \"http://malsup.github.com/mit-license.txt\"\n },\n {\n \"type\": \"GPL\",\n \"url\": \"http://malsup.github.com/gpl-license-v2.txt\"", + "matched_text_diagnostics": "type\": \"MIT\",\n \"url\": \"http://malsup.github.com/mit-license.txt\"\n },\n {\n \"type\": \"GPL\",\n \"url\": \"http://malsup.github.com/gpl-license-v2.txt\"" + } + ] } ], "files": [ @@ -511,19 +696,23 @@ "license_detections": [ { "license_expression": "mit OR gpl-2.0", + "license_expression_spdx": "MIT OR GPL-2.0-only", "matches": [ { - "score": 94.81, + "license_expression": "mit OR gpl-2.0", + "spdx_license_expression": "MIT OR GPL-2.0-only", + "from_file": "jquery-form-3.51.0/README.md", "start_line": 12, "end_line": 21, + "matcher": "3-seq", + "score": 94.81, "matched_length": 128, "match_coverage": 94.81, - "matcher": "3-seq", - "license_expression": "mit OR gpl-2.0", - "rule_identifier": "mit_or_gpl-2.0_68.RULE", "rule_relevance": 100, + "rule_identifier": "mit_or_gpl-2.0_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_gpl-2.0_68.RULE", - "matched_text": "are dual licensed under the MIT and GPL licenses:\n\n* [MIT](http://malsup.github.com/mit-license.txt)\n* [GPL](http://malsup.github.com/gpl-license-v2.txt)\n\nYou may use either license. The MIT License is recommended for most projects because it is simple and easy to understand and it places almost no restrictions on what you can do with the plugin.\n\nIf the GPL suits your project better you are also free to use the plugin under that license.\n\nYou don't have to do anything special to choose one license or the other and you don't have to notify anyone which license you are using. You are free to use the jQuery Form Plugin in commercial projects as long as the copyright header is left intact." + "matched_text": "are dual licensed under the MIT and GPL licenses:\n\n* [MIT](http://malsup.github.com/mit-license.txt)\n* [GPL](http://malsup.github.com/gpl-license-v2.txt)\n\nYou may use either license. The MIT License is recommended for most projects because it is simple and easy to understand and it places almost no restrictions on what you can do with the plugin.\n\nIf the GPL suits your project better you are also free to use the plugin under that license.\n\nYou don't have to do anything special to choose one license or the other and you don't have to notify anyone which license you are using. You are free to use the jQuery Form Plugin in commercial projects as long as the copyright header is left intact.", + "matched_text_diagnostics": "are dual licensed under the MIT and GPL licenses:\n\n* [MIT](http://malsup.github.com/mit-license.txt)\n* [GPL](http://malsup.github.com/gpl-license-v2.txt)\n\nYou may use either license. The MIT License is recommended for most projects because it is simple and easy to understand and it places almost no restrictions on what you can do with the plugin.\n\nIf the GPL suits your project better you are also free to use the plugin under that license.\n\nYou don't have to do anything special to choose one license or the other and you don't have to notify anyone which license you are using. You are free to use the jQuery Form Plugin in commercial projects as long as the copyright header is left intact." } ], "detection_log": [], @@ -567,19 +756,23 @@ "license_detections": [ { "license_expression": "mit OR gpl-2.0", + "license_expression_spdx": "MIT OR GPL-2.0-only", "matches": [ { - "score": 94.81, + "license_expression": "mit OR gpl-2.0", + "spdx_license_expression": "MIT OR GPL-2.0-only", + "from_file": "jquery-form-3.51.0/README.md", "start_line": 12, "end_line": 21, + "matcher": "3-seq", + "score": 94.81, "matched_length": 128, "match_coverage": 94.81, - "matcher": "3-seq", - "license_expression": "mit OR gpl-2.0", - "rule_identifier": "mit_or_gpl-2.0_68.RULE", "rule_relevance": 100, + "rule_identifier": "mit_or_gpl-2.0_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_gpl-2.0_68.RULE", - "matched_text": "are dual licensed under the MIT and GPL licenses:\n\n* [MIT](http://malsup.github.com/mit-license.txt)\n* [GPL](http://malsup.github.com/gpl-license-v2.txt)\n\nYou may use either license. The MIT License is recommended for most projects because it is simple and easy to understand and it places almost no restrictions on what you can do with the plugin.\n\nIf the GPL suits your project better you are also free to use the plugin under that license.\n\nYou don't have to do anything special to choose one license or the other and you don't have to notify anyone which license you are using. You are free to use the jQuery Form Plugin in commercial projects as long as the copyright header is left intact." + "matched_text": "are dual licensed under the MIT and GPL licenses:\n\n* [MIT](http://malsup.github.com/mit-license.txt)\n* [GPL](http://malsup.github.com/gpl-license-v2.txt)\n\nYou may use either license. The MIT License is recommended for most projects because it is simple and easy to understand and it places almost no restrictions on what you can do with the plugin.\n\nIf the GPL suits your project better you are also free to use the plugin under that license.\n\nYou don't have to do anything special to choose one license or the other and you don't have to notify anyone which license you are using. You are free to use the jQuery Form Plugin in commercial projects as long as the copyright header is left intact.", + "matched_text_diagnostics": "are dual licensed under the MIT and GPL licenses:\n\n* [MIT](http://malsup.github.com/mit-license.txt)\n* [GPL](http://malsup.github.com/gpl-license-v2.txt)\n\nYou may use either license. The MIT License is recommended for most projects because it is simple and easy to understand and it places almost no restrictions on what you can do with the plugin.\n\nIf the GPL suits your project better you are also free to use the plugin under that license.\n\nYou don't have to do anything special to choose one license or the other and you don't have to notify anyone which license you are using. You are free to use the jQuery Form Plugin in commercial projects as long as the copyright header is left intact." } ], "detection_log": [], @@ -677,17 +870,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "jquery-form-3.51.0/composer.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -696,17 +892,20 @@ }, { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "jquery-form-3.51.0/composer.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_52.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_52.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_52.RULE", "matched_text": "GPL-2.0" } @@ -755,32 +954,39 @@ "license_detections": [ { "license_expression": "(mit OR gpl-2.0-plus) AND gpl-2.0", + "license_expression_spdx": "(MIT OR GPL-2.0-or-later) AND GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "mit OR gpl-2.0-plus", + "spdx_license_expression": "MIT OR GPL-2.0-or-later", + "from_file": "jquery-form-3.51.0/composer.json", "start_line": 21, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit OR gpl-2.0-plus", - "rule_identifier": "mit_or_gpl-2.0-plus_1.RULE", "rule_relevance": 100, + "rule_identifier": "mit_or_gpl-2.0-plus_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_gpl-2.0-plus_1.RULE", - "matched_text": "license\": [\n \"MIT\",\n \"GPL-" + "matched_text": " \"license\": [\n \"MIT\",\n \"GPL-2.0\"", + "matched_text_diagnostics": "license\": [\n \"MIT\",\n \"GPL-" }, { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "jquery-form-3.51.0/composer.json", "start_line": 23, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_52.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_52.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_52.RULE", - "matched_text": "GPL-2.0\"" + "matched_text": " \"GPL-2.0\"", + "matched_text_diagnostics": "GPL-2.0\"" } ], "detection_log": [], @@ -836,17 +1042,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "jquery-form-3.51.0/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -855,17 +1064,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "jquery-form-3.51.0/package.json", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_14.RULE", "rule_relevance": 100, + "rule_identifier": "mit_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", "matched_text": "http://malsup.github.com/mit-license.txt" } @@ -874,17 +1086,20 @@ }, { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { - "score": 50.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "jquery-form-3.51.0/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 50.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, + "rule_identifier": "gpl_bare_word_only.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", "matched_text": "GPL" } @@ -893,17 +1108,20 @@ }, { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "jquery-form-3.51.0/package.json", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_200.RULE", "rule_relevance": 100, + "rule_identifier": "gpl_200.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_200.RULE", "matched_text": "http://malsup.github.com/gpl-license-v2.txt" } @@ -1001,19 +1219,23 @@ "license_detections": [ { "license_expression": "mit OR gpl-2.0", + "license_expression_spdx": "MIT OR GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "mit OR gpl-2.0", + "spdx_license_expression": "MIT OR GPL-2.0-only", + "from_file": "jquery-form-3.51.0/package.json", "start_line": 17, "end_line": 22, + "matcher": "2-aho", + "score": 100.0, "matched_length": 21, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit OR gpl-2.0", - "rule_identifier": "mit_or_gpl-2.0_69.RULE", "rule_relevance": 100, + "rule_identifier": "mit_or_gpl-2.0_69.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_gpl-2.0_69.RULE", - "matched_text": "type\": \"MIT\",\n \"url\": \"http://malsup.github.com/mit-license.txt\"\n },\n {\n \"type\": \"GPL\",\n \"url\": \"http://malsup.github.com/gpl-license-v2.txt\"" + "matched_text": " \"type\": \"MIT\",\n \"url\": \"http://malsup.github.com/mit-license.txt\"\n },\n {\n \"type\": \"GPL\",\n \"url\": \"http://malsup.github.com/gpl-license-v2.txt\"", + "matched_text_diagnostics": "type\": \"MIT\",\n \"url\": \"http://malsup.github.com/mit-license.txt\"\n },\n {\n \"type\": \"GPL\",\n \"url\": \"http://malsup.github.com/gpl-license-v2.txt\"" } ], "detection_log": [], diff --git a/tests/packagedcode/data/license_detection/reference-at-manifest/fizzler.expected.json b/tests/packagedcode/data/license_detection/reference-at-manifest/fizzler.expected.json index 0b89a2b049..e0f09ad8b6 100644 --- a/tests/packagedcode/data/license_detection/reference-at-manifest/fizzler.expected.json +++ b/tests/packagedcode/data/license_detection/reference-at-manifest/fizzler.expected.json @@ -37,45 +37,54 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND gpl-1.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND GPL-1.0-or-later", "matches": [ { - "score": 16.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "fizzler/Fizzler.nuspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 16.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_383.RULE", "rule_relevance": 16, + "rule_identifier": "unknown-license-reference_383.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_383.RULE", "matched_text": "license COPYING.txt" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "fizzler/COPYING.txt", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", - "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE" + "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE", + "matched_text_diagnostics": "GNU LESSER GENERAL PUBLIC LICENSE" }, { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "fizzler/COPYING.txt", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_63.RULE", "rule_relevance": 100, + "rule_identifier": "gpl_63.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_63.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE" + "matched_text": "GNU GENERAL PUBLIC LICENSE", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE" } ], "identifier": "lgpl_2_0_plus_and_gpl_1_0_plus-de66a0ae-df4d-ab6b-975e-8deb27c0f945", @@ -144,23 +153,159 @@ { "identifier": "lgpl_2_0_plus_and_gpl_1_0_plus-17115808-8fc8-9c98-b64d-c5013bcbde1b", "license_expression": "lgpl-2.0-plus AND gpl-1.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND GPL-1.0-or-later", "detection_count": 1, "detection_log": [ "unknown-reference-to-local-file" + ], + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "fizzler/Fizzler.nuspec", + "start_line": 9, + "end_line": 9, + "matcher": "2-aho", + "score": 33.0, + "matched_length": 6, + "match_coverage": 100.0, + "rule_relevance": 33, + "rule_identifier": "unknown-license-reference_382.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_382.RULE", + "matched_text": " COPYING.txt", + "matched_text_diagnostics": "license type=\"file\">COPYING.txt" + }, + { + "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", + "from_file": "fizzler/COPYING.txt", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_87.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", + "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE", + "matched_text_diagnostics": "GNU LESSER GENERAL PUBLIC LICENSE" + }, + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "fizzler/COPYING.txt", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl_63.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_63.RULE", + "matched_text": "GNU GENERAL PUBLIC LICENSE", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE" + } ] }, { "identifier": "lgpl_2_0_plus_and_gpl_1_0_plus-2a11c930-7038-736e-5e48-b35f872691cc", "license_expression": "lgpl-2.0-plus AND gpl-1.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND GPL-1.0-or-later", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", + "from_file": "fizzler/COPYING.txt", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_87.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", + "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE", + "matched_text_diagnostics": "GNU LESSER GENERAL PUBLIC LICENSE" + }, + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "fizzler/COPYING.txt", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl_63.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_63.RULE", + "matched_text": "GNU GENERAL PUBLIC LICENSE", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE" + } + ] }, { "identifier": "lgpl_2_0_plus_and_gpl_1_0_plus-de66a0ae-df4d-ab6b-975e-8deb27c0f945", "license_expression": "lgpl-2.0-plus AND gpl-1.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND GPL-1.0-or-later", "detection_count": 1, "detection_log": [ "package-unknown-reference-to-local-file" + ], + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "fizzler/Fizzler.nuspec", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 16.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 16, + "rule_identifier": "unknown-license-reference_383.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_383.RULE", + "matched_text": "license COPYING.txt" + }, + { + "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", + "from_file": "fizzler/COPYING.txt", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_87.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", + "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE", + "matched_text_diagnostics": "GNU LESSER GENERAL PUBLIC LICENSE" + }, + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "fizzler/COPYING.txt", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl_63.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_63.RULE", + "matched_text": "GNU GENERAL PUBLIC LICENSE", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE" + } ] } ], @@ -175,32 +320,39 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND gpl-1.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND GPL-1.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "fizzler/COPYING.txt", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", - "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE" + "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE", + "matched_text_diagnostics": "GNU LESSER GENERAL PUBLIC LICENSE" }, { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "fizzler/COPYING.txt", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_63.RULE", "rule_relevance": 100, + "rule_identifier": "gpl_63.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_63.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE" + "matched_text": "GNU GENERAL PUBLIC LICENSE", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE" } ], "detection_log": [], @@ -252,45 +404,54 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND gpl-1.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND GPL-1.0-or-later", "matches": [ { - "score": 16.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "fizzler/Fizzler.nuspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 16.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_383.RULE", "rule_relevance": 16, + "rule_identifier": "unknown-license-reference_383.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_383.RULE", "matched_text": "license COPYING.txt" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "fizzler/COPYING.txt", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", - "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE" + "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE", + "matched_text_diagnostics": "GNU LESSER GENERAL PUBLIC LICENSE" }, { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "fizzler/COPYING.txt", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_63.RULE", "rule_relevance": 100, + "rule_identifier": "gpl_63.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_63.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE" + "matched_text": "GNU GENERAL PUBLIC LICENSE", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE" } ], "identifier": "lgpl_2_0_plus_and_gpl_1_0_plus-de66a0ae-df4d-ab6b-975e-8deb27c0f945", @@ -350,45 +511,55 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND gpl-1.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND GPL-1.0-or-later", "matches": [ { - "score": 33.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "fizzler/Fizzler.nuspec", "start_line": 9, "end_line": 9, + "matcher": "2-aho", + "score": 33.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_382.RULE", "rule_relevance": 33, + "rule_identifier": "unknown-license-reference_382.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_382.RULE", - "matched_text": "license type=\"file\">COPYING.txt" + "matched_text": " COPYING.txt", + "matched_text_diagnostics": "license type=\"file\">COPYING.txt" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "fizzler/COPYING.txt", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", - "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE" + "matched_text": "GNU LESSER GENERAL PUBLIC LICENSE", + "matched_text_diagnostics": "GNU LESSER GENERAL PUBLIC LICENSE" }, { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "fizzler/COPYING.txt", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_63.RULE", "rule_relevance": 100, + "rule_identifier": "gpl_63.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_63.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE" + "matched_text": "GNU GENERAL PUBLIC LICENSE", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE" } ], "detection_log": [ diff --git a/tests/packagedcode/data/license_detection/reference-at-manifest/flutter_playtabs_bridge.expected.json b/tests/packagedcode/data/license_detection/reference-at-manifest/flutter_playtabs_bridge.expected.json index 0b093616e6..44e49003c6 100644 --- a/tests/packagedcode/data/license_detection/reference-at-manifest/flutter_playtabs_bridge.expected.json +++ b/tests/packagedcode/data/license_detection/reference-at-manifest/flutter_playtabs_bridge.expected.json @@ -37,45 +37,54 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "flutter_playtabs_bridge/flutter_paytabs_bridge.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_see_license_at_manifest_1.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_1.RULE", "matched_text": "license :file = ../LICENSE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "flutter_playtabs_bridge/LICENSE", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_14.RULE", "rule_relevance": 100, + "rule_identifier": "mit_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", - "matched_text": "MIT License" + "matched_text": "MIT License", + "matched_text_diagnostics": "MIT License" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "flutter_playtabs_bridge/LICENSE", "start_line": 5, "end_line": 21, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", - "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." + "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.", + "matched_text_diagnostics": "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." } ], "identifier": "mit-a979a2a3-dfdb-02aa-2450-71641a61a264", @@ -109,16 +118,102 @@ { "identifier": "mit-a979a2a3-dfdb-02aa-2450-71641a61a264", "license_expression": "mit", + "license_expression_spdx": "MIT", "detection_count": 2, "detection_log": [ "unknown-reference-to-local-file" + ], + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "flutter_playtabs_bridge/flutter_paytabs_bridge.podspec", + "start_line": 13, + "end_line": 13, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_1.RULE", + "matched_text": " s.license = { :file => '../LICENSE' }", + "matched_text_diagnostics": "license = { :file => '../LICENSE' }" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "flutter_playtabs_bridge/LICENSE", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_14.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", + "matched_text": "MIT License", + "matched_text_diagnostics": "MIT License" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "flutter_playtabs_bridge/LICENSE", + "start_line": 5, + "end_line": 21, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "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.", + "matched_text_diagnostics": "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." + } ] }, { "identifier": "mit-ac40beba-5702-f54d-755f-333441314bb0", "license_expression": "mit", + "license_expression_spdx": "MIT", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "flutter_playtabs_bridge/LICENSE", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_14.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", + "matched_text": "MIT License", + "matched_text_diagnostics": "MIT License" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "flutter_playtabs_bridge/LICENSE", + "start_line": 5, + "end_line": 21, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "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.", + "matched_text_diagnostics": "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." + } + ] } ], "files": [ @@ -132,32 +227,39 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "flutter_playtabs_bridge/LICENSE", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_14.RULE", "rule_relevance": 100, + "rule_identifier": "mit_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", - "matched_text": "MIT License" + "matched_text": "MIT License", + "matched_text_diagnostics": "MIT License" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "flutter_playtabs_bridge/LICENSE", "start_line": 5, "end_line": 21, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", - "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." + "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.", + "matched_text_diagnostics": "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." } ], "detection_log": [], @@ -209,45 +311,54 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "flutter_playtabs_bridge/flutter_paytabs_bridge.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_see_license_at_manifest_1.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_1.RULE", "matched_text": "license :file = ../LICENSE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "flutter_playtabs_bridge/LICENSE", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_14.RULE", "rule_relevance": 100, + "rule_identifier": "mit_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", - "matched_text": "MIT License" + "matched_text": "MIT License", + "matched_text_diagnostics": "MIT License" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "flutter_playtabs_bridge/LICENSE", "start_line": 5, "end_line": 21, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", - "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." + "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.", + "matched_text_diagnostics": "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." } ], "identifier": "mit-a979a2a3-dfdb-02aa-2450-71641a61a264", @@ -280,45 +391,55 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "flutter_playtabs_bridge/flutter_paytabs_bridge.podspec", "start_line": 13, "end_line": 13, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_see_license_at_manifest_1.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_1.RULE", - "matched_text": "license = { :file => '../LICENSE' }" + "matched_text": " s.license = { :file => '../LICENSE' }", + "matched_text_diagnostics": "license = { :file => '../LICENSE' }" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "flutter_playtabs_bridge/LICENSE", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_14.RULE", "rule_relevance": 100, + "rule_identifier": "mit_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", - "matched_text": "MIT License" + "matched_text": "MIT License", + "matched_text_diagnostics": "MIT License" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "flutter_playtabs_bridge/LICENSE", "start_line": 5, "end_line": 21, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", - "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." + "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.", + "matched_text_diagnostics": "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." } ], "detection_log": [ diff --git a/tests/packagedcode/data/license_detection/reference-at-manifest/flutter_playtabs_bridge_without_license.expected.json b/tests/packagedcode/data/license_detection/reference-at-manifest/flutter_playtabs_bridge_without_license.expected.json index 909f56f812..3ec22e285c 100644 --- a/tests/packagedcode/data/license_detection/reference-at-manifest/flutter_playtabs_bridge_without_license.expected.json +++ b/tests/packagedcode/data/license_detection/reference-at-manifest/flutter_playtabs_bridge_without_license.expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "flutter_playtabs_bridge/flutter_paytabs_bridge.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_see_license_at_manifest_1.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_1.RULE", "matched_text": "license :file = ../LICENSE" } @@ -125,17 +128,20 @@ "license_detections": [ { "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "flutter_playtabs_bridge/flutter_paytabs_bridge.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_see_license_at_manifest_1.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_1.RULE", "matched_text": "license :file = ../LICENSE" } diff --git a/tests/packagedcode/data/license_detection/reference-at-manifest/nanopb.expected.json b/tests/packagedcode/data/license_detection/reference-at-manifest/nanopb.expected.json index b32fe464e5..aa4ae413b5 100644 --- a/tests/packagedcode/data/license_detection/reference-at-manifest/nanopb.expected.json +++ b/tests/packagedcode/data/license_detection/reference-at-manifest/nanopb.expected.json @@ -37,32 +37,38 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "nanopb/nanopb.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "zlib", - "rule_identifier": "zlib_in_manifest.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_in_manifest.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_in_manifest.RULE", "matched_text": ":type = zlib, :file = LICENSE.txt" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "nanopb/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 132, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib.LICENSE", "rule_relevance": 100, + "rule_identifier": "zlib.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", - "matched_text": "This software is provided 'as-is', without any express or \nimplied warranty. In no event will the authors be held liable \nfor any damages arising from the use of this software.\n\nPermission is granted to anyone to use this software for any \npurpose, including commercial applications, and to alter it and \nredistribute it freely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you \n must not claim that you wrote the original software. If you use \n this software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n2. Altered source versions must be plainly marked as such, and \n must not be misrepresented as being the original software.\n\n3. This notice may not be removed or altered from any source \n distribution." + "matched_text": "This software is provided 'as-is', without any express or \nimplied warranty. In no event will the authors be held liable \nfor any damages arising from the use of this software.\n\nPermission is granted to anyone to use this software for any \npurpose, including commercial applications, and to alter it and \nredistribute it freely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you \n must not claim that you wrote the original software. If you use \n this software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n2. Altered source versions must be plainly marked as such, and \n must not be misrepresented as being the original software.\n\n3. This notice may not be removed or altered from any source \n distribution.", + "matched_text_diagnostics": "This software is provided 'as-is', without any express or \nimplied warranty. In no event will the authors be held liable \nfor any damages arising from the use of this software.\n\nPermission is granted to anyone to use this software for any \npurpose, including commercial applications, and to alter it and \nredistribute it freely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you \n must not claim that you wrote the original software. If you use \n this software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n2. Altered source versions must be plainly marked as such, and \n must not be misrepresented as being the original software.\n\n3. This notice may not be removed or altered from any source \n distribution." } ], "identifier": "zlib-9531c668-be8d-7a25-49eb-c18c9dcd616b", @@ -96,16 +102,70 @@ { "identifier": "zlib-9531c668-be8d-7a25-49eb-c18c9dcd616b", "license_expression": "zlib", + "license_expression_spdx": "Zlib", "detection_count": 2, "detection_log": [ "unknown-reference-to-local-file" + ], + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "nanopb/nanopb.podspec", + "start_line": 14, + "end_line": 14, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_in_manifest.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_in_manifest.RULE", + "matched_text": " s.license = { :type => 'zlib', :file => 'LICENSE.txt' }", + "matched_text_diagnostics": "type => 'zlib', :file => 'LICENSE.txt' }" + }, + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "nanopb/LICENSE.txt", + "start_line": 3, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 132, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "matched_text": "This software is provided 'as-is', without any express or \nimplied warranty. In no event will the authors be held liable \nfor any damages arising from the use of this software.\n\nPermission is granted to anyone to use this software for any \npurpose, including commercial applications, and to alter it and \nredistribute it freely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you \n must not claim that you wrote the original software. If you use \n this software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n2. Altered source versions must be plainly marked as such, and \n must not be misrepresented as being the original software.\n\n3. This notice may not be removed or altered from any source \n distribution.", + "matched_text_diagnostics": "This software is provided 'as-is', without any express or \nimplied warranty. In no event will the authors be held liable \nfor any damages arising from the use of this software.\n\nPermission is granted to anyone to use this software for any \npurpose, including commercial applications, and to alter it and \nredistribute it freely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you \n must not claim that you wrote the original software. If you use \n this software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n2. Altered source versions must be plainly marked as such, and \n must not be misrepresented as being the original software.\n\n3. This notice may not be removed or altered from any source \n distribution." + } ] }, { "identifier": "zlib-f32ae987-c66a-44ce-bd13-c90e0c59aab8", "license_expression": "zlib", + "license_expression_spdx": "Zlib", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "nanopb/LICENSE.txt", + "start_line": 3, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 132, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", + "matched_text": "This software is provided 'as-is', without any express or \nimplied warranty. In no event will the authors be held liable \nfor any damages arising from the use of this software.\n\nPermission is granted to anyone to use this software for any \npurpose, including commercial applications, and to alter it and \nredistribute it freely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you \n must not claim that you wrote the original software. If you use \n this software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n2. Altered source versions must be plainly marked as such, and \n must not be misrepresented as being the original software.\n\n3. This notice may not be removed or altered from any source \n distribution.", + "matched_text_diagnostics": "This software is provided 'as-is', without any express or \nimplied warranty. In no event will the authors be held liable \nfor any damages arising from the use of this software.\n\nPermission is granted to anyone to use this software for any \npurpose, including commercial applications, and to alter it and \nredistribute it freely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you \n must not claim that you wrote the original software. If you use \n this software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n2. Altered source versions must be plainly marked as such, and \n must not be misrepresented as being the original software.\n\n3. This notice may not be removed or altered from any source \n distribution." + } + ] } ], "files": [ @@ -119,19 +179,23 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "nanopb/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 132, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib.LICENSE", "rule_relevance": 100, + "rule_identifier": "zlib.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", - "matched_text": "This software is provided 'as-is', without any express or \nimplied warranty. In no event will the authors be held liable \nfor any damages arising from the use of this software.\n\nPermission is granted to anyone to use this software for any \npurpose, including commercial applications, and to alter it and \nredistribute it freely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you \n must not claim that you wrote the original software. If you use \n this software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n2. Altered source versions must be plainly marked as such, and \n must not be misrepresented as being the original software.\n\n3. This notice may not be removed or altered from any source \n distribution." + "matched_text": "This software is provided 'as-is', without any express or \nimplied warranty. In no event will the authors be held liable \nfor any damages arising from the use of this software.\n\nPermission is granted to anyone to use this software for any \npurpose, including commercial applications, and to alter it and \nredistribute it freely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you \n must not claim that you wrote the original software. If you use \n this software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n2. Altered source versions must be plainly marked as such, and \n must not be misrepresented as being the original software.\n\n3. This notice may not be removed or altered from any source \n distribution.", + "matched_text_diagnostics": "This software is provided 'as-is', without any express or \nimplied warranty. In no event will the authors be held liable \nfor any damages arising from the use of this software.\n\nPermission is granted to anyone to use this software for any \npurpose, including commercial applications, and to alter it and \nredistribute it freely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you \n must not claim that you wrote the original software. If you use \n this software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n2. Altered source versions must be plainly marked as such, and \n must not be misrepresented as being the original software.\n\n3. This notice may not be removed or altered from any source \n distribution." } ], "detection_log": [], @@ -183,32 +247,38 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "nanopb/nanopb.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "zlib", - "rule_identifier": "zlib_in_manifest.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_in_manifest.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_in_manifest.RULE", "matched_text": ":type = zlib, :file = LICENSE.txt" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "nanopb/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 132, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib.LICENSE", "rule_relevance": 100, + "rule_identifier": "zlib.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", - "matched_text": "This software is provided 'as-is', without any express or \nimplied warranty. In no event will the authors be held liable \nfor any damages arising from the use of this software.\n\nPermission is granted to anyone to use this software for any \npurpose, including commercial applications, and to alter it and \nredistribute it freely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you \n must not claim that you wrote the original software. If you use \n this software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n2. Altered source versions must be plainly marked as such, and \n must not be misrepresented as being the original software.\n\n3. This notice may not be removed or altered from any source \n distribution." + "matched_text": "This software is provided 'as-is', without any express or \nimplied warranty. In no event will the authors be held liable \nfor any damages arising from the use of this software.\n\nPermission is granted to anyone to use this software for any \npurpose, including commercial applications, and to alter it and \nredistribute it freely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you \n must not claim that you wrote the original software. If you use \n this software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n2. Altered source versions must be plainly marked as such, and \n must not be misrepresented as being the original software.\n\n3. This notice may not be removed or altered from any source \n distribution.", + "matched_text_diagnostics": "This software is provided 'as-is', without any express or \nimplied warranty. In no event will the authors be held liable \nfor any damages arising from the use of this software.\n\nPermission is granted to anyone to use this software for any \npurpose, including commercial applications, and to alter it and \nredistribute it freely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you \n must not claim that you wrote the original software. If you use \n this software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n2. Altered source versions must be plainly marked as such, and \n must not be misrepresented as being the original software.\n\n3. This notice may not be removed or altered from any source \n distribution." } ], "identifier": "zlib-9531c668-be8d-7a25-49eb-c18c9dcd616b", @@ -241,32 +311,39 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "nanopb/nanopb.podspec", "start_line": 14, "end_line": 14, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_in_manifest.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_in_manifest.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_in_manifest.RULE", - "matched_text": "type => 'zlib', :file => 'LICENSE.txt' }" + "matched_text": " s.license = { :type => 'zlib', :file => 'LICENSE.txt' }", + "matched_text_diagnostics": "type => 'zlib', :file => 'LICENSE.txt' }" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "nanopb/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 132, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib.LICENSE", "rule_relevance": 100, + "rule_identifier": "zlib.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE", - "matched_text": "This software is provided 'as-is', without any express or \nimplied warranty. In no event will the authors be held liable \nfor any damages arising from the use of this software.\n\nPermission is granted to anyone to use this software for any \npurpose, including commercial applications, and to alter it and \nredistribute it freely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you \n must not claim that you wrote the original software. If you use \n this software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n2. Altered source versions must be plainly marked as such, and \n must not be misrepresented as being the original software.\n\n3. This notice may not be removed or altered from any source \n distribution." + "matched_text": "This software is provided 'as-is', without any express or \nimplied warranty. In no event will the authors be held liable \nfor any damages arising from the use of this software.\n\nPermission is granted to anyone to use this software for any \npurpose, including commercial applications, and to alter it and \nredistribute it freely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you \n must not claim that you wrote the original software. If you use \n this software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n2. Altered source versions must be plainly marked as such, and \n must not be misrepresented as being the original software.\n\n3. This notice may not be removed or altered from any source \n distribution.", + "matched_text_diagnostics": "This software is provided 'as-is', without any express or \nimplied warranty. In no event will the authors be held liable \nfor any damages arising from the use of this software.\n\nPermission is granted to anyone to use this software for any \npurpose, including commercial applications, and to alter it and \nredistribute it freely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you \n must not claim that you wrote the original software. If you use \n this software in a product, an acknowledgment in the product \n documentation would be appreciated but is not required.\n\n2. Altered source versions must be plainly marked as such, and \n must not be misrepresented as being the original software.\n\n3. This notice may not be removed or altered from any source \n distribution." } ], "detection_log": [ diff --git a/tests/packagedcode/data/license_detection/reference-at-manifest/nanopb_without_license.expected.json b/tests/packagedcode/data/license_detection/reference-at-manifest/nanopb_without_license.expected.json index 0f986dbbc7..96b6c1ff60 100644 --- a/tests/packagedcode/data/license_detection/reference-at-manifest/nanopb_without_license.expected.json +++ b/tests/packagedcode/data/license_detection/reference-at-manifest/nanopb_without_license.expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "nanopb/nanopb.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "zlib", - "rule_identifier": "zlib_in_manifest.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_in_manifest.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_in_manifest.RULE", "matched_text": ":type = zlib, :file = LICENSE.txt" } @@ -125,17 +128,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "nanopb/nanopb.podspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "zlib", - "rule_identifier": "zlib_in_manifest.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_in_manifest.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_in_manifest.RULE", "matched_text": ":type = zlib, :file = LICENSE.txt" } diff --git a/tests/packagedcode/data/license_detection/reference-to-package/base.expected.json b/tests/packagedcode/data/license_detection/reference-to-package/base.expected.json index f5cd867791..62b4e5ef23 100644 --- a/tests/packagedcode/data/license_detection/reference-to-package/base.expected.json +++ b/tests/packagedcode/data/license_detection/reference-to-package/base.expected.json @@ -49,17 +49,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "base-example/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } @@ -94,15 +97,68 @@ { "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "detection_count": 2, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "base-example/PKG-INFO", + "start_line": 16, + "end_line": 16, + "matcher": "2-aho", + "score": 99.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_bsd_license.RULE", + "matched_text": "Classifier: License :: OSI Approved :: BSD License", + "matched_text_diagnostics": "License :: OSI Approved :: BSD License" + } + ] }, { "identifier": "bsd_new-af493d9f-0c66-d9f8-4538-579134812514", "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "detection_count": 1, "detection_log": [ "unknown-reference-in-file-to-package" + ], + "reference_matches": [ + { + "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", + "from_file": "base-example/django.po", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 11, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "free-unknown-package_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_1.RULE", + "matched_text": "# This file is distributed under the same license as the package.", + "matched_text_diagnostics": "This file is distributed under the same license as the package." + }, + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "base-example/PKG-INFO", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 99.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "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'" + } ] } ], @@ -160,17 +216,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "base-example/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } @@ -204,19 +263,23 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "base-example/PKG-INFO", "start_line": 16, "end_line": 16, + "matcher": "2-aho", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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" + "matched_text": "Classifier: License :: OSI Approved :: BSD License", + "matched_text_diagnostics": "License :: OSI Approved :: BSD License" } ], "detection_log": [], @@ -239,30 +302,36 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "base-example/django.po", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_1.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_1.RULE", - "matched_text": "This file is distributed under the same license as the package." + "matched_text": "# This file is distributed under the same license as the package.", + "matched_text_diagnostics": "This file is distributed under the same license as the package." }, { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "base-example/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } diff --git a/tests/packagedcode/data/license_detection/reference-to-package/fusiondirectory.expected.json b/tests/packagedcode/data/license_detection/reference-to-package/fusiondirectory.expected.json index c17fb5cc43..ef106422b6 100644 --- a/tests/packagedcode/data/license_detection/reference-to-package/fusiondirectory.expected.json +++ b/tests/packagedcode/data/license_detection/reference-to-package/fusiondirectory.expected.json @@ -4758,88 +4758,671 @@ { "identifier": "bsd_new-008266ae-6939-ad31-3617-228b0809863c", "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "detection_count": 2, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 441, + "end_line": 441, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-new_195.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_195.RULE", + "matched_text": "License: BSD-3-clause", + "matched_text_diagnostics": "License: BSD-3-clause" + } + ] }, { "identifier": "bsd_original-9198bafe-47c0-f9dc-5ef1-bd276a69786e", "license_expression": "bsd-original", + "license_expression_spdx": "BSD-4-Clause", "detection_count": 2, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "bsd-original", + "license_expression_spdx": "BSD-4-Clause", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1501, + "end_line": 1501, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-original_43.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original_43.RULE", + "matched_text": "License: BSD-4-clause", + "matched_text_diagnostics": "License: BSD-4-clause" + } + ] }, { "identifier": "bsd_simplified-2383ae10-5494-e069-46c2-e2d6cb56951f", "license_expression": "bsd-simplified", + "license_expression_spdx": "BSD-2-Clause", "detection_count": 2, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "bsd-simplified", + "license_expression_spdx": "BSD-2-Clause", + "from_file": "fusiondirectory/debian/copyright.in", + "start_line": 2880, + "end_line": 2880, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-simplified_136.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_136.RULE", + "matched_text": "License: BSD (2 clause)", + "matched_text_diagnostics": "License: BSD (2 clause)" + } + ] }, { "identifier": "free_unknown-fddf748a-9953-bc6c-cb9d-91001840e335", "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", "detection_count": 3, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 562, + "end_line": 562, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 10, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "free-unknown-package_4.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_4.RULE", + "matched_text": " This file is distributed under the same license as the fusiondirectory package.", + "matched_text_diagnostics": "This file is distributed under the same license as the" + } + ] }, { "identifier": "free_unknown-6489a264-9d51-ad5f-94b9-6939d54b4036", "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", "detection_count": 2, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 413, + "end_line": 413, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", + "matched_text": " This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." + } + ] }, { "identifier": "free_unknown-34d6195a-6206-be2e-4bd2-ce3b9493a1ad", "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", + "from_file": "fusiondirectory/debian/po/fr.po", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 11, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "free-unknown-package_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_1.RULE", + "matched_text": "# This file is distributed under the same license as the package.", + "matched_text_diagnostics": "This file is distributed under the same license as the package." + } + ] }, { "identifier": "gpl_2_0_plus-53a26be2-1f88-01ec-d294-921768a513c9", "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "detection_count": 46, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 297, + "end_line": 297, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" + } + ] }, { "identifier": "gpl_2_0_plus-227f50b1-f05e-5b3b-b107-ae1e2f56448b", "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "detection_count": 44, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", + "start_line": 2692, + "end_line": 2692, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" + } + ] }, { "identifier": "gpl_2_0_plus-fed2dc38-09ac-103e-1b86-4a4f5c00614a", "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "detection_count": 2, "detection_log": [ "possible-false-positive", "not-license-clues-as-more-detections-present" + ], + "reference_matches": [ + { + "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1099, + "end_line": 1099, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_67.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_67.RULE", + "matched_text": " FusionDirectory (i.e. GPL-2+).", + "matched_text_diagnostics": "GPL-2+)." + } ] }, { "identifier": "gpl_2_0_plus_and_gpl_3_0_plus_and_lgpl_2_1_plus_and_lgpl_3_0_plus_and_bsd_new_and_bsd_original_and_mit_and_public_domain_and_other_permissive-9e2a213a-3fc4-9ee3-8e3f-783829530b14", "license_expression": "gpl-2.0-plus AND gpl-3.0-plus AND lgpl-2.1-plus AND lgpl-3.0-plus AND bsd-new AND bsd-original AND mit AND public-domain AND other-permissive", + "license_expression_spdx": "GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND LGPL-3.0-or-later AND BSD-3-Clause AND BSD-4-Clause AND MIT AND LicenseRef-scancode-public-domain AND LicenseRef-scancode-other-permissive", "detection_count": 2, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1521, + "end_line": 1521, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", + "matched_text": "License: GPL-2+ or GPL-3+ or LGPL-2.1+ or LGPL-3+ or Expat or BSD-3-clause or BSD-4-clause", + "matched_text_diagnostics": "License: GPL-2+" + }, + { + "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1521, + "end_line": 1521, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_89.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_89.RULE", + "matched_text": "License: GPL-2+ or GPL-3+ or LGPL-2.1+ or LGPL-3+ or Expat or BSD-3-clause or BSD-4-clause", + "matched_text_diagnostics": "GPL-3+" + }, + { + "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1521, + "end_line": 1521, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_64.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_64.RULE", + "matched_text": "License: GPL-2+ or GPL-3+ or LGPL-2.1+ or LGPL-3+ or Expat or BSD-3-clause or BSD-4-clause", + "matched_text_diagnostics": "LGPL-2.1+" + }, + { + "license_expression": "lgpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1521, + "end_line": 1521, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_36.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_36.RULE", + "matched_text": "License: GPL-2+ or GPL-3+ or LGPL-2.1+ or LGPL-3+ or Expat or BSD-3-clause or BSD-4-clause", + "matched_text_diagnostics": "LGPL-3+" + }, + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1521, + "end_line": 1521, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-new_10.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_10.RULE", + "matched_text": "License: GPL-2+ or GPL-3+ or LGPL-2.1+ or LGPL-3+ or Expat or BSD-3-clause or BSD-4-clause", + "matched_text_diagnostics": "BSD-3-clause" + }, + { + "license_expression": "bsd-original", + "license_expression_spdx": "BSD-4-Clause", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1521, + "end_line": 1521, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_bsd-4-clause_for_bsd-original.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_bsd-4-clause_for_bsd-original.RULE", + "matched_text": "License: GPL-2+ or GPL-3+ or LGPL-2.1+ or LGPL-3+ or Expat or BSD-3-clause or BSD-4-clause", + "matched_text_diagnostics": "BSD-4-clause" + }, + { + "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1523, + "end_line": 1523, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" + }, + { + "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1524, + "end_line": 1539, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 136, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_1038.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_1038.RULE", + "matched_text": " This package is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 2 of the License, or\n (at your option) any later version.\n .\n This package 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\n GNU General Public License for more details.\n .\n You should have received a copy of the GNU General Public License\n along with this package; if not, write to the Free Software\n Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n .\n On Debian systems, the complete text of the GNU General\n Public License 2 can be found in `/usr/share/common-licenses/GPL-2'.", + "matched_text_diagnostics": "This package is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 2 of the License, or\n (at your option) any later version.\n .\n This package 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\n GNU General Public License for more details.\n .\n You should have received a copy of the GNU General Public License\n along with this package; if not, write to the Free Software\n Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n .\n On Debian systems, the complete text of the GNU General\n Public License 2 can be found in `/usr/share/common-licenses/GPL-2'." + }, + { + "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1541, + "end_line": 1541, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_92.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE", + "matched_text": "License: GPL-3+", + "matched_text_diagnostics": "License: GPL-3+" + }, + { + "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1542, + "end_line": 1557, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 136, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_512.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_512.RULE", + "matched_text": " This package is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 3 of the License, or\n (at your option) any later version.\n .\n This package 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\n GNU General Public License for more details.\n .\n You should have received a copy of the GNU General Public License\n along with this package; if not, write to the Free Software\n Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n .\n On Debian systems, the complete text of the GNU General\n Public License 3 can be found in `/usr/share/common-licenses/GPL-3'.", + "matched_text_diagnostics": "This package is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 3 of the License, or\n (at your option) any later version.\n .\n This package 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\n GNU General Public License for more details.\n .\n You should have received a copy of the GNU General Public License\n along with this package; if not, write to the Free Software\n Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n .\n On Debian systems, the complete text of the GNU General\n Public License 3 can be found in `/usr/share/common-licenses/GPL-3'." + }, + { + "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1559, + "end_line": 1559, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", + "matched_text": "License: LGPL-2.1+", + "matched_text_diagnostics": "License: LGPL-2.1+" + }, + { + "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1560, + "end_line": 1577, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 146, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_418.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_418.RULE", + "matched_text": " This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation; either\n version 2.1 of the License, or (at your option) any later version.\n .\n This library 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\n Lesser General Public License for more details.\n .\n You should have received a copy of the GNU Lesser General Public\n License along with this library; if not, write to the Free Software\n Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,\n 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'.", + "matched_text_diagnostics": "This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation; either\n version 2.1 of the License, or (at your option) any later version.\n .\n This library 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\n Lesser General Public License for more details.\n .\n You should have received a copy of the GNU Lesser General Public\n License along with this library; if not, write to the Free Software\n Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,\n 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'." + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1579, + "end_line": 1579, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_437.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_437.RULE", + "matched_text": "License: Expat", + "matched_text_diagnostics": "License: Expat" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1580, + "end_line": 1596, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", + "matched_text": " Permission is hereby granted, free of charge, to any person obtaining a copy of\n this software and associated documentation files (the \"Software\"), to deal in\n the Software without restriction, including without limitation the rights to\n use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\n of the Software, and to permit persons to whom the Software is furnished to do\n so, subject to the following conditions:\n .\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n .\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.", + "matched_text_diagnostics": "Permission is hereby granted, free of charge, to any person obtaining a copy of\n this software and associated documentation files (the \"Software\"), to deal in\n the Software without restriction, including without limitation the rights to\n use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\n of the Software, and to permit persons to whom the Software is furnished to do\n so, subject to the following conditions:\n .\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n .\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE." + }, + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1598, + "end_line": 1598, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-new_195.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_195.RULE", + "matched_text": "License: BSD-3-clause", + "matched_text_diagnostics": "License: BSD-3-clause" + }, + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1599, + "end_line": 1621, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 213, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-new_577.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_577.RULE", + "matched_text": " Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n .\n - Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n - Neither the name of the copyright holder 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 .\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n .\n - Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n - Neither the name of the copyright holder 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 .\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + }, + { + "license_expression": "bsd-original", + "license_expression_spdx": "BSD-4-Clause", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1623, + "end_line": 1623, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-original_43.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original_43.RULE", + "matched_text": "License: BSD-4-clause", + "matched_text_diagnostics": "License: BSD-4-clause" + }, + { + "license_expression": "bsd-original", + "license_expression_spdx": "BSD-4-Clause", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1624, + "end_line": 1649, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 236, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-original_71.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original_71.RULE", + "matched_text": " Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n .\n - Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n - All advertising materials mentioning features or use of this software must\n display the following acknowledgement: \u201cThis product includes software\n developed by the .\u201d\n - Neither the name of the author(s) nor the names of this program's\n contributors may be used to endorse or promote products derived from this\n software without specific prior written permission.\n .\n THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) \u201cAS IS\u201d AND ANY EXPRESS OR IMPLIED\n WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\n OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\n OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n .\n - Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n - All advertising materials mentioning features or use of this software must\n display the following acknowledgement: \u201cThis product includes software\n developed by the .\u201d\n - Neither the name of the author(s) nor the names of this program's\n contributors may be used to endorse or promote products derived from this\n software without specific prior written permission.\n .\n THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) \u201cAS IS\u201d AND ANY EXPRESS OR IMPLIED\n WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\n OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\n OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + }, + { + "license_expression": "lgpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1651, + "end_line": 1651, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_166.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE", + "matched_text": "License: LGPL-3+", + "matched_text_diagnostics": "License: LGPL-3+" + }, + { + "license_expression": "lgpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1652, + "end_line": 1663, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 105, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_189.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_189.RULE", + "matched_text": " This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation; either\n version 3 of the License, or (at your option) any later version.\n .\n This library 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\n Lesser General Public License for more details.\n .\n On Debian systems, the complete text of the GNU Lesser General\n Public License 3 can be found in `/usr/share/common-licenses/LGPL-3'.", + "matched_text_diagnostics": "This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation; either\n version 3 of the License, or (at your option) any later version.\n .\n This library 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\n Lesser General Public License for more details.\n .\n On Debian systems, the complete text of the GNU Lesser General\n Public License 3 can be found in `/usr/share/common-licenses/LGPL-3'." + }, + { + "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1665, + "end_line": 1665, + "matcher": "2-aho", + "score": 99.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 99, + "rule_identifier": "pypi_public_domain.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_public_domain.RULE", + "matched_text": "License: public-domain", + "matched_text_diagnostics": "License: public-domain" + }, + { + "license_expression": "other-permissive", + "license_expression_spdx": "LicenseRef-scancode-other-permissive", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1666, + "end_line": 1669, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 40, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "other-permissive_325.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_325.RULE", + "matched_text": " This file is in the public domain. You may use and modify it as\n you see fit, as long as this copyright message is included and\n that there is an indication as to what modifications have been\n made (if any).", + "matched_text_diagnostics": "This file is in the public domain. You may use and modify it as\n you see fit, as long as this copyright message is included and\n that there is an indication as to what modifications have been\n made (if any)." + } + ] }, { "identifier": "lgpl_3_0_plus-4c8d95b2-1acf-7a81-473c-d8e70962288c", "license_expression": "lgpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later", "detection_count": 2, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "lgpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 968, + "end_line": 968, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_166.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE", + "matched_text": "License: LGPL-3+", + "matched_text_diagnostics": "License: LGPL-3+" + } + ] }, { "identifier": "mit-1f9f2ae8-7020-0a13-7934-461c752929a4", "license_expression": "mit", + "license_expression_spdx": null, "detection_count": 6, "detection_log": [ "possible-false-positive", "not-license-clues-as-more-detections-present" + ], + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1429, + "end_line": 1429, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_437.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_437.RULE", + "matched_text": "License: Expat", + "matched_text_diagnostics": "License: Expat" + } ] }, { "identifier": "public_domain-1a6a4f2c-bd92-9942-920f-be3d0c2bbda6", "license_expression": "public-domain", + "license_expression_spdx": null, "detection_count": 2, "detection_log": [ "possible-false-positive", "not-license-clues-as-more-detections-present" + ], + "reference_matches": [ + { + "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", + "from_file": "fusiondirectory/debian/copyright", + "start_line": 1094, + "end_line": 1094, + "matcher": "2-aho", + "score": 99.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 99, + "rule_identifier": "pypi_public_domain.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_public_domain.RULE", + "matched_text": "License: public-domain", + "matched_text_diagnostics": "License: public-domain" + } ] } ], @@ -5178,17 +5761,20 @@ "license_detections": [], "license_clues": [ { - "score": 4.71, + "license_expression": "borceux", + "spdx_license_expression": "Borceux", + "from_file": "fusiondirectory/debian/README.multi-orig-tarball-package", "start_line": 1, "end_line": 3, + "matcher": "3-seq", + "score": 4.71, "matched_length": 4, "match_coverage": 4.71, - "matcher": "3-seq", - "license_expression": "borceux", - "rule_identifier": "borceux.LICENSE", "rule_relevance": 100, + "rule_identifier": "borceux.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/borceux.LICENSE", - "matched_text": "package consists of [various] [tarballs].\n\n[This] README" + "matched_text": "This src:package consists of various tarballs.\n\nThis README is a dummy file for creating the base tarball of the name", + "matched_text_diagnostics": "package consists of [various] [tarballs].\n\n[This] README" } ], "percentage_of_license_text": 10.53, @@ -5349,19 +5935,23 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 297, "end_line": 297, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -5369,19 +5959,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 411, "end_line": 411, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -5389,19 +5983,23 @@ }, { "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "fusiondirectory/debian/copyright", "start_line": 413, "end_line": 413, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_2.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", - "matched_text": "This file is distributed under the same license as the PACKAGE package." + "matched_text": " This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." } ], "detection_log": [], @@ -5409,19 +6007,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 427, "end_line": 427, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -5429,19 +6031,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 433, "end_line": 433, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -5449,19 +6055,23 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "fusiondirectory/debian/copyright", "start_line": 441, "end_line": 441, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_195.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_195.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_195.RULE", - "matched_text": "License: BSD-3-clause" + "matched_text": "License: BSD-3-clause", + "matched_text_diagnostics": "License: BSD-3-clause" } ], "detection_log": [], @@ -5469,19 +6079,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 452, "end_line": 452, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -5489,19 +6103,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 461, "end_line": 461, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -5509,19 +6127,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 475, "end_line": 475, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -5529,19 +6151,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 488, "end_line": 488, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -5549,19 +6175,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 495, "end_line": 495, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -5569,19 +6199,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 503, "end_line": 503, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -5589,19 +6223,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 560, "end_line": 560, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -5609,19 +6247,23 @@ }, { "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "fusiondirectory/debian/copyright", "start_line": 562, "end_line": 562, + "matcher": "2-aho", + "score": 100.0, "matched_length": 10, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_4.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_4.RULE", - "matched_text": "This file is distributed under the same license as the" + "matched_text": " This file is distributed under the same license as the fusiondirectory package.", + "matched_text_diagnostics": "This file is distributed under the same license as the" } ], "detection_log": [], @@ -5629,19 +6271,23 @@ }, { "license_expression": "lgpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 968, "end_line": 968, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_166.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_166.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE", - "matched_text": "License: LGPL-3+" + "matched_text": "License: LGPL-3+", + "matched_text_diagnostics": "License: LGPL-3+" } ], "detection_log": [], @@ -5649,19 +6295,23 @@ }, { "license_expression": "public-domain", + "license_expression_spdx": null, "matches": [ { - "score": 99.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1094, "end_line": 1094, + "matcher": "2-aho", + "score": 99.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "public-domain", - "rule_identifier": "pypi_public_domain.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_public_domain.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_public_domain.RULE", - "matched_text": "License: public-domain" + "matched_text": "License: public-domain", + "matched_text_diagnostics": "License: public-domain" } ], "detection_log": [ @@ -5672,19 +6322,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1099, "end_line": 1099, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_67.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_67.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_67.RULE", - "matched_text": "GPL-2+)." + "matched_text": " FusionDirectory (i.e. GPL-2+).", + "matched_text_diagnostics": "GPL-2+)." } ], "detection_log": [ @@ -5695,19 +6349,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1413, "end_line": 1413, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -5718,19 +6376,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1423, "end_line": 1423, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -5741,19 +6403,23 @@ }, { "license_expression": "mit", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1429, "end_line": 1429, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_437.RULE", "rule_relevance": 100, + "rule_identifier": "mit_437.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_437.RULE", - "matched_text": "License: Expat" + "matched_text": "License: Expat", + "matched_text_diagnostics": "License: Expat" } ], "detection_log": [ @@ -5764,19 +6430,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1437, "end_line": 1437, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -5787,19 +6457,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1443, "end_line": 1443, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -5810,19 +6484,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1449, "end_line": 1449, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -5833,19 +6511,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1457, "end_line": 1457, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -5856,19 +6538,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1463, "end_line": 1463, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -5879,19 +6565,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1469, "end_line": 1469, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -5902,19 +6592,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1475, "end_line": 1475, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -5925,19 +6619,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1481, "end_line": 1481, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -5948,19 +6646,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1487, "end_line": 1487, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -5971,19 +6673,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1493, "end_line": 1493, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -5994,19 +6700,23 @@ }, { "license_expression": "bsd-original", + "license_expression_spdx": "BSD-4-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-original", + "spdx_license_expression": "BSD-4-Clause", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1501, "end_line": 1501, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-original", - "rule_identifier": "bsd-original_43.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-original_43.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original_43.RULE", - "matched_text": "License: BSD-4-clause" + "matched_text": "License: BSD-4-clause", + "matched_text_diagnostics": "License: BSD-4-clause" } ], "detection_log": [], @@ -6014,19 +6724,23 @@ }, { "license_expression": "mit", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1507, "end_line": 1507, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_437.RULE", "rule_relevance": 100, + "rule_identifier": "mit_437.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_437.RULE", - "matched_text": "License: Expat" + "matched_text": "License: Expat", + "matched_text_diagnostics": "License: Expat" } ], "detection_log": [ @@ -6037,19 +6751,23 @@ }, { "license_expression": "mit", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1513, "end_line": 1513, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_437.RULE", "rule_relevance": 100, + "rule_identifier": "mit_437.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_437.RULE", - "matched_text": "License: Expat" + "matched_text": "License: Expat", + "matched_text_diagnostics": "License: Expat" } ], "detection_log": [ @@ -6060,292 +6778,359 @@ }, { "license_expression": "gpl-2.0-plus AND gpl-3.0-plus AND lgpl-2.1-plus AND lgpl-3.0-plus AND bsd-new AND bsd-original AND mit AND public-domain AND other-permissive", + "license_expression_spdx": "GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND LGPL-3.0-or-later AND BSD-3-Clause AND BSD-4-Clause AND MIT AND LicenseRef-scancode-public-domain AND LicenseRef-scancode-other-permissive", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1521, "end_line": 1521, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+ or GPL-3+ or LGPL-2.1+ or LGPL-3+ or Expat or BSD-3-clause or BSD-4-clause", + "matched_text_diagnostics": "License: GPL-2+" }, { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1521, "end_line": 1521, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_89.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_89.RULE", - "matched_text": "GPL-3+" + "matched_text": "License: GPL-2+ or GPL-3+ or LGPL-2.1+ or LGPL-3+ or Expat or BSD-3-clause or BSD-4-clause", + "matched_text_diagnostics": "GPL-3+" }, { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1521, "end_line": 1521, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_64.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_64.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_64.RULE", - "matched_text": "LGPL-2.1+" + "matched_text": "License: GPL-2+ or GPL-3+ or LGPL-2.1+ or LGPL-3+ or Expat or BSD-3-clause or BSD-4-clause", + "matched_text_diagnostics": "LGPL-2.1+" }, { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1521, "end_line": 1521, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_36.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_36.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_36.RULE", - "matched_text": "LGPL-3+" + "matched_text": "License: GPL-2+ or GPL-3+ or LGPL-2.1+ or LGPL-3+ or Expat or BSD-3-clause or BSD-4-clause", + "matched_text_diagnostics": "LGPL-3+" }, { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1521, "end_line": 1521, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_10.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_10.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_10.RULE", - "matched_text": "BSD-3-clause" + "matched_text": "License: GPL-2+ or GPL-3+ or LGPL-2.1+ or LGPL-3+ or Expat or BSD-3-clause or BSD-4-clause", + "matched_text_diagnostics": "BSD-3-clause" }, { - "score": 100.0, + "license_expression": "bsd-original", + "spdx_license_expression": "BSD-4-Clause", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1521, "end_line": 1521, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-original", - "rule_identifier": "spdx_license_id_bsd-4-clause_for_bsd-original.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_bsd-4-clause_for_bsd-original.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_bsd-4-clause_for_bsd-original.RULE", - "matched_text": "BSD-4-clause" + "matched_text": "License: GPL-2+ or GPL-3+ or LGPL-2.1+ or LGPL-3+ or Expat or BSD-3-clause or BSD-4-clause", + "matched_text_diagnostics": "BSD-4-clause" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1523, "end_line": 1523, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1524, "end_line": 1539, + "matcher": "2-aho", + "score": 100.0, "matched_length": 136, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_1038.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_1038.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_1038.RULE", - "matched_text": "This package is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 2 of the License, or\n (at your option) any later version.\n .\n This package 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\n GNU General Public License for more details.\n .\n You should have received a copy of the GNU General Public License\n along with this package; if not, write to the Free Software\n Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n .\n On Debian systems, the complete text of the GNU General\n Public License 2 can be found in `/usr/share/common-licenses/GPL-2'." + "matched_text": " This package is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 2 of the License, or\n (at your option) any later version.\n .\n This package 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\n GNU General Public License for more details.\n .\n You should have received a copy of the GNU General Public License\n along with this package; if not, write to the Free Software\n Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n .\n On Debian systems, the complete text of the GNU General\n Public License 2 can be found in `/usr/share/common-licenses/GPL-2'.", + "matched_text_diagnostics": "This package is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 2 of the License, or\n (at your option) any later version.\n .\n This package 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\n GNU General Public License for more details.\n .\n You should have received a copy of the GNU General Public License\n along with this package; if not, write to the Free Software\n Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n .\n On Debian systems, the complete text of the GNU General\n Public License 2 can be found in `/usr/share/common-licenses/GPL-2'." }, { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1541, "end_line": 1541, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_92.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_92.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE", - "matched_text": "License: GPL-3+" + "matched_text": "License: GPL-3+", + "matched_text_diagnostics": "License: GPL-3+" }, { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1542, "end_line": 1557, + "matcher": "2-aho", + "score": 100.0, "matched_length": 136, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_512.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_512.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_512.RULE", - "matched_text": "This package is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 3 of the License, or\n (at your option) any later version.\n .\n This package 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\n GNU General Public License for more details.\n .\n You should have received a copy of the GNU General Public License\n along with this package; if not, write to the Free Software\n Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n .\n On Debian systems, the complete text of the GNU General\n Public License 3 can be found in `/usr/share/common-licenses/GPL-3'." + "matched_text": " This package is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 3 of the License, or\n (at your option) any later version.\n .\n This package 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\n GNU General Public License for more details.\n .\n You should have received a copy of the GNU General Public License\n along with this package; if not, write to the Free Software\n Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n .\n On Debian systems, the complete text of the GNU General\n Public License 3 can be found in `/usr/share/common-licenses/GPL-3'.", + "matched_text_diagnostics": "This package is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 3 of the License, or\n (at your option) any later version.\n .\n This package 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\n GNU General Public License for more details.\n .\n You should have received a copy of the GNU General Public License\n along with this package; if not, write to the Free Software\n Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n .\n On Debian systems, the complete text of the GNU General\n Public License 3 can be found in `/usr/share/common-licenses/GPL-3'." }, { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1559, "end_line": 1559, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", - "matched_text": "License: LGPL-2.1+" + "matched_text": "License: LGPL-2.1+", + "matched_text_diagnostics": "License: LGPL-2.1+" }, { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1560, "end_line": 1577, + "matcher": "2-aho", + "score": 100.0, "matched_length": 146, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_418.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_418.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_418.RULE", - "matched_text": "This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation; either\n version 2.1 of the License, or (at your option) any later version.\n .\n This library 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\n Lesser General Public License for more details.\n .\n You should have received a copy of the GNU Lesser General Public\n License along with this library; if not, write to the Free Software\n Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,\n 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'." + "matched_text": " This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation; either\n version 2.1 of the License, or (at your option) any later version.\n .\n This library 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\n Lesser General Public License for more details.\n .\n You should have received a copy of the GNU Lesser General Public\n License along with this library; if not, write to the Free Software\n Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,\n 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'.", + "matched_text_diagnostics": "This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation; either\n version 2.1 of the License, or (at your option) any later version.\n .\n This library 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\n Lesser General Public License for more details.\n .\n You should have received a copy of the GNU Lesser General Public\n License along with this library; if not, write to the Free Software\n Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,\n 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'." }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1579, "end_line": 1579, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_437.RULE", "rule_relevance": 100, + "rule_identifier": "mit_437.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_437.RULE", - "matched_text": "License: Expat" + "matched_text": "License: Expat", + "matched_text_diagnostics": "License: Expat" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1580, "end_line": 1596, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", - "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a copy of\n this software and associated documentation files (the \"Software\"), to deal in\n the Software without restriction, including without limitation the rights to\n use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\n of the Software, and to permit persons to whom the Software is furnished to do\n so, subject to the following conditions:\n .\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n .\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE." + "matched_text": " Permission is hereby granted, free of charge, to any person obtaining a copy of\n this software and associated documentation files (the \"Software\"), to deal in\n the Software without restriction, including without limitation the rights to\n use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\n of the Software, and to permit persons to whom the Software is furnished to do\n so, subject to the following conditions:\n .\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n .\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.", + "matched_text_diagnostics": "Permission is hereby granted, free of charge, to any person obtaining a copy of\n this software and associated documentation files (the \"Software\"), to deal in\n the Software without restriction, including without limitation the rights to\n use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\n of the Software, and to permit persons to whom the Software is furnished to do\n so, subject to the following conditions:\n .\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n .\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE." }, { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1598, "end_line": 1598, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_195.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_195.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_195.RULE", - "matched_text": "License: BSD-3-clause" + "matched_text": "License: BSD-3-clause", + "matched_text_diagnostics": "License: BSD-3-clause" }, { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1599, "end_line": 1621, + "matcher": "2-aho", + "score": 100.0, "matched_length": 213, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_577.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_577.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_577.RULE", - "matched_text": "Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n .\n - Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n - Neither the name of the copyright holder 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 .\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + "matched_text": " Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n .\n - Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n - Neither the name of the copyright holder 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 .\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n .\n - Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n - Neither the name of the copyright holder 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 .\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." }, { - "score": 100.0, + "license_expression": "bsd-original", + "spdx_license_expression": "BSD-4-Clause", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1623, "end_line": 1623, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-original", - "rule_identifier": "bsd-original_43.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-original_43.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original_43.RULE", - "matched_text": "License: BSD-4-clause" + "matched_text": "License: BSD-4-clause", + "matched_text_diagnostics": "License: BSD-4-clause" }, { - "score": 100.0, + "license_expression": "bsd-original", + "spdx_license_expression": "BSD-4-Clause", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1624, "end_line": 1649, + "matcher": "2-aho", + "score": 100.0, "matched_length": 236, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-original", - "rule_identifier": "bsd-original_71.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-original_71.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original_71.RULE", - "matched_text": "Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n .\n - Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n - All advertising materials mentioning features or use of this software must\n display the following acknowledgement: \u201cThis product includes software\n developed by the .\u201d\n - Neither the name of the author(s) nor the names of this program's\n contributors may be used to endorse or promote products derived from this\n software without specific prior written permission.\n .\n THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) \u201cAS IS\u201d AND ANY EXPRESS OR IMPLIED\n WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\n OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\n OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + "matched_text": " Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n .\n - Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n - All advertising materials mentioning features or use of this software must\n display the following acknowledgement: \u201cThis product includes software\n developed by the .\u201d\n - Neither the name of the author(s) nor the names of this program's\n contributors may be used to endorse or promote products derived from this\n software without specific prior written permission.\n .\n THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) \u201cAS IS\u201d AND ANY EXPRESS OR IMPLIED\n WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\n OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\n OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n .\n - Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n - All advertising materials mentioning features or use of this software must\n display the following acknowledgement: \u201cThis product includes software\n developed by the .\u201d\n - Neither the name of the author(s) nor the names of this program's\n contributors may be used to endorse or promote products derived from this\n software without specific prior written permission.\n .\n THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) \u201cAS IS\u201d AND ANY EXPRESS OR IMPLIED\n WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\n OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\n OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." }, { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1651, "end_line": 1651, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_166.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_166.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE", - "matched_text": "License: LGPL-3+" + "matched_text": "License: LGPL-3+", + "matched_text_diagnostics": "License: LGPL-3+" }, { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1652, "end_line": 1663, + "matcher": "2-aho", + "score": 100.0, "matched_length": 105, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_189.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_189.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_189.RULE", - "matched_text": "This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation; either\n version 3 of the License, or (at your option) any later version.\n .\n This library 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\n Lesser General Public License for more details.\n .\n On Debian systems, the complete text of the GNU Lesser General\n Public License 3 can be found in `/usr/share/common-licenses/LGPL-3'." + "matched_text": " This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation; either\n version 3 of the License, or (at your option) any later version.\n .\n This library 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\n Lesser General Public License for more details.\n .\n On Debian systems, the complete text of the GNU Lesser General\n Public License 3 can be found in `/usr/share/common-licenses/LGPL-3'.", + "matched_text_diagnostics": "This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation; either\n version 3 of the License, or (at your option) any later version.\n .\n This library 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\n Lesser General Public License for more details.\n .\n On Debian systems, the complete text of the GNU Lesser General\n Public License 3 can be found in `/usr/share/common-licenses/LGPL-3'." }, { - "score": 99.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1665, "end_line": 1665, + "matcher": "2-aho", + "score": 99.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "public-domain", - "rule_identifier": "pypi_public_domain.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_public_domain.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_public_domain.RULE", - "matched_text": "License: public-domain" + "matched_text": "License: public-domain", + "matched_text_diagnostics": "License: public-domain" }, { - "score": 100.0, + "license_expression": "other-permissive", + "spdx_license_expression": "LicenseRef-scancode-other-permissive", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1666, "end_line": 1669, + "matcher": "2-aho", + "score": 100.0, "matched_length": 40, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "other-permissive", - "rule_identifier": "other-permissive_325.RULE", "rule_relevance": 100, + "rule_identifier": "other-permissive_325.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_325.RULE", - "matched_text": "This file is in the public domain. You may use and modify it as\n you see fit, as long as this copyright message is included and\n that there is an indication as to what modifications have been\n made (if any)." + "matched_text": " This file is in the public domain. You may use and modify it as\n you see fit, as long as this copyright message is included and\n that there is an indication as to what modifications have been\n made (if any).", + "matched_text_diagnostics": "This file is in the public domain. You may use and modify it as\n you see fit, as long as this copyright message is included and\n that there is an indication as to what modifications have been\n made (if any)." } ], "detection_log": [], @@ -6353,19 +7138,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2692, "end_line": 2692, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6373,19 +7162,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2804, "end_line": 2804, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6393,19 +7186,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2818, "end_line": 2818, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6413,19 +7210,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2844, "end_line": 2844, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6433,19 +7234,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2863, "end_line": 2863, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6453,19 +7258,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2873, "end_line": 2873, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6473,19 +7282,23 @@ }, { "license_expression": "bsd-simplified", + "license_expression_spdx": "BSD-2-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-simplified", + "spdx_license_expression": "BSD-2-Clause", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2880, "end_line": 2880, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-simplified", - "rule_identifier": "bsd-simplified_136.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-simplified_136.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_136.RULE", - "matched_text": "License: BSD (2 clause)" + "matched_text": "License: BSD (2 clause)", + "matched_text_diagnostics": "License: BSD (2 clause)" } ], "detection_log": [], @@ -6493,19 +7306,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2889, "end_line": 2889, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later) (" + "matched_text": "License: GPL (v2 or later) (with incorrect FSF address)", + "matched_text_diagnostics": "License: GPL (v2 or later) (" } ], "detection_log": [], @@ -6513,19 +7330,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2903, "end_line": 2903, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6533,19 +7354,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2911, "end_line": 2911, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6553,19 +7378,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2919, "end_line": 2919, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6573,19 +7402,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2939, "end_line": 2939, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6593,19 +7426,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2945, "end_line": 2945, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6613,19 +7450,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2951, "end_line": 2951, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6633,19 +7474,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2959, "end_line": 2959, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6653,19 +7498,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2964, "end_line": 2964, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6673,19 +7522,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2970, "end_line": 2970, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6693,19 +7546,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2976, "end_line": 2976, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6713,19 +7570,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2982, "end_line": 2982, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6733,19 +7594,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2988, "end_line": 2988, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6753,19 +7618,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2993, "end_line": 2993, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -6773,19 +7642,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2999, "end_line": 2999, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later) (" + "matched_text": "License: GPL (v2 or later) (with incorrect FSF address)", + "matched_text_diagnostics": "License: GPL (v2 or later) (" } ], "detection_log": [], @@ -6793,19 +7666,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 3005, "end_line": 3005, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later) GENERATED FILE", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -11404,19 +12281,23 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 297, "end_line": 297, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -11424,19 +12305,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 411, "end_line": 411, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -11444,19 +12329,23 @@ }, { "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "fusiondirectory/debian/copyright", "start_line": 413, "end_line": 413, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_2.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", - "matched_text": "This file is distributed under the same license as the PACKAGE package." + "matched_text": " This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." } ], "detection_log": [], @@ -11464,19 +12353,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 427, "end_line": 427, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -11484,19 +12377,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 433, "end_line": 433, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -11504,19 +12401,23 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "fusiondirectory/debian/copyright", "start_line": 441, "end_line": 441, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_195.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_195.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_195.RULE", - "matched_text": "License: BSD-3-clause" + "matched_text": "License: BSD-3-clause", + "matched_text_diagnostics": "License: BSD-3-clause" } ], "detection_log": [], @@ -11524,19 +12425,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 452, "end_line": 452, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -11544,19 +12449,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 461, "end_line": 461, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -11564,19 +12473,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 475, "end_line": 475, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -11584,19 +12497,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 488, "end_line": 488, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -11604,19 +12521,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 495, "end_line": 495, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -11624,19 +12545,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 503, "end_line": 503, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -11644,19 +12569,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 560, "end_line": 560, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [], @@ -11664,19 +12593,23 @@ }, { "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "fusiondirectory/debian/copyright", "start_line": 562, "end_line": 562, + "matcher": "2-aho", + "score": 100.0, "matched_length": 10, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_4.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_4.RULE", - "matched_text": "This file is distributed under the same license as the" + "matched_text": " This file is distributed under the same license as the fusiondirectory package.", + "matched_text_diagnostics": "This file is distributed under the same license as the" } ], "detection_log": [], @@ -11684,19 +12617,23 @@ }, { "license_expression": "lgpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 968, "end_line": 968, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_166.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_166.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE", - "matched_text": "License: LGPL-3+" + "matched_text": "License: LGPL-3+", + "matched_text_diagnostics": "License: LGPL-3+" } ], "detection_log": [], @@ -11704,19 +12641,23 @@ }, { "license_expression": "public-domain", + "license_expression_spdx": null, "matches": [ { - "score": 99.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1094, "end_line": 1094, + "matcher": "2-aho", + "score": 99.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "public-domain", - "rule_identifier": "pypi_public_domain.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_public_domain.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_public_domain.RULE", - "matched_text": "License: public-domain" + "matched_text": "License: public-domain", + "matched_text_diagnostics": "License: public-domain" } ], "detection_log": [ @@ -11727,19 +12668,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1099, "end_line": 1099, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_67.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_67.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_67.RULE", - "matched_text": "GPL-2+)." + "matched_text": " FusionDirectory (i.e. GPL-2+).", + "matched_text_diagnostics": "GPL-2+)." } ], "detection_log": [ @@ -11750,19 +12695,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1413, "end_line": 1413, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -11773,19 +12722,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1423, "end_line": 1423, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -11796,19 +12749,23 @@ }, { "license_expression": "mit", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1429, "end_line": 1429, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_437.RULE", "rule_relevance": 100, + "rule_identifier": "mit_437.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_437.RULE", - "matched_text": "License: Expat" + "matched_text": "License: Expat", + "matched_text_diagnostics": "License: Expat" } ], "detection_log": [ @@ -11819,19 +12776,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1437, "end_line": 1437, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -11842,19 +12803,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1443, "end_line": 1443, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -11865,19 +12830,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1449, "end_line": 1449, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -11888,19 +12857,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1457, "end_line": 1457, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -11911,19 +12884,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1463, "end_line": 1463, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -11934,19 +12911,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1469, "end_line": 1469, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -11957,19 +12938,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1475, "end_line": 1475, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -11980,19 +12965,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1481, "end_line": 1481, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -12003,19 +12992,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1487, "end_line": 1487, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -12026,19 +13019,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1493, "end_line": 1493, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" } ], "detection_log": [ @@ -12049,19 +13046,23 @@ }, { "license_expression": "bsd-original", + "license_expression_spdx": "BSD-4-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-original", + "spdx_license_expression": "BSD-4-Clause", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1501, "end_line": 1501, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-original", - "rule_identifier": "bsd-original_43.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-original_43.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original_43.RULE", - "matched_text": "License: BSD-4-clause" + "matched_text": "License: BSD-4-clause", + "matched_text_diagnostics": "License: BSD-4-clause" } ], "detection_log": [], @@ -12069,19 +13070,23 @@ }, { "license_expression": "mit", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1507, "end_line": 1507, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_437.RULE", "rule_relevance": 100, + "rule_identifier": "mit_437.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_437.RULE", - "matched_text": "License: Expat" + "matched_text": "License: Expat", + "matched_text_diagnostics": "License: Expat" } ], "detection_log": [ @@ -12092,19 +13097,23 @@ }, { "license_expression": "mit", + "license_expression_spdx": null, "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1513, "end_line": 1513, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_437.RULE", "rule_relevance": 100, + "rule_identifier": "mit_437.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_437.RULE", - "matched_text": "License: Expat" + "matched_text": "License: Expat", + "matched_text_diagnostics": "License: Expat" } ], "detection_log": [ @@ -12115,292 +13124,359 @@ }, { "license_expression": "gpl-2.0-plus AND gpl-3.0-plus AND lgpl-2.1-plus AND lgpl-3.0-plus AND bsd-new AND bsd-original AND mit AND public-domain AND other-permissive", + "license_expression_spdx": "GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND LGPL-3.0-or-later AND BSD-3-Clause AND BSD-4-Clause AND MIT AND LicenseRef-scancode-public-domain AND LicenseRef-scancode-other-permissive", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1521, "end_line": 1521, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+ or GPL-3+ or LGPL-2.1+ or LGPL-3+ or Expat or BSD-3-clause or BSD-4-clause", + "matched_text_diagnostics": "License: GPL-2+" }, { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1521, "end_line": 1521, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_89.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_89.RULE", - "matched_text": "GPL-3+" + "matched_text": "License: GPL-2+ or GPL-3+ or LGPL-2.1+ or LGPL-3+ or Expat or BSD-3-clause or BSD-4-clause", + "matched_text_diagnostics": "GPL-3+" }, { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1521, "end_line": 1521, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_64.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_64.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_64.RULE", - "matched_text": "LGPL-2.1+" + "matched_text": "License: GPL-2+ or GPL-3+ or LGPL-2.1+ or LGPL-3+ or Expat or BSD-3-clause or BSD-4-clause", + "matched_text_diagnostics": "LGPL-2.1+" }, { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1521, "end_line": 1521, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_36.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_36.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_36.RULE", - "matched_text": "LGPL-3+" + "matched_text": "License: GPL-2+ or GPL-3+ or LGPL-2.1+ or LGPL-3+ or Expat or BSD-3-clause or BSD-4-clause", + "matched_text_diagnostics": "LGPL-3+" }, { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1521, "end_line": 1521, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_10.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_10.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_10.RULE", - "matched_text": "BSD-3-clause" + "matched_text": "License: GPL-2+ or GPL-3+ or LGPL-2.1+ or LGPL-3+ or Expat or BSD-3-clause or BSD-4-clause", + "matched_text_diagnostics": "BSD-3-clause" }, { - "score": 100.0, + "license_expression": "bsd-original", + "spdx_license_expression": "BSD-4-Clause", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1521, "end_line": 1521, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-original", - "rule_identifier": "spdx_license_id_bsd-4-clause_for_bsd-original.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_bsd-4-clause_for_bsd-original.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_bsd-4-clause_for_bsd-original.RULE", - "matched_text": "BSD-4-clause" + "matched_text": "License: GPL-2+ or GPL-3+ or LGPL-2.1+ or LGPL-3+ or Expat or BSD-3-clause or BSD-4-clause", + "matched_text_diagnostics": "BSD-4-clause" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1523, "end_line": 1523, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_22.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_22.RULE", - "matched_text": "License: GPL-2+" + "matched_text": "License: GPL-2+", + "matched_text_diagnostics": "License: GPL-2+" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1524, "end_line": 1539, + "matcher": "2-aho", + "score": 100.0, "matched_length": 136, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_1038.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_1038.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_1038.RULE", - "matched_text": "This package is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 2 of the License, or\n (at your option) any later version.\n .\n This package 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\n GNU General Public License for more details.\n .\n You should have received a copy of the GNU General Public License\n along with this package; if not, write to the Free Software\n Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n .\n On Debian systems, the complete text of the GNU General\n Public License 2 can be found in `/usr/share/common-licenses/GPL-2'." + "matched_text": " This package is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 2 of the License, or\n (at your option) any later version.\n .\n This package 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\n GNU General Public License for more details.\n .\n You should have received a copy of the GNU General Public License\n along with this package; if not, write to the Free Software\n Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n .\n On Debian systems, the complete text of the GNU General\n Public License 2 can be found in `/usr/share/common-licenses/GPL-2'.", + "matched_text_diagnostics": "This package is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 2 of the License, or\n (at your option) any later version.\n .\n This package 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\n GNU General Public License for more details.\n .\n You should have received a copy of the GNU General Public License\n along with this package; if not, write to the Free Software\n Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n .\n On Debian systems, the complete text of the GNU General\n Public License 2 can be found in `/usr/share/common-licenses/GPL-2'." }, { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1541, "end_line": 1541, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_92.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_92.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_92.RULE", - "matched_text": "License: GPL-3+" + "matched_text": "License: GPL-3+", + "matched_text_diagnostics": "License: GPL-3+" }, { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1542, "end_line": 1557, + "matcher": "2-aho", + "score": 100.0, "matched_length": 136, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_512.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_512.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_512.RULE", - "matched_text": "This package is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 3 of the License, or\n (at your option) any later version.\n .\n This package 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\n GNU General Public License for more details.\n .\n You should have received a copy of the GNU General Public License\n along with this package; if not, write to the Free Software\n Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n .\n On Debian systems, the complete text of the GNU General\n Public License 3 can be found in `/usr/share/common-licenses/GPL-3'." + "matched_text": " This package is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 3 of the License, or\n (at your option) any later version.\n .\n This package 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\n GNU General Public License for more details.\n .\n You should have received a copy of the GNU General Public License\n along with this package; if not, write to the Free Software\n Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n .\n On Debian systems, the complete text of the GNU General\n Public License 3 can be found in `/usr/share/common-licenses/GPL-3'.", + "matched_text_diagnostics": "This package is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 3 of the License, or\n (at your option) any later version.\n .\n This package 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\n GNU General Public License for more details.\n .\n You should have received a copy of the GNU General Public License\n along with this package; if not, write to the Free Software\n Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n .\n On Debian systems, the complete text of the GNU General\n Public License 3 can be found in `/usr/share/common-licenses/GPL-3'." }, { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1559, "end_line": 1559, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", - "matched_text": "License: LGPL-2.1+" + "matched_text": "License: LGPL-2.1+", + "matched_text_diagnostics": "License: LGPL-2.1+" }, { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1560, "end_line": 1577, + "matcher": "2-aho", + "score": 100.0, "matched_length": 146, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_418.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_418.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_418.RULE", - "matched_text": "This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation; either\n version 2.1 of the License, or (at your option) any later version.\n .\n This library 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\n Lesser General Public License for more details.\n .\n You should have received a copy of the GNU Lesser General Public\n License along with this library; if not, write to the Free Software\n Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,\n 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'." + "matched_text": " This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation; either\n version 2.1 of the License, or (at your option) any later version.\n .\n This library 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\n Lesser General Public License for more details.\n .\n You should have received a copy of the GNU Lesser General Public\n License along with this library; if not, write to the Free Software\n Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,\n 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'.", + "matched_text_diagnostics": "This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation; either\n version 2.1 of the License, or (at your option) any later version.\n .\n This library 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\n Lesser General Public License for more details.\n .\n You should have received a copy of the GNU Lesser General Public\n License along with this library; if not, write to the Free Software\n Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,\n 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'." }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1579, "end_line": 1579, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_437.RULE", "rule_relevance": 100, + "rule_identifier": "mit_437.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_437.RULE", - "matched_text": "License: Expat" + "matched_text": "License: Expat", + "matched_text_diagnostics": "License: Expat" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1580, "end_line": 1596, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE", - "matched_text": "Permission is hereby granted, free of charge, to any person obtaining a copy of\n this software and associated documentation files (the \"Software\"), to deal in\n the Software without restriction, including without limitation the rights to\n use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\n of the Software, and to permit persons to whom the Software is furnished to do\n so, subject to the following conditions:\n .\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n .\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE." + "matched_text": " Permission is hereby granted, free of charge, to any person obtaining a copy of\n this software and associated documentation files (the \"Software\"), to deal in\n the Software without restriction, including without limitation the rights to\n use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\n of the Software, and to permit persons to whom the Software is furnished to do\n so, subject to the following conditions:\n .\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n .\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.", + "matched_text_diagnostics": "Permission is hereby granted, free of charge, to any person obtaining a copy of\n this software and associated documentation files (the \"Software\"), to deal in\n the Software without restriction, including without limitation the rights to\n use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\n of the Software, and to permit persons to whom the Software is furnished to do\n so, subject to the following conditions:\n .\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n .\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE." }, { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1598, "end_line": 1598, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_195.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_195.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_195.RULE", - "matched_text": "License: BSD-3-clause" + "matched_text": "License: BSD-3-clause", + "matched_text_diagnostics": "License: BSD-3-clause" }, { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1599, "end_line": 1621, + "matcher": "2-aho", + "score": 100.0, "matched_length": 213, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_577.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_577.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_577.RULE", - "matched_text": "Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n .\n - Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n - Neither the name of the copyright holder 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 .\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + "matched_text": " Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n .\n - Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n - Neither the name of the copyright holder 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 .\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n .\n - Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n - Neither the name of the copyright holder 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 .\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." }, { - "score": 100.0, + "license_expression": "bsd-original", + "spdx_license_expression": "BSD-4-Clause", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1623, "end_line": 1623, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-original", - "rule_identifier": "bsd-original_43.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-original_43.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original_43.RULE", - "matched_text": "License: BSD-4-clause" + "matched_text": "License: BSD-4-clause", + "matched_text_diagnostics": "License: BSD-4-clause" }, { - "score": 100.0, + "license_expression": "bsd-original", + "spdx_license_expression": "BSD-4-Clause", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1624, "end_line": 1649, + "matcher": "2-aho", + "score": 100.0, "matched_length": 236, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-original", - "rule_identifier": "bsd-original_71.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-original_71.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original_71.RULE", - "matched_text": "Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n .\n - Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n - All advertising materials mentioning features or use of this software must\n display the following acknowledgement: \u201cThis product includes software\n developed by the .\u201d\n - Neither the name of the author(s) nor the names of this program's\n contributors may be used to endorse or promote products derived from this\n software without specific prior written permission.\n .\n THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) \u201cAS IS\u201d AND ANY EXPRESS OR IMPLIED\n WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\n OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\n OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + "matched_text": " Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n .\n - Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n - All advertising materials mentioning features or use of this software must\n display the following acknowledgement: \u201cThis product includes software\n developed by the .\u201d\n - Neither the name of the author(s) nor the names of this program's\n contributors may be used to endorse or promote products derived from this\n software without specific prior written permission.\n .\n THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) \u201cAS IS\u201d AND ANY EXPRESS OR IMPLIED\n WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\n OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\n OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", + "matched_text_diagnostics": "Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n .\n - Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n - All advertising materials mentioning features or use of this software must\n display the following acknowledgement: \u201cThis product includes software\n developed by the .\u201d\n - Neither the name of the author(s) nor the names of this program's\n contributors may be used to endorse or promote products derived from this\n software without specific prior written permission.\n .\n THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) \u201cAS IS\u201d AND ANY EXPRESS OR IMPLIED\n WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\n OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\n OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." }, { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1651, "end_line": 1651, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_166.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_166.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_166.RULE", - "matched_text": "License: LGPL-3+" + "matched_text": "License: LGPL-3+", + "matched_text_diagnostics": "License: LGPL-3+" }, { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1652, "end_line": 1663, + "matcher": "2-aho", + "score": 100.0, "matched_length": 105, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_189.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_189.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_189.RULE", - "matched_text": "This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation; either\n version 3 of the License, or (at your option) any later version.\n .\n This library 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\n Lesser General Public License for more details.\n .\n On Debian systems, the complete text of the GNU Lesser General\n Public License 3 can be found in `/usr/share/common-licenses/LGPL-3'." + "matched_text": " This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation; either\n version 3 of the License, or (at your option) any later version.\n .\n This library 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\n Lesser General Public License for more details.\n .\n On Debian systems, the complete text of the GNU Lesser General\n Public License 3 can be found in `/usr/share/common-licenses/LGPL-3'.", + "matched_text_diagnostics": "This library is free software; you can redistribute it and/or\n modify it under the terms of the GNU Lesser General Public\n License as published by the Free Software Foundation; either\n version 3 of the License, or (at your option) any later version.\n .\n This library 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\n Lesser General Public License for more details.\n .\n On Debian systems, the complete text of the GNU Lesser General\n Public License 3 can be found in `/usr/share/common-licenses/LGPL-3'." }, { - "score": 99.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1665, "end_line": 1665, + "matcher": "2-aho", + "score": 99.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "public-domain", - "rule_identifier": "pypi_public_domain.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_public_domain.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_public_domain.RULE", - "matched_text": "License: public-domain" + "matched_text": "License: public-domain", + "matched_text_diagnostics": "License: public-domain" }, { - "score": 100.0, + "license_expression": "other-permissive", + "spdx_license_expression": "LicenseRef-scancode-other-permissive", + "from_file": "fusiondirectory/debian/copyright", "start_line": 1666, "end_line": 1669, + "matcher": "2-aho", + "score": 100.0, "matched_length": 40, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "other-permissive", - "rule_identifier": "other-permissive_325.RULE", "rule_relevance": 100, + "rule_identifier": "other-permissive_325.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_325.RULE", - "matched_text": "This file is in the public domain. You may use and modify it as\n you see fit, as long as this copyright message is included and\n that there is an indication as to what modifications have been\n made (if any)." + "matched_text": " This file is in the public domain. You may use and modify it as\n you see fit, as long as this copyright message is included and\n that there is an indication as to what modifications have been\n made (if any).", + "matched_text_diagnostics": "This file is in the public domain. You may use and modify it as\n you see fit, as long as this copyright message is included and\n that there is an indication as to what modifications have been\n made (if any)." } ], "detection_log": [], @@ -12521,19 +13597,23 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2692, "end_line": 2692, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12541,19 +13621,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2804, "end_line": 2804, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12561,19 +13645,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2818, "end_line": 2818, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12581,19 +13669,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2844, "end_line": 2844, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12601,19 +13693,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2863, "end_line": 2863, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12621,19 +13717,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2873, "end_line": 2873, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12641,19 +13741,23 @@ }, { "license_expression": "bsd-simplified", + "license_expression_spdx": "BSD-2-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-simplified", + "spdx_license_expression": "BSD-2-Clause", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2880, "end_line": 2880, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-simplified", - "rule_identifier": "bsd-simplified_136.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-simplified_136.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_136.RULE", - "matched_text": "License: BSD (2 clause)" + "matched_text": "License: BSD (2 clause)", + "matched_text_diagnostics": "License: BSD (2 clause)" } ], "detection_log": [], @@ -12661,19 +13765,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2889, "end_line": 2889, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later) (" + "matched_text": "License: GPL (v2 or later) (with incorrect FSF address)", + "matched_text_diagnostics": "License: GPL (v2 or later) (" } ], "detection_log": [], @@ -12681,19 +13789,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2903, "end_line": 2903, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12701,19 +13813,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2911, "end_line": 2911, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12721,19 +13837,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2919, "end_line": 2919, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12741,19 +13861,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2939, "end_line": 2939, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12761,19 +13885,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2945, "end_line": 2945, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12781,19 +13909,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2951, "end_line": 2951, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12801,19 +13933,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2959, "end_line": 2959, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12821,19 +13957,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2964, "end_line": 2964, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12841,19 +13981,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2970, "end_line": 2970, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12861,19 +14005,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2976, "end_line": 2976, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12881,19 +14029,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2982, "end_line": 2982, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12901,19 +14053,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2988, "end_line": 2988, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12921,19 +14077,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2993, "end_line": 2993, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later)", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12941,19 +14101,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2999, "end_line": 2999, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later) (" + "matched_text": "License: GPL (v2 or later) (with incorrect FSF address)", + "matched_text_diagnostics": "License: GPL (v2 or later) (" } ], "detection_log": [], @@ -12961,19 +14125,23 @@ }, { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 3005, "end_line": 3005, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_687.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_687.RULE", - "matched_text": "License: GPL (v2 or later)" + "matched_text": "License: GPL (v2 or later) GENERATED FILE", + "matched_text_diagnostics": "License: GPL (v2 or later)" } ], "detection_log": [], @@ -12982,82 +14150,100 @@ ], "license_clues": [ { - "score": 100.0, + "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 2925, "end_line": 2925, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0", - "rule_identifier": "lgpl-3.0_37.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_37.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_37.RULE", - "matched_text": "License: LGPL (v3" + "matched_text": "License: LGPL (v3 or later)", + "matched_text_diagnostics": "License: LGPL (v3" }, { - "score": 90.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 3010, "end_line": 3010, + "matcher": "2-aho", + "score": 90.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_221.RULE", "rule_relevance": 90, + "rule_identifier": "mit_221.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_221.RULE", - "matched_text": "License: MIT/X11 (" + "matched_text": "License: MIT/X11 (BSD like)", + "matched_text_diagnostics": "License: MIT/X11 (" }, { - "score": 100.0, + "license_expression": "other-permissive", + "spdx_license_expression": "LicenseRef-scancode-other-permissive", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 3010, "end_line": 3010, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "other-permissive", - "rule_identifier": "other-permissive_16.RULE", "rule_relevance": 100, + "rule_identifier": "other-permissive_16.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_16.RULE", - "matched_text": "BSD like)" + "matched_text": "License: MIT/X11 (BSD like)", + "matched_text_diagnostics": "BSD like)" }, { - "score": 99.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 3016, "end_line": 3016, + "matcher": "2-aho", + "score": 99.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "public-domain", - "rule_identifier": "pypi_public_domain.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_public_domain.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_public_domain.RULE", - "matched_text": "License: Public domain" + "matched_text": "License: Public domain BSD (4 clause) GPL", + "matched_text_diagnostics": "License: Public domain" }, { - "score": 100.0, + "license_expression": "bsd-original", + "spdx_license_expression": "BSD-4-Clause", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 3016, "end_line": 3016, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-original", - "rule_identifier": "spdx_license_id_bsd-4-clause_for_bsd-original.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_bsd-4-clause_for_bsd-original.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_bsd-4-clause_for_bsd-original.RULE", - "matched_text": "BSD (4 clause)" + "matched_text": "License: Public domain BSD (4 clause) GPL", + "matched_text_diagnostics": "BSD (4 clause)" }, { - "score": 50.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "fusiondirectory/debian/copyright.in", "start_line": 3016, "end_line": 3016, + "matcher": "2-aho", + "score": 50.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, + "rule_identifier": "gpl_bare_word_only.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", - "matched_text": "GPL" + "matched_text": "License: Public domain BSD (4 clause) GPL", + "matched_text_diagnostics": "GPL" } ], "percentage_of_license_text": 0.66, @@ -13285,19 +14471,23 @@ "license_detections": [ { "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "fusiondirectory/debian/po/de.po", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 10, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_4.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_4.RULE", - "matched_text": "This file is distributed under the same license as the" + "matched_text": "# This file is distributed under the same license as the fusiondirectory package.", + "matched_text_diagnostics": "This file is distributed under the same license as the" } ], "detection_log": [], @@ -13418,19 +14608,23 @@ "license_detections": [ { "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "fusiondirectory/debian/po/fr.po", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_1.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_1.RULE", - "matched_text": "This file is distributed under the same license as the package." + "matched_text": "# This file is distributed under the same license as the package.", + "matched_text_diagnostics": "This file is distributed under the same license as the package." } ], "detection_log": [], diff --git a/tests/packagedcode/data/license_detection/reference-to-package/google_appengine_sdk.expected.json b/tests/packagedcode/data/license_detection/reference-to-package/google_appengine_sdk.expected.json index 5d3b0b3968..d11187046f 100644 --- a/tests/packagedcode/data/license_detection/reference-to-package/google_appengine_sdk.expected.json +++ b/tests/packagedcode/data/license_detection/reference-to-package/google_appengine_sdk.expected.json @@ -49,17 +49,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.2/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } @@ -141,17 +144,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.3/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } @@ -186,35 +192,160 @@ { "identifier": "apache_2_0_and_cc_by_nc_nd_3_0_and_other_permissive_and_proprietary_license-21b00e16-ec3a-6dc3-3971-5dbd5f5b756a", "license_expression": "apache-2.0 AND cc-by-nc-nd-3.0 AND other-permissive AND proprietary-license", + "license_expression_spdx": "Apache-2.0 AND CC-BY-NC-ND-3.0 AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-proprietary-license", "detection_count": 2, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "apache-2.0 AND cc-by-nc-nd-3.0 AND other-permissive AND proprietary-license", + "license_expression_spdx": "Apache-2.0 AND CC-BY-NC-ND-3.0 AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-proprietary-license", + "from_file": "google_appengine_sdk/django-1.2/MANIFEST.in", + "start_line": 7, + "end_line": 9, + "matcher": "3-seq", + "score": 5.88, + "matched_length": 5, + "match_coverage": 5.88, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_and_cc-by-nc-nd-3.0_and_other-permissive_and_proprietary-license_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_and_cc-by-nc-nd-3.0_and_other-permissive_and_proprietary-license_1.RULE", + "matched_text": "include django/contrib/gis/geos/LICENSE\ninclude django/dispatch/license.txt\ninclude django/utils/simplejson/LICENSE.txt", + "matched_text_diagnostics": "LICENSE\n[include] [django]/[dispatch]/license.txt\n[include] [django]/[utils]/[simplejson]/LICENSE.txt" + } + ] }, { "identifier": "bsd_new-f4e99f86-00ab-18d9-a65d-a3a12767dcf5", "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "detection_count": 6, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.2/setup.py", + "start_line": 89, + "end_line": 89, + "matcher": "2-aho", + "score": 99.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "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',", + "matched_text_diagnostics": "License :: OSI Approved :: BSD License'," + } + ] }, { "identifier": "bsd_new-cdb8fe96-c13c-043d-8031-aebb4cd77653", "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "detection_count": 5, "detection_log": [ "unknown-reference-in-file-to-package" + ], + "reference_matches": [ + { + "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", + "from_file": "google_appengine_sdk/django-1.2/django/conf/locale/en/formats.py", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "free-unknown-package_3.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_3.RULE", + "matched_text": "# This file is distributed under the same license as the Django package.", + "matched_text_diagnostics": "This file is distributed under the same license as the Django package." + }, + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.2/setup.py", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 99.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "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-72cae3bc-4423-3a9e-be84-ee8bb5120a4d", "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "detection_count": 2, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.3/LICENSE", + "start_line": 4, + "end_line": 27, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 214, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-new_683.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_683.RULE", + "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.", + "matched_text_diagnostics": "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." + } + ] }, { "identifier": "bsd_new-734cc7c8-5d13-b9e1-3f7c-d04a0d9396c7", "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "detection_count": 2, "detection_log": [ "unknown-reference-in-file-to-package" + ], + "reference_matches": [ + { + "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", + "from_file": "google_appengine_sdk/django-1.2/django/conf/locale/uk/LC_MESSAGES/django.po", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", + "matched_text": "# This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." + }, + { + "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.2/setup.py", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 99.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", + "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'" + } ] } ], @@ -271,19 +402,23 @@ "license_detections": [ { "license_expression": "apache-2.0 AND cc-by-nc-nd-3.0 AND other-permissive AND proprietary-license", + "license_expression_spdx": "Apache-2.0 AND CC-BY-NC-ND-3.0 AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-proprietary-license", "matches": [ { - "score": 5.88, + "license_expression": "apache-2.0 AND cc-by-nc-nd-3.0 AND other-permissive AND proprietary-license", + "spdx_license_expression": "Apache-2.0 AND CC-BY-NC-ND-3.0 AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-proprietary-license", + "from_file": "google_appengine_sdk/django-1.2/MANIFEST.in", "start_line": 7, "end_line": 9, + "matcher": "3-seq", + "score": 5.88, "matched_length": 5, "match_coverage": 5.88, - "matcher": "3-seq", - "license_expression": "apache-2.0 AND cc-by-nc-nd-3.0 AND other-permissive AND proprietary-license", - "rule_identifier": "apache-2.0_and_cc-by-nc-nd-3.0_and_other-permissive_and_proprietary-license_1.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_and_cc-by-nc-nd-3.0_and_other-permissive_and_proprietary-license_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_and_cc-by-nc-nd-3.0_and_other-permissive_and_proprietary-license_1.RULE", - "matched_text": "LICENSE\n[include] [django]/[dispatch]/license.txt\n[include] [django]/[utils]/[simplejson]/LICENSE.txt" + "matched_text": "include django/contrib/gis/geos/LICENSE\ninclude django/dispatch/license.txt\ninclude django/utils/simplejson/LICENSE.txt", + "matched_text_diagnostics": "LICENSE\n[include] [django]/[dispatch]/license.txt\n[include] [django]/[utils]/[simplejson]/LICENSE.txt" } ], "detection_log": [], @@ -394,30 +529,36 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "google_appengine_sdk/django-1.2/django/conf/locale/en/LC_MESSAGES/djangojs.po", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_3.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_3.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_3.RULE", - "matched_text": "This file is distributed under the same license as the Django package." + "matched_text": "# This file is distributed under the same license as the Django package.", + "matched_text_diagnostics": "This file is distributed under the same license as the Django package." }, { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.2/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } @@ -444,30 +585,36 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "google_appengine_sdk/django-1.2/django/conf/locale/en/formats.py", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_3.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_3.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_3.RULE", - "matched_text": "This file is distributed under the same license as the Django package." + "matched_text": "# This file is distributed under the same license as the Django package.", + "matched_text_diagnostics": "This file is distributed under the same license as the Django package." }, { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.2/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } @@ -518,30 +665,36 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "google_appengine_sdk/django-1.2/django/conf/locale/uk/LC_MESSAGES/django.po", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_2.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", - "matched_text": "This file is distributed under the same license as the PACKAGE package." + "matched_text": "# This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." }, { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.2/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } @@ -568,30 +721,36 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "google_appengine_sdk/django-1.2/django/conf/locale/uk/LC_MESSAGES/djangojs.po", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_2.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", - "matched_text": "This file is distributed under the same license as the PACKAGE package." + "matched_text": "# This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." }, { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.2/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } @@ -618,30 +777,36 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "google_appengine_sdk/django-1.2/django/conf/locale/uk/formats.py", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_3.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_3.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_3.RULE", - "matched_text": "This file is distributed under the same license as the Django package." + "matched_text": "# This file is distributed under the same license as the Django package.", + "matched_text_diagnostics": "This file is distributed under the same license as the Django package." }, { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.2/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } @@ -766,17 +931,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.2/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } @@ -810,19 +978,23 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.2/setup.py", "start_line": 89, "end_line": 89, + "matcher": "2-aho", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'," + "matched_text": " 'License :: OSI Approved :: BSD License',", + "matched_text_diagnostics": "License :: OSI Approved :: BSD License'," } ], "detection_log": [], @@ -885,19 +1057,23 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.3/LICENSE", "start_line": 4, "end_line": 27, + "matcher": "2-aho", + "score": 100.0, "matched_length": 214, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_683.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_683.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_683.RULE", - "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." + "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.", + "matched_text_diagnostics": "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." } ], "detection_log": [], @@ -920,19 +1096,23 @@ "license_detections": [ { "license_expression": "apache-2.0 AND cc-by-nc-nd-3.0 AND other-permissive AND proprietary-license", + "license_expression_spdx": "Apache-2.0 AND CC-BY-NC-ND-3.0 AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-proprietary-license", "matches": [ { - "score": 5.88, + "license_expression": "apache-2.0 AND cc-by-nc-nd-3.0 AND other-permissive AND proprietary-license", + "spdx_license_expression": "Apache-2.0 AND CC-BY-NC-ND-3.0 AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-proprietary-license", + "from_file": "google_appengine_sdk/django-1.3/MANIFEST.in", "start_line": 7, "end_line": 9, + "matcher": "3-seq", + "score": 5.88, "matched_length": 5, "match_coverage": 5.88, - "matcher": "3-seq", - "license_expression": "apache-2.0 AND cc-by-nc-nd-3.0 AND other-permissive AND proprietary-license", - "rule_identifier": "apache-2.0_and_cc-by-nc-nd-3.0_and_other-permissive_and_proprietary-license_1.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_and_cc-by-nc-nd-3.0_and_other-permissive_and_proprietary-license_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_and_cc-by-nc-nd-3.0_and_other-permissive_and_proprietary-license_1.RULE", - "matched_text": "LICENSE\n[include] [django]/[dispatch]/license.txt\n[include] [django]/[utils]/[simplejson]/LICENSE.txt" + "matched_text": "include django/contrib/gis/geos/LICENSE\ninclude django/dispatch/license.txt\ninclude django/utils/simplejson/LICENSE.txt", + "matched_text_diagnostics": "LICENSE\n[include] [django]/[dispatch]/license.txt\n[include] [django]/[utils]/[simplejson]/LICENSE.txt" } ], "detection_log": [], @@ -1014,17 +1194,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.3/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } @@ -1058,19 +1241,23 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.3/PKG-INFO", "start_line": 16, "end_line": 16, + "matcher": "2-aho", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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" + "matched_text": "Classifier: License :: OSI Approved :: BSD License", + "matched_text_diagnostics": "License :: OSI Approved :: BSD License" } ], "detection_log": [], @@ -1179,30 +1366,36 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "google_appengine_sdk/django-1.3/django/contrib/messages/locale/en/LC_MESSAGES/django.po", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_3.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_3.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_3.RULE", - "matched_text": "This file is distributed under the same license as the Django package." + "matched_text": "# This file is distributed under the same license as the Django package.", + "matched_text_diagnostics": "This file is distributed under the same license as the Django package." }, { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.3/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } @@ -1253,30 +1446,36 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "google_appengine_sdk/django-1.3/django/contrib/messages/locale/uk/LC_MESSAGES/django.po", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_3.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_3.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_3.RULE", - "matched_text": "This file is distributed under the same license as the Django package." + "matched_text": "# This file is distributed under the same license as the Django package.", + "matched_text_diagnostics": "This file is distributed under the same license as the Django package." }, { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.3/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } @@ -1324,19 +1523,23 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.3/LICENSE", "start_line": 4, "end_line": 27, + "matcher": "2-aho", + "score": 100.0, "matched_length": 214, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_683.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_683.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_683.RULE", - "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." + "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.", + "matched_text_diagnostics": "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." } ], "detection_log": [], @@ -1426,17 +1629,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.3/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } @@ -1470,19 +1676,23 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "google_appengine_sdk/django-1.3/setup.py", "start_line": 89, "end_line": 89, + "matcher": "2-aho", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'," + "matched_text": " 'License :: OSI Approved :: BSD License',", + "matched_text_diagnostics": "License :: OSI Approved :: BSD License'," } ], "detection_log": [], diff --git a/tests/packagedcode/data/license_detection/reference-to-package/paddlenlp.expected.json b/tests/packagedcode/data/license_detection/reference-to-package/paddlenlp.expected.json index 3bd8c34bc5..0db619f269 100644 --- a/tests/packagedcode/data/license_detection/reference-to-package/paddlenlp.expected.json +++ b/tests/packagedcode/data/license_detection/reference-to-package/paddlenlp.expected.json @@ -43,17 +43,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "Apache 2.0" } @@ -62,17 +65,20 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 95.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 95.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, + "rule_identifier": "pypi_apache_no-version.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", "matched_text": "- 'License :: OSI Approved :: Apache Software License'" } @@ -386,60 +392,291 @@ { "identifier": "apache_2_0-35de6d3f-8962-0454-2270-33aac504c123", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 2, "detection_log": [ "unknown-reference-in-file-to-package" + ], + "reference_matches": [ + { + "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", + "from_file": "paddlenlp/docs/locale/en/LC_MESSAGES/changelog.po", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 10, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "free-unknown-package_4.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_4.RULE", + "matched_text": "# This file is distributed under the same license as the PaddleNLP package.", + "matched_text_diagnostics": "This file is distributed under the same license as the" + }, + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "paddlenlp/setup.py", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "matched_text": "Apache 2.0" + }, + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "paddlenlp/setup.py", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 95.0, + "matched_length": 6, + "match_coverage": 100.0, + "rule_relevance": 95, + "rule_identifier": "pypi_apache_no-version.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", + "matched_text": "- 'License :: OSI Approved :: Apache Software License'" + } ] }, { "identifier": "apache_2_0-999670be-3d5e-ebf8-ae18-b555c26c5e80", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 2, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "paddlenlp/README.md", + "start_line": 305, + "end_line": 307, + "matcher": "2-aho", + "score": 66.67, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_1215.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1215.RULE", + "matched_text": "License\n\nPaddleNLP\u9075\u5faa[Apache-2.0\u5f00\u6e90\u534f\u8bae](./LICENSE)\u3002", + "matched_text_diagnostics": "License\n\n[PaddleNLP\u9075\u5faa][Apache-2.[0\u5f00\u6e90\u534f\u8bae]](./LICENSE)\u3002" + } + ] }, { "identifier": "apache_2_0-abb5bcc3-dac9-a935-3392-31a86beb482a", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 2, "detection_log": [ "unknown-reference-to-local-file" + ], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "paddlenlp/README_en.md", + "start_line": 221, + "end_line": 221, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 9, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_83.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_83.RULE", + "matched_text": "is provided under the [Apache-2.0 License](./LICENSE).", + "matched_text_diagnostics": "is provided under the [Apache-2.0 License](./LICENSE)." + }, + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "paddlenlp/LICENSE", + "start_line": 3, + "end_line": 203, + "matcher": "3-seq", + "score": 99.81, + "matched_length": 1582, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_164.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_164.RULE", + "matched_text": " Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.", + "matched_text_diagnostics": "Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright ([c]) [2016] [PaddlePaddle] [Authors]. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." + } ] }, { "identifier": "apache_2_0-ec8d7936-cda2-7097-40cf-dbe8a06e916e", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 2, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "paddlenlp/LICENSE", + "start_line": 3, + "end_line": 203, + "matcher": "3-seq", + "score": 99.81, + "matched_length": 1582, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_164.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_164.RULE", + "matched_text": " Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.", + "matched_text_diagnostics": "Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright ([c]) [2016] [PaddlePaddle] [Authors]. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." + } + ] }, { "identifier": "apache_2_0-3972bfb2-eb21-3d0c-d862-1642babb9f95", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "paddlenlp/setup.py", + "start_line": 1, + "end_line": 13, + "matcher": "3-seq", + "score": 74.36, + "matched_length": 87, + "match_coverage": 74.36, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_1297.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1297.RULE", + "matched_text": "# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.", + "matched_text_diagnostics": "All Rights Reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this [file] except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License." + } + ] }, { "identifier": "apache_2_0-c4e30bcd-ccfd-bbc3-d2f1-196ab911e47d", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "paddlenlp/hubconf.py", + "start_line": 3, + "end_line": 13, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 85, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_7.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_7.RULE", + "matched_text": "# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.", + "matched_text_diagnostics": "Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License." + } + ] }, { "identifier": "apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "paddlenlp/setup.py", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "matched_text": "Apache 2.0" + } + ] }, { "identifier": "apache_2_0-da72644e-69e0-e2c0-89c5-5d42277b3f3b", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "paddlenlp/setup.py", + "start_line": 75, + "end_line": 75, + "matcher": "2-aho", + "score": 95.0, + "matched_length": 6, + "match_coverage": 100.0, + "rule_relevance": 95, + "rule_identifier": "pypi_apache_no-version.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", + "matched_text": " 'License :: OSI Approved :: Apache Software License',", + "matched_text_diagnostics": "License :: OSI Approved :: Apache Software License'," + }, + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "paddlenlp/setup.py", + "start_line": 78, + "end_line": 78, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE", + "matched_text": " license='Apache 2.0')", + "matched_text_diagnostics": "license='Apache 2.0')" + } + ] }, { "identifier": "apache_2_0-e267f9d9-ae62-e9c9-9cc2-8cd0a1e4928f", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "paddlenlp/setup.py", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 95.0, + "matched_length": 6, + "match_coverage": 100.0, + "rule_relevance": 95, + "rule_identifier": "pypi_apache_no-version.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", + "matched_text": "- 'License :: OSI Approved :: Apache Software License'" + } + ] } ], "files": [ @@ -455,19 +692,23 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 99.81, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/LICENSE", "start_line": 3, "end_line": 203, + "matcher": "3-seq", + "score": 99.81, "matched_length": 1582, "match_coverage": 100.0, - "matcher": "3-seq", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_164.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_164.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_164.RULE", - "matched_text": "Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright ([c]) [2016] [PaddlePaddle] [Authors]. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." + "matched_text": " Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.", + "matched_text_diagnostics": "Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright ([c]) [2016] [PaddlePaddle] [Authors]. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." } ], "detection_log": [], @@ -490,19 +731,23 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 66.67, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/README.md", "start_line": 305, "end_line": 307, + "matcher": "2-aho", + "score": 66.67, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1215.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1215.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1215.RULE", - "matched_text": "License\n\n[PaddleNLP\u9075\u5faa][Apache-2.[0\u5f00\u6e90\u534f\u8bae]](./LICENSE)\u3002" + "matched_text": "License\n\nPaddleNLP\u9075\u5faa[Apache-2.0\u5f00\u6e90\u534f\u8bae](./LICENSE)\u3002", + "matched_text_diagnostics": "License\n\n[PaddleNLP\u9075\u5faa][Apache-2.[0\u5f00\u6e90\u534f\u8bae]](./LICENSE)\u3002" } ], "detection_log": [], @@ -525,32 +770,39 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/README_en.md", "start_line": 221, "end_line": 221, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_83.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_83.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_83.RULE", - "matched_text": "is provided under the [Apache-2.0 License](./LICENSE)." + "matched_text": "is provided under the [Apache-2.0 License](./LICENSE).", + "matched_text_diagnostics": "is provided under the [Apache-2.0 License](./LICENSE)." }, { - "score": 99.81, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/LICENSE", "start_line": 3, "end_line": 203, + "matcher": "3-seq", + "score": 99.81, "matched_length": 1582, "match_coverage": 100.0, - "matcher": "3-seq", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_164.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_164.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_164.RULE", - "matched_text": "Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright ([c]) [2016] [PaddlePaddle] [Authors]. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." + "matched_text": " Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.", + "matched_text_diagnostics": "Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright ([c]) [2016] [PaddlePaddle] [Authors]. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." } ], "detection_log": [ @@ -623,43 +875,51 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "paddlenlp/docs/locale/en/LC_MESSAGES/changelog.po", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 10, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_4.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_4.RULE", - "matched_text": "This file is distributed under the same license as the" + "matched_text": "# This file is distributed under the same license as the PaddleNLP package.", + "matched_text_diagnostics": "This file is distributed under the same license as the" }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "Apache 2.0" }, { - "score": 95.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 95.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, + "rule_identifier": "pypi_apache_no-version.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", "matched_text": "- 'License :: OSI Approved :: Apache Software License'" } @@ -686,43 +946,51 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "paddlenlp/docs/locale/en/LC_MESSAGES/data.po", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 10, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_4.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_4.RULE", - "matched_text": "This file is distributed under the same license as the" + "matched_text": "# This file is distributed under the same license as the PaddleNLP package.", + "matched_text_diagnostics": "This file is distributed under the same license as the" }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "Apache 2.0" }, { - "score": 95.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 95.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, + "rule_identifier": "pypi_apache_no-version.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", "matched_text": "- 'License :: OSI Approved :: Apache Software License'" } @@ -954,19 +1222,23 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/hubconf.py", "start_line": 3, "end_line": 13, + "matcher": "2-aho", + "score": 100.0, "matched_length": 85, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_7.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_7.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_7.RULE", - "matched_text": "Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License." + "matched_text": "# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.", + "matched_text_diagnostics": "Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License." } ], "detection_log": [], @@ -1010,19 +1282,23 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 99.81, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/LICENSE", "start_line": 3, "end_line": 203, + "matcher": "3-seq", + "score": 99.81, "matched_length": 1582, "match_coverage": 100.0, - "matcher": "3-seq", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_164.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_164.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_164.RULE", - "matched_text": "Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright ([c]) [2016] [PaddlePaddle] [Authors]. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." + "matched_text": " Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.", + "matched_text_diagnostics": "Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright ([c]) [2016] [PaddlePaddle] [Authors]. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." } ], "detection_log": [], @@ -1030,19 +1306,23 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 66.67, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/README.md", "start_line": 305, "end_line": 307, + "matcher": "2-aho", + "score": 66.67, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1215.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1215.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1215.RULE", - "matched_text": "License\n\n[PaddleNLP\u9075\u5faa][Apache-2.[0\u5f00\u6e90\u534f\u8bae]](./LICENSE)\u3002" + "matched_text": "License\n\nPaddleNLP\u9075\u5faa[Apache-2.0\u5f00\u6e90\u534f\u8bae](./LICENSE)\u3002", + "matched_text_diagnostics": "License\n\n[PaddleNLP\u9075\u5faa][Apache-2.[0\u5f00\u6e90\u534f\u8bae]](./LICENSE)\u3002" } ], "detection_log": [], @@ -1050,32 +1330,39 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/README_en.md", "start_line": 221, "end_line": 221, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_83.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_83.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_83.RULE", - "matched_text": "is provided under the [Apache-2.0 License](./LICENSE)." + "matched_text": "is provided under the [Apache-2.0 License](./LICENSE).", + "matched_text_diagnostics": "is provided under the [Apache-2.0 License](./LICENSE)." }, { - "score": 99.81, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/LICENSE", "start_line": 3, "end_line": 203, + "matcher": "3-seq", + "score": 99.81, "matched_length": 1582, "match_coverage": 100.0, - "matcher": "3-seq", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_164.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_164.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_164.RULE", - "matched_text": "Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright ([c]) [2016] [PaddlePaddle] [Authors]. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." + "matched_text": " Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.", + "matched_text_diagnostics": "Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright ([c]) [2016] [PaddlePaddle] [Authors]. All Rights Reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License." } ], "detection_log": [ @@ -1368,17 +1655,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "Apache 2.0" } @@ -1387,17 +1677,20 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 95.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 95.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, + "rule_identifier": "pypi_apache_no-version.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", "matched_text": "- 'License :: OSI Approved :: Apache Software License'" } @@ -1452,19 +1745,23 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 74.36, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/setup.py", "start_line": 1, "end_line": 13, + "matcher": "3-seq", + "score": 74.36, "matched_length": 87, "match_coverage": 74.36, - "matcher": "3-seq", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1297.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1297.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1297.RULE", - "matched_text": "All Rights Reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this [file] except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License." + "matched_text": "# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.", + "matched_text_diagnostics": "All Rights Reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this [file] except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License." } ], "detection_log": [], @@ -1472,32 +1769,39 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 95.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/setup.py", "start_line": 75, "end_line": 75, + "matcher": "2-aho", + "score": 95.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, + "rule_identifier": "pypi_apache_no-version.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", - "matched_text": "License :: OSI Approved :: Apache Software License'," + "matched_text": " 'License :: OSI Approved :: Apache Software License',", + "matched_text_diagnostics": "License :: OSI Approved :: Apache Software License'," }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "paddlenlp/setup.py", "start_line": 78, "end_line": 78, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_65.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE", - "matched_text": "license='Apache 2.0')" + "matched_text": " license='Apache 2.0')", + "matched_text_diagnostics": "license='Apache 2.0')" } ], "detection_log": [], diff --git a/tests/packagedcode/data/license_detection/reference-to-package/physics.expected.json b/tests/packagedcode/data/license_detection/reference-to-package/physics.expected.json index 9a7b6488b2..ce7f1c5d46 100644 --- a/tests/packagedcode/data/license_detection/reference-to-package/physics.expected.json +++ b/tests/packagedcode/data/license_detection/reference-to-package/physics.expected.json @@ -5,28 +5,152 @@ { "identifier": "gpl_3_0-144a1e79-cf3f-cc72-96eb-9c715b37fb15", "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "detection_count": 13, "detection_log": [ "unknown-reference-in-file-to-nonexistent-package" + ], + "reference_matches": [ + { + "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", + "from_file": "physics/po/en_US.po", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", + "matched_text": "# This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." + }, + { + "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", + "from_file": "physics/COPYING", + "start_line": 2, + "end_line": 675, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5514, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", + "matched_text": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + } ] }, { "identifier": "gpl_3_0-ab79e5a8-e510-cbf4-5302-ef968484bcdf", "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "detection_count": 2, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", + "from_file": "physics/COPYING", + "start_line": 2, + "end_line": 675, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5514, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", + "matched_text": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + } + ] }, { "identifier": "gpl_3_0_and_unknown_license_reference_and_gpl_3_0_plus-ebd5f076-5cba-e641-e071-0028c4ee0ddb", "license_expression": "gpl-3.0 AND unknown-license-reference AND gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-only AND LicenseRef-scancode-unknown-license-reference AND GPL-3.0-or-later", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", + "from_file": "physics/myelements/callbacks.py", + "start_line": 13, + "end_line": 13, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-3.0_203.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_203.RULE", + "matched_text": "License: GPLv3 | See LICENSE for the full text", + "matched_text_diagnostics": "License: GPLv3 |" + }, + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "physics/myelements/callbacks.py", + "start_line": 13, + "end_line": 13, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 6, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_367.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_367.RULE", + "matched_text": "License: GPLv3 | See LICENSE for the full text", + "matched_text_diagnostics": "See LICENSE for the full text" + }, + { + "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", + "from_file": "physics/myelements/callbacks.py", + "start_line": 14, + "end_line": 25, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 102, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_290.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_290.RULE", + "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 3 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, see .", + "matched_text_diagnostics": "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 3 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, see ." + } + ] }, { "identifier": "gpl_3_0_plus-494d0068-7138-a14f-4cbb-fd2137263a4f", "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", + "from_file": "physics/physics.py", + "start_line": 10, + "end_line": 21, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 102, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_290.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_290.RULE", + "matched_text": "# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation, either version 3 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\n# GNU General Public License for more details.\n\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see .", + "matched_text_diagnostics": "This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation, either version 3 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\n# GNU General Public License for more details.\n\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see ." + } + ] } ], "files": [ @@ -40,19 +164,23 @@ "license_detections": [ { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "physics/COPYING", "start_line": 2, "end_line": 675, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [], @@ -97,45 +225,55 @@ "license_detections": [ { "license_expression": "gpl-3.0 AND unknown-license-reference AND gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-only AND LicenseRef-scancode-unknown-license-reference AND GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "physics/myelements/callbacks.py", "start_line": 13, "end_line": 13, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_203.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_203.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_203.RULE", - "matched_text": "License: GPLv3 |" + "matched_text": "License: GPLv3 | See LICENSE for the full text", + "matched_text_diagnostics": "License: GPLv3 |" }, { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "physics/myelements/callbacks.py", "start_line": 13, "end_line": 13, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_367.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_367.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_367.RULE", - "matched_text": "See LICENSE for the full text" + "matched_text": "License: GPLv3 | See LICENSE for the full text", + "matched_text_diagnostics": "See LICENSE for the full text" }, { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "physics/myelements/callbacks.py", "start_line": 14, "end_line": 25, + "matcher": "2-aho", + "score": 100.0, "matched_length": 102, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_290.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_290.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_290.RULE", - "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 3 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, see ." + "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 3 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, see .", + "matched_text_diagnostics": "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 3 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, see ." } ], "detection_log": [], @@ -156,19 +294,23 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "physics/physics.py", "start_line": 10, "end_line": 21, + "matcher": "2-aho", + "score": 100.0, "matched_length": 102, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_290.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_290.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_290.RULE", - "matched_text": "This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation, either version 3 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\n# GNU General Public License for more details.\n\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see ." + "matched_text": "# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation, either version 3 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\n# GNU General Public License for more details.\n\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see .", + "matched_text_diagnostics": "This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation, either version 3 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\n# GNU General Public License for more details.\n\n# You should have received a copy of the GNU General Public License\n# along with this program. If not, see ." } ], "detection_log": [], @@ -201,32 +343,39 @@ "license_detections": [ { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "physics/po/en_US.po", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_2.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", - "matched_text": "This file is distributed under the same license as the PACKAGE package." + "matched_text": "# This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "physics/COPYING", "start_line": 2, "end_line": 675, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [ @@ -236,32 +385,39 @@ }, { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "physics/po/en_US.po", "start_line": 7, "end_line": 7, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_2.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", - "matched_text": "This file is distributed under the same license as the PACKAGE package." + "matched_text": "# This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "physics/COPYING", "start_line": 2, "end_line": 675, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [ @@ -271,32 +427,39 @@ }, { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "physics/po/en_US.po", "start_line": 11, "end_line": 11, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_2.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", - "matched_text": "This file is distributed under the same license as the PACKAGE package." + "matched_text": "# This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "physics/COPYING", "start_line": 2, "end_line": 675, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [ @@ -306,32 +469,39 @@ }, { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "physics/po/en_US.po", "start_line": 15, "end_line": 15, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_2.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", - "matched_text": "This file is distributed under the same license as the PACKAGE package." + "matched_text": "# This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "physics/COPYING", "start_line": 2, "end_line": 675, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [ @@ -341,32 +511,39 @@ }, { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "physics/po/en_US.po", "start_line": 19, "end_line": 19, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_2.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", - "matched_text": "This file is distributed under the same license as the PACKAGE package." + "matched_text": "# This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "physics/COPYING", "start_line": 2, "end_line": 675, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [ @@ -376,32 +553,39 @@ }, { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "physics/po/en_US.po", "start_line": 23, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_2.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", - "matched_text": "This file is distributed under the same license as the PACKAGE package." + "matched_text": "# This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "physics/COPYING", "start_line": 2, "end_line": 675, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [ @@ -411,32 +595,39 @@ }, { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "physics/po/en_US.po", "start_line": 27, "end_line": 27, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_2.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", - "matched_text": "This file is distributed under the same license as the PACKAGE package." + "matched_text": "# This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "physics/COPYING", "start_line": 2, "end_line": 675, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [ @@ -459,32 +650,39 @@ "license_detections": [ { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "physics/po/uk.po", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_2.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", - "matched_text": "This file is distributed under the same license as the PACKAGE package." + "matched_text": "# This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "physics/COPYING", "start_line": 2, "end_line": 675, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [ @@ -494,32 +692,39 @@ }, { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "physics/po/uk.po", "start_line": 7, "end_line": 7, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_2.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", - "matched_text": "This file is distributed under the same license as the PACKAGE package." + "matched_text": "# This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "physics/COPYING", "start_line": 2, "end_line": 675, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [ @@ -529,32 +734,39 @@ }, { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "physics/po/uk.po", "start_line": 11, "end_line": 11, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_2.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", - "matched_text": "This file is distributed under the same license as the PACKAGE package." + "matched_text": "# This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "physics/COPYING", "start_line": 2, "end_line": 675, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [ @@ -564,32 +776,39 @@ }, { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "physics/po/uk.po", "start_line": 15, "end_line": 15, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_2.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", - "matched_text": "This file is distributed under the same license as the PACKAGE package." + "matched_text": "# This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "physics/COPYING", "start_line": 2, "end_line": 675, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [ @@ -599,32 +818,39 @@ }, { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "physics/po/uk.po", "start_line": 19, "end_line": 19, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_2.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", - "matched_text": "This file is distributed under the same license as the PACKAGE package." + "matched_text": "# This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "physics/COPYING", "start_line": 2, "end_line": 675, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [ @@ -634,32 +860,39 @@ }, { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "physics/po/uk.po", "start_line": 23, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_2.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_2.RULE", - "matched_text": "This file is distributed under the same license as the PACKAGE package." + "matched_text": "# This file is distributed under the same license as the PACKAGE package.", + "matched_text_diagnostics": "This file is distributed under the same license as the PACKAGE package." }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "physics/COPYING", "start_line": 2, "end_line": 675, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [ @@ -705,19 +938,23 @@ "license_detections": [ { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "physics/COPYING", "start_line": 2, "end_line": 675, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": "\t\t GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n\t\t Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n \n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n\t\t END OF TERMS AND CONDITIONS\n\n\t How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [], diff --git a/tests/packagedcode/data/license_detection/reference-to-package/samba.expected.json b/tests/packagedcode/data/license_detection/reference-to-package/samba.expected.json index 2deb5912e7..40b58c1316 100644 --- a/tests/packagedcode/data/license_detection/reference-to-package/samba.expected.json +++ b/tests/packagedcode/data/license_detection/reference-to-package/samba.expected.json @@ -29,19 +29,23 @@ "license_detections": [ { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "samba/COPYING", "start_line": 1, "end_line": 674, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [], @@ -49,19 +53,23 @@ }, { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", "start_line": 63, "end_line": 63, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_33.RULE", - "matched_text": "the GNU General Public License," + "matched_text": " by me, under the GNU General Public License, in the", + "matched_text_diagnostics": "the GNU General Public License," } ], "detection_log": [], @@ -69,71 +77,87 @@ }, { "license_expression": "gpl-1.0-plus AND lgpl-3.0-plus AND gpl-3.0 AND lgpl-3.0", + "license_expression_spdx": "GPL-1.0-or-later AND LGPL-3.0-or-later AND GPL-3.0-only AND LGPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", "start_line": 76, "end_line": 76, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_bare_gnu_gpl.RULE", "rule_relevance": 100, + "rule_identifier": "gpl_bare_gnu_gpl.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_gnu_gpl.RULE", - "matched_text": "GNU GPL" + "matched_text": " requirements of the GNU GPL where they are relevant.", + "matched_text_diagnostics": "GNU GPL" }, { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", "start_line": 79, "end_line": 79, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_33.RULE", - "matched_text": "the GNU General Public License" + "matched_text": " the GNU General Public License and the GNU Lesser General Public", + "matched_text_diagnostics": "the GNU General Public License" }, { - "score": 47.22, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "samba/README.contributing", "start_line": 79, "end_line": 81, + "matcher": "3-seq", + "score": 47.22, "matched_length": 17, "match_coverage": 47.22, - "matcher": "3-seq", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_103.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_103.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_103.RULE", - "matched_text": "the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of" + "matched_text": " the GNU General Public License and the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of these Licenses, or (at the option of the project) any later", + "matched_text_diagnostics": "the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of" }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "samba/README.contributing", "start_line": 84, "end_line": 84, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_12.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_12.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_12.RULE", - "matched_text": "http://www.gnu.org/licenses/gpl-3.0.html" + "matched_text": " http://www.gnu.org/licenses/gpl-3.0.html", + "matched_text_diagnostics": "http://www.gnu.org/licenses/gpl-3.0.html" }, { - "score": 100.0, + "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", + "from_file": "samba/README.contributing", "start_line": 85, "end_line": 85, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0", - "rule_identifier": "lgpl-3.0_1.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_1.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl-3.0.html" + "matched_text": " http://www.gnu.org/licenses/lgpl-3.0.html", + "matched_text_diagnostics": "http://www.gnu.org/licenses/lgpl-3.0.html" } ], "detection_log": [], @@ -141,45 +165,55 @@ }, { "license_expression": "cc-by-sa-3.0 AND cc-by-sa-4.0 AND dco-1.1", + "license_expression_spdx": "CC-BY-SA-3.0 AND CC-BY-SA-4.0 AND LicenseRef-scancode-dco-1.1", "matches": [ { - "score": 75.0, + "license_expression": "cc-by-sa-3.0", + "spdx_license_expression": "CC-BY-SA-3.0", + "from_file": "samba/README.contributing", "start_line": 121, "end_line": 122, + "matcher": "3-seq", + "score": 75.0, "matched_length": 12, "match_coverage": 75.0, - "matcher": "3-seq", - "license_expression": "cc-by-sa-3.0", - "rule_identifier": "cc-by-sa-3.0_10.RULE", "rule_relevance": 100, + "rule_identifier": "cc-by-sa-3.0_10.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-3.0_10.RULE", - "matched_text": "licensed under Creative Commons Attribution-ShareAlike [4].[0] License [as] [found]\n[at] [https]://creativecommons.org/licenses/by-sa/" + "matched_text": "licensed under Creative Commons Attribution-ShareAlike 4.0 License as found\nat https://creativecommons.org/licenses/by-sa/4.0/legalcode and based on", + "matched_text_diagnostics": "licensed under Creative Commons Attribution-ShareAlike [4].[0] License [as] [found]\n[at] [https]://creativecommons.org/licenses/by-sa/" }, { - "score": 100.0, + "license_expression": "cc-by-sa-4.0", + "spdx_license_expression": "CC-BY-SA-4.0", + "from_file": "samba/README.contributing", "start_line": 122, "end_line": 122, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cc-by-sa-4.0", - "rule_identifier": "cc-by-sa-4.0_71.RULE", "rule_relevance": 100, + "rule_identifier": "cc-by-sa-4.0_71.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-4.0_71.RULE", - "matched_text": "https://creativecommons.org/licenses/by-sa/4.0/legalcode" + "matched_text": "at https://creativecommons.org/licenses/by-sa/4.0/legalcode and based on", + "matched_text_diagnostics": "https://creativecommons.org/licenses/by-sa/4.0/legalcode" }, { - "score": 100.0, + "license_expression": "dco-1.1", + "spdx_license_expression": "LicenseRef-scancode-dco-1.1", + "from_file": "samba/README.contributing", "start_line": 123, "end_line": 123, + "matcher": "2-aho", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "dco-1.1", - "rule_identifier": "dco-1.1_2.RULE", "rule_relevance": 100, + "rule_identifier": "dco-1.1_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/dco-1.1_2.RULE", - "matched_text": "Developer's Certificate of Origin 1.1\"" + "matched_text": "\"Developer's Certificate of Origin 1.1\" as found at", + "matched_text_diagnostics": "Developer's Certificate of Origin 1.1\"" } ], "detection_log": [], @@ -187,19 +221,23 @@ }, { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 81.82, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "samba/README.md", "start_line": 6, "end_line": 6, + "matcher": "3-seq", + "score": 81.82, "matched_length": 9, "match_coverage": 81.82, - "matcher": "3-seq", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_1142.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_1142.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1142.RULE", - "matched_text": "Free Software licensed under the GNU General Public License" + "matched_text": "Samba is Free Software licensed under the GNU General Public License and", + "matched_text_diagnostics": "Free Software licensed under the GNU General Public License" } ], "detection_log": [], @@ -207,19 +245,23 @@ }, { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.md", "start_line": 22, "end_line": 24, + "matcher": "2-aho", + "score": 100.0, "matched_length": 24, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_579.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_579.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_579.RULE", - "matched_text": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING)." + "matched_text": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING).", + "matched_text_diagnostics": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING)." } ], "detection_log": [], @@ -251,54 +293,526 @@ { "identifier": "cc_by_sa_3_0_and_cc_by_sa_4_0_and_dco_1_1-4fb8e409-441a-1243-5a0d-d6af2acc0c62", "license_expression": "cc-by-sa-3.0 AND cc-by-sa-4.0 AND dco-1.1", + "license_expression_spdx": "CC-BY-SA-3.0 AND CC-BY-SA-4.0 AND LicenseRef-scancode-dco-1.1", "detection_count": 3, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "cc-by-sa-3.0", + "license_expression_spdx": "CC-BY-SA-3.0", + "from_file": "samba/README.contributing", + "start_line": 121, + "end_line": 122, + "matcher": "3-seq", + "score": 75.0, + "matched_length": 12, + "match_coverage": 75.0, + "rule_relevance": 100, + "rule_identifier": "cc-by-sa-3.0_10.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-3.0_10.RULE", + "matched_text": "licensed under Creative Commons Attribution-ShareAlike 4.0 License as found\nat https://creativecommons.org/licenses/by-sa/4.0/legalcode and based on", + "matched_text_diagnostics": "licensed under Creative Commons Attribution-ShareAlike [4].[0] License [as] [found]\n[at] [https]://creativecommons.org/licenses/by-sa/" + }, + { + "license_expression": "cc-by-sa-4.0", + "license_expression_spdx": "CC-BY-SA-4.0", + "from_file": "samba/README.contributing", + "start_line": 122, + "end_line": 122, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 9, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "cc-by-sa-4.0_71.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-4.0_71.RULE", + "matched_text": "at https://creativecommons.org/licenses/by-sa/4.0/legalcode and based on", + "matched_text_diagnostics": "https://creativecommons.org/licenses/by-sa/4.0/legalcode" + }, + { + "license_expression": "dco-1.1", + "license_expression_spdx": "LicenseRef-scancode-dco-1.1", + "from_file": "samba/README.contributing", + "start_line": 123, + "end_line": 123, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 7, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "dco-1.1_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/dco-1.1_2.RULE", + "matched_text": "\"Developer's Certificate of Origin 1.1\" as found at", + "matched_text_diagnostics": "Developer's Certificate of Origin 1.1\"" + } + ] }, { "identifier": "gpl_1_0_plus-4347f44c-ada6-f802-86dd-14a96429fac1", "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "detection_count": 3, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", + "start_line": 63, + "end_line": 63, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_33.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_33.RULE", + "matched_text": " by me, under the GNU General Public License, in the", + "matched_text_diagnostics": "the GNU General Public License," + } + ] }, { "identifier": "gpl_1_0_plus_and_lgpl_3_0_plus_and_gpl_3_0_and_lgpl_3_0-3bd18dcd-0a4c-d46f-f42e-3d2919be9be0", "license_expression": "gpl-1.0-plus AND lgpl-3.0-plus AND gpl-3.0 AND lgpl-3.0", + "license_expression_spdx": "GPL-1.0-or-later AND LGPL-3.0-or-later AND GPL-3.0-only AND LGPL-3.0-only", "detection_count": 3, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", + "start_line": 76, + "end_line": 76, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl_bare_gnu_gpl.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_gnu_gpl.RULE", + "matched_text": " requirements of the GNU GPL where they are relevant.", + "matched_text_diagnostics": "GNU GPL" + }, + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", + "start_line": 79, + "end_line": 79, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_33.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_33.RULE", + "matched_text": " the GNU General Public License and the GNU Lesser General Public", + "matched_text_diagnostics": "the GNU General Public License" + }, + { + "license_expression": "lgpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later", + "from_file": "samba/README.contributing", + "start_line": 79, + "end_line": 81, + "matcher": "3-seq", + "score": 47.22, + "matched_length": 17, + "match_coverage": 47.22, + "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_103.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_103.RULE", + "matched_text": " the GNU General Public License and the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of these Licenses, or (at the option of the project) any later", + "matched_text_diagnostics": "the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of" + }, + { + "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", + "from_file": "samba/README.contributing", + "start_line": 84, + "end_line": 84, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 9, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-3.0_12.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_12.RULE", + "matched_text": " http://www.gnu.org/licenses/gpl-3.0.html", + "matched_text_diagnostics": "http://www.gnu.org/licenses/gpl-3.0.html" + }, + { + "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", + "from_file": "samba/README.contributing", + "start_line": 85, + "end_line": 85, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 9, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_1.RULE", + "matched_text": " http://www.gnu.org/licenses/lgpl-3.0.html", + "matched_text_diagnostics": "http://www.gnu.org/licenses/lgpl-3.0.html" + } + ] }, { "identifier": "gpl_2_0-29c387aa-50e0-0530-7b0b-aa32e3c372d6", "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "detection_count": 3, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", + "from_file": "samba/README.md", + "start_line": 6, + "end_line": 6, + "matcher": "3-seq", + "score": 81.82, + "matched_length": 9, + "match_coverage": 81.82, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0_1142.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1142.RULE", + "matched_text": "Samba is Free Software licensed under the GNU General Public License and", + "matched_text_diagnostics": "Free Software licensed under the GNU General Public License" + } + ] }, { "identifier": "gpl_3_0-ab79e5a8-e510-cbf4-5302-ef968484bcdf", "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "detection_count": 3, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", + "from_file": "samba/COPYING", + "start_line": 1, + "end_line": 674, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5514, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", + "matched_text": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + } + ] }, { "identifier": "gpl_3_0-db305a6e-7013-4ffa-0ad4-09f113582e67", "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "detection_count": 3, "detection_log": [ "unknown-reference-to-local-file" + ], + "reference_matches": [ + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "samba/README.md", + "start_line": 22, + "end_line": 24, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 24, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_579.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_579.RULE", + "matched_text": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING).", + "matched_text_diagnostics": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING)." + }, + { + "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", + "from_file": "samba/COPYING", + "start_line": 1, + "end_line": 674, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5514, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", + "matched_text": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + } ] }, { "identifier": "gpl_3_0_and_gpl_1_0_plus_and_lgpl_3_0_plus_and_lgpl_3_0_and_cc_by_sa_3_0_and_cc_by_sa_4_0_and_dco_1_1_and_gpl_2_0-c27079b5-2c85-9902-b997-c5f0081e9516", "license_expression": "gpl-3.0 AND gpl-1.0-plus AND lgpl-3.0-plus AND lgpl-3.0 AND cc-by-sa-3.0 AND cc-by-sa-4.0 AND dco-1.1 AND gpl-2.0", + "license_expression_spdx": "GPL-3.0-only AND GPL-1.0-or-later AND LGPL-3.0-or-later AND LGPL-3.0-only AND CC-BY-SA-3.0 AND CC-BY-SA-4.0 AND LicenseRef-scancode-dco-1.1 AND GPL-2.0-only", "detection_count": 1, "detection_log": [ "unknown-reference-to-local-file" + ], + "reference_matches": [ + { + "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", + "from_file": "samba/source3/locale/net/de.po", + "start_line": 4, + "end_line": 4, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 10, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "free-unknown-package_4.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_4.RULE", + "matched_text": "# This file is distributed under the same license as the samba package.", + "matched_text_diagnostics": "This file is distributed under the same license as the" + }, + { + "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", + "from_file": "samba/COPYING", + "start_line": 1, + "end_line": 674, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5514, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", + "matched_text": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + }, + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", + "start_line": 63, + "end_line": 63, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_33.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_33.RULE", + "matched_text": " by me, under the GNU General Public License, in the", + "matched_text_diagnostics": "the GNU General Public License," + }, + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", + "start_line": 76, + "end_line": 76, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl_bare_gnu_gpl.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_gnu_gpl.RULE", + "matched_text": " requirements of the GNU GPL where they are relevant.", + "matched_text_diagnostics": "GNU GPL" + }, + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", + "start_line": 79, + "end_line": 79, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_33.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_33.RULE", + "matched_text": " the GNU General Public License and the GNU Lesser General Public", + "matched_text_diagnostics": "the GNU General Public License" + }, + { + "license_expression": "lgpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later", + "from_file": "samba/README.contributing", + "start_line": 79, + "end_line": 81, + "matcher": "3-seq", + "score": 47.22, + "matched_length": 17, + "match_coverage": 47.22, + "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_103.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_103.RULE", + "matched_text": " the GNU General Public License and the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of these Licenses, or (at the option of the project) any later", + "matched_text_diagnostics": "the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of" + }, + { + "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", + "from_file": "samba/README.contributing", + "start_line": 84, + "end_line": 84, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 9, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-3.0_12.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_12.RULE", + "matched_text": " http://www.gnu.org/licenses/gpl-3.0.html", + "matched_text_diagnostics": "http://www.gnu.org/licenses/gpl-3.0.html" + }, + { + "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", + "from_file": "samba/README.contributing", + "start_line": 85, + "end_line": 85, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 9, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_1.RULE", + "matched_text": " http://www.gnu.org/licenses/lgpl-3.0.html", + "matched_text_diagnostics": "http://www.gnu.org/licenses/lgpl-3.0.html" + }, + { + "license_expression": "cc-by-sa-3.0", + "license_expression_spdx": "CC-BY-SA-3.0", + "from_file": "samba/README.contributing", + "start_line": 121, + "end_line": 122, + "matcher": "3-seq", + "score": 75.0, + "matched_length": 12, + "match_coverage": 75.0, + "rule_relevance": 100, + "rule_identifier": "cc-by-sa-3.0_10.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-3.0_10.RULE", + "matched_text": "licensed under Creative Commons Attribution-ShareAlike 4.0 License as found\nat https://creativecommons.org/licenses/by-sa/4.0/legalcode and based on", + "matched_text_diagnostics": "licensed under Creative Commons Attribution-ShareAlike [4].[0] License [as] [found]\n[at] [https]://creativecommons.org/licenses/by-sa/" + }, + { + "license_expression": "cc-by-sa-4.0", + "license_expression_spdx": "CC-BY-SA-4.0", + "from_file": "samba/README.contributing", + "start_line": 122, + "end_line": 122, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 9, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "cc-by-sa-4.0_71.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-4.0_71.RULE", + "matched_text": "at https://creativecommons.org/licenses/by-sa/4.0/legalcode and based on", + "matched_text_diagnostics": "https://creativecommons.org/licenses/by-sa/4.0/legalcode" + }, + { + "license_expression": "dco-1.1", + "license_expression_spdx": "LicenseRef-scancode-dco-1.1", + "from_file": "samba/README.contributing", + "start_line": 123, + "end_line": 123, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 7, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "dco-1.1_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/dco-1.1_2.RULE", + "matched_text": "\"Developer's Certificate of Origin 1.1\" as found at", + "matched_text_diagnostics": "Developer's Certificate of Origin 1.1\"" + }, + { + "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", + "from_file": "samba/README.md", + "start_line": 6, + "end_line": 6, + "matcher": "3-seq", + "score": 81.82, + "matched_length": 9, + "match_coverage": 81.82, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0_1142.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1142.RULE", + "matched_text": "Samba is Free Software licensed under the GNU General Public License and", + "matched_text_diagnostics": "Free Software licensed under the GNU General Public License" + }, + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "samba/README.md", + "start_line": 22, + "end_line": 24, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 24, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_579.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_579.RULE", + "matched_text": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING).", + "matched_text_diagnostics": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING)." + }, + { + "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", + "from_file": "samba/COPYING", + "start_line": 1, + "end_line": 674, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5514, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", + "matched_text": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + } ] }, { "identifier": "gpl_3_0_plus-494d0068-7138-a14f-4cbb-fd2137263a4f", "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", + "from_file": "samba/source3/locale/net/genmsg", + "start_line": 5, + "end_line": 16, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 102, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_290.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_290.RULE", + "matched_text": "# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3 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\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program; if not, see .", + "matched_text_diagnostics": "This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3 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\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program; if not, see ." + } + ] } ], "files": [ @@ -314,19 +828,23 @@ "license_detections": [ { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "samba/COPYING", "start_line": 1, "end_line": 674, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [], @@ -391,19 +909,23 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", "start_line": 63, "end_line": 63, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_33.RULE", - "matched_text": "the GNU General Public License," + "matched_text": " by me, under the GNU General Public License, in the", + "matched_text_diagnostics": "the GNU General Public License," } ], "detection_log": [], @@ -411,71 +933,87 @@ }, { "license_expression": "gpl-1.0-plus AND lgpl-3.0-plus AND gpl-3.0 AND lgpl-3.0", + "license_expression_spdx": "GPL-1.0-or-later AND LGPL-3.0-or-later AND GPL-3.0-only AND LGPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", "start_line": 76, "end_line": 76, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_bare_gnu_gpl.RULE", "rule_relevance": 100, + "rule_identifier": "gpl_bare_gnu_gpl.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_gnu_gpl.RULE", - "matched_text": "GNU GPL" + "matched_text": " requirements of the GNU GPL where they are relevant.", + "matched_text_diagnostics": "GNU GPL" }, { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", "start_line": 79, "end_line": 79, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_33.RULE", - "matched_text": "the GNU General Public License" + "matched_text": " the GNU General Public License and the GNU Lesser General Public", + "matched_text_diagnostics": "the GNU General Public License" }, { - "score": 47.22, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "samba/README.contributing", "start_line": 79, "end_line": 81, + "matcher": "3-seq", + "score": 47.22, "matched_length": 17, "match_coverage": 47.22, - "matcher": "3-seq", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_103.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_103.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_103.RULE", - "matched_text": "the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of" + "matched_text": " the GNU General Public License and the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of these Licenses, or (at the option of the project) any later", + "matched_text_diagnostics": "the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of" }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "samba/README.contributing", "start_line": 84, "end_line": 84, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_12.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_12.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_12.RULE", - "matched_text": "http://www.gnu.org/licenses/gpl-3.0.html" + "matched_text": " http://www.gnu.org/licenses/gpl-3.0.html", + "matched_text_diagnostics": "http://www.gnu.org/licenses/gpl-3.0.html" }, { - "score": 100.0, + "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", + "from_file": "samba/README.contributing", "start_line": 85, "end_line": 85, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0", - "rule_identifier": "lgpl-3.0_1.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_1.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl-3.0.html" + "matched_text": " http://www.gnu.org/licenses/lgpl-3.0.html", + "matched_text_diagnostics": "http://www.gnu.org/licenses/lgpl-3.0.html" } ], "detection_log": [], @@ -483,45 +1021,55 @@ }, { "license_expression": "cc-by-sa-3.0 AND cc-by-sa-4.0 AND dco-1.1", + "license_expression_spdx": "CC-BY-SA-3.0 AND CC-BY-SA-4.0 AND LicenseRef-scancode-dco-1.1", "matches": [ { - "score": 75.0, + "license_expression": "cc-by-sa-3.0", + "spdx_license_expression": "CC-BY-SA-3.0", + "from_file": "samba/README.contributing", "start_line": 121, "end_line": 122, + "matcher": "3-seq", + "score": 75.0, "matched_length": 12, "match_coverage": 75.0, - "matcher": "3-seq", - "license_expression": "cc-by-sa-3.0", - "rule_identifier": "cc-by-sa-3.0_10.RULE", "rule_relevance": 100, + "rule_identifier": "cc-by-sa-3.0_10.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-3.0_10.RULE", - "matched_text": "licensed under Creative Commons Attribution-ShareAlike [4].[0] License [as] [found]\n[at] [https]://creativecommons.org/licenses/by-sa/" + "matched_text": "licensed under Creative Commons Attribution-ShareAlike 4.0 License as found\nat https://creativecommons.org/licenses/by-sa/4.0/legalcode and based on", + "matched_text_diagnostics": "licensed under Creative Commons Attribution-ShareAlike [4].[0] License [as] [found]\n[at] [https]://creativecommons.org/licenses/by-sa/" }, { - "score": 100.0, + "license_expression": "cc-by-sa-4.0", + "spdx_license_expression": "CC-BY-SA-4.0", + "from_file": "samba/README.contributing", "start_line": 122, "end_line": 122, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cc-by-sa-4.0", - "rule_identifier": "cc-by-sa-4.0_71.RULE", "rule_relevance": 100, + "rule_identifier": "cc-by-sa-4.0_71.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-4.0_71.RULE", - "matched_text": "https://creativecommons.org/licenses/by-sa/4.0/legalcode" + "matched_text": "at https://creativecommons.org/licenses/by-sa/4.0/legalcode and based on", + "matched_text_diagnostics": "https://creativecommons.org/licenses/by-sa/4.0/legalcode" }, { - "score": 100.0, + "license_expression": "dco-1.1", + "spdx_license_expression": "LicenseRef-scancode-dco-1.1", + "from_file": "samba/README.contributing", "start_line": 123, "end_line": 123, + "matcher": "2-aho", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "dco-1.1", - "rule_identifier": "dco-1.1_2.RULE", "rule_relevance": 100, + "rule_identifier": "dco-1.1_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/dco-1.1_2.RULE", - "matched_text": "Developer's Certificate of Origin 1.1\"" + "matched_text": "\"Developer's Certificate of Origin 1.1\" as found at", + "matched_text_diagnostics": "Developer's Certificate of Origin 1.1\"" } ], "detection_log": [], @@ -530,69 +1078,84 @@ ], "license_clues": [ { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "samba/README.contributing", "start_line": 38, "end_line": 38, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_32.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_32.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_32.RULE", - "matched_text": "GPLv3" + "matched_text": "accommodate the licenses we use, which are GPLv3 and LGPLv3 (or later)", + "matched_text_diagnostics": "GPLv3" }, { - "score": 100.0, + "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", + "from_file": "samba/README.contributing", "start_line": 38, "end_line": 38, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0", - "rule_identifier": "lgpl-3.0_29.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_29.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_29.RULE", - "matched_text": "LGPLv3 (" + "matched_text": "accommodate the licenses we use, which are GPLv3 and LGPLv3 (or later)", + "matched_text_diagnostics": "LGPLv3 (" }, { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "samba/README.contributing", "start_line": 39, "end_line": 39, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_bare_single_word.RULE", - "matched_text": "GPLv2." + "matched_text": "whereas the Linux kernel uses GPLv2.", + "matched_text_diagnostics": "GPLv2." }, { - "score": 20.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "samba/README.contributing", "start_line": 57, "end_line": 57, + "matcher": "3-seq", + "score": 20.0, "matched_length": 6, "match_coverage": 20.0, - "matcher": "3-seq", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_627.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_627.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_627.RULE", - "matched_text": "of the GNU General Public License;" + "matched_text": " version of the GNU General Public License; or", + "matched_text_diagnostics": "of the GNU General Public License;" }, { - "score": 50.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "samba/README.contributing", "start_line": 60, "end_line": 61, + "matcher": "2-aho", + "score": 50.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown_88.RULE", "rule_relevance": 50, + "rule_identifier": "free-unknown_88.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown_88.RULE", - "matched_text": "open source\n license" + "matched_text": " of my knowledge, is covered under an appropriate open source\n license and I have the right under that license to submit that", + "matched_text_diagnostics": "open source\n license" } ], "percentage_of_license_text": 9.84, @@ -610,19 +1173,23 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 81.82, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "samba/README.md", "start_line": 6, "end_line": 6, + "matcher": "3-seq", + "score": 81.82, "matched_length": 9, "match_coverage": 81.82, - "matcher": "3-seq", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_1142.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_1142.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1142.RULE", - "matched_text": "Free Software licensed under the GNU General Public License" + "matched_text": "Samba is Free Software licensed under the GNU General Public License and", + "matched_text_diagnostics": "Free Software licensed under the GNU General Public License" } ], "detection_log": [], @@ -630,32 +1197,39 @@ }, { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.md", "start_line": 22, "end_line": 24, + "matcher": "2-aho", + "score": 100.0, "matched_length": 24, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_579.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_579.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_579.RULE", - "matched_text": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING)." + "matched_text": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING).", + "matched_text_diagnostics": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING)." }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "samba/COPYING", "start_line": 1, "end_line": 674, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [ @@ -701,19 +1275,23 @@ "license_detections": [ { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "samba/COPYING", "start_line": 1, "end_line": 674, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [], @@ -721,19 +1299,23 @@ }, { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", "start_line": 63, "end_line": 63, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_33.RULE", - "matched_text": "the GNU General Public License," + "matched_text": " by me, under the GNU General Public License, in the", + "matched_text_diagnostics": "the GNU General Public License," } ], "detection_log": [], @@ -741,71 +1323,87 @@ }, { "license_expression": "gpl-1.0-plus AND lgpl-3.0-plus AND gpl-3.0 AND lgpl-3.0", + "license_expression_spdx": "GPL-1.0-or-later AND LGPL-3.0-or-later AND GPL-3.0-only AND LGPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", "start_line": 76, "end_line": 76, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_bare_gnu_gpl.RULE", "rule_relevance": 100, + "rule_identifier": "gpl_bare_gnu_gpl.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_gnu_gpl.RULE", - "matched_text": "GNU GPL" + "matched_text": " requirements of the GNU GPL where they are relevant.", + "matched_text_diagnostics": "GNU GPL" }, { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", "start_line": 79, "end_line": 79, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_33.RULE", - "matched_text": "the GNU General Public License" + "matched_text": " the GNU General Public License and the GNU Lesser General Public", + "matched_text_diagnostics": "the GNU General Public License" }, { - "score": 47.22, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "samba/README.contributing", "start_line": 79, "end_line": 81, + "matcher": "3-seq", + "score": 47.22, "matched_length": 17, "match_coverage": 47.22, - "matcher": "3-seq", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_103.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_103.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_103.RULE", - "matched_text": "the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of" + "matched_text": " the GNU General Public License and the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of these Licenses, or (at the option of the project) any later", + "matched_text_diagnostics": "the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of" }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "samba/README.contributing", "start_line": 84, "end_line": 84, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_12.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_12.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_12.RULE", - "matched_text": "http://www.gnu.org/licenses/gpl-3.0.html" + "matched_text": " http://www.gnu.org/licenses/gpl-3.0.html", + "matched_text_diagnostics": "http://www.gnu.org/licenses/gpl-3.0.html" }, { - "score": 100.0, + "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", + "from_file": "samba/README.contributing", "start_line": 85, "end_line": 85, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0", - "rule_identifier": "lgpl-3.0_1.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_1.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl-3.0.html" + "matched_text": " http://www.gnu.org/licenses/lgpl-3.0.html", + "matched_text_diagnostics": "http://www.gnu.org/licenses/lgpl-3.0.html" } ], "detection_log": [], @@ -813,45 +1411,55 @@ }, { "license_expression": "cc-by-sa-3.0 AND cc-by-sa-4.0 AND dco-1.1", + "license_expression_spdx": "CC-BY-SA-3.0 AND CC-BY-SA-4.0 AND LicenseRef-scancode-dco-1.1", "matches": [ { - "score": 75.0, + "license_expression": "cc-by-sa-3.0", + "spdx_license_expression": "CC-BY-SA-3.0", + "from_file": "samba/README.contributing", "start_line": 121, "end_line": 122, + "matcher": "3-seq", + "score": 75.0, "matched_length": 12, "match_coverage": 75.0, - "matcher": "3-seq", - "license_expression": "cc-by-sa-3.0", - "rule_identifier": "cc-by-sa-3.0_10.RULE", "rule_relevance": 100, + "rule_identifier": "cc-by-sa-3.0_10.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-3.0_10.RULE", - "matched_text": "licensed under Creative Commons Attribution-ShareAlike [4].[0] License [as] [found]\n[at] [https]://creativecommons.org/licenses/by-sa/" + "matched_text": "licensed under Creative Commons Attribution-ShareAlike 4.0 License as found\nat https://creativecommons.org/licenses/by-sa/4.0/legalcode and based on", + "matched_text_diagnostics": "licensed under Creative Commons Attribution-ShareAlike [4].[0] License [as] [found]\n[at] [https]://creativecommons.org/licenses/by-sa/" }, { - "score": 100.0, + "license_expression": "cc-by-sa-4.0", + "spdx_license_expression": "CC-BY-SA-4.0", + "from_file": "samba/README.contributing", "start_line": 122, "end_line": 122, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cc-by-sa-4.0", - "rule_identifier": "cc-by-sa-4.0_71.RULE", "rule_relevance": 100, + "rule_identifier": "cc-by-sa-4.0_71.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-4.0_71.RULE", - "matched_text": "https://creativecommons.org/licenses/by-sa/4.0/legalcode" + "matched_text": "at https://creativecommons.org/licenses/by-sa/4.0/legalcode and based on", + "matched_text_diagnostics": "https://creativecommons.org/licenses/by-sa/4.0/legalcode" }, { - "score": 100.0, + "license_expression": "dco-1.1", + "spdx_license_expression": "LicenseRef-scancode-dco-1.1", + "from_file": "samba/README.contributing", "start_line": 123, "end_line": 123, + "matcher": "2-aho", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "dco-1.1", - "rule_identifier": "dco-1.1_2.RULE", "rule_relevance": 100, + "rule_identifier": "dco-1.1_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/dco-1.1_2.RULE", - "matched_text": "Developer's Certificate of Origin 1.1\"" + "matched_text": "\"Developer's Certificate of Origin 1.1\" as found at", + "matched_text_diagnostics": "Developer's Certificate of Origin 1.1\"" } ], "detection_log": [], @@ -859,19 +1467,23 @@ }, { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 81.82, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "samba/README.md", "start_line": 6, "end_line": 6, + "matcher": "3-seq", + "score": 81.82, "matched_length": 9, "match_coverage": 81.82, - "matcher": "3-seq", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_1142.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_1142.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1142.RULE", - "matched_text": "Free Software licensed under the GNU General Public License" + "matched_text": "Samba is Free Software licensed under the GNU General Public License and", + "matched_text_diagnostics": "Free Software licensed under the GNU General Public License" } ], "detection_log": [], @@ -879,32 +1491,39 @@ }, { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.md", "start_line": 22, "end_line": 24, + "matcher": "2-aho", + "score": 100.0, "matched_length": 24, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_579.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_579.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_579.RULE", - "matched_text": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING)." + "matched_text": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING).", + "matched_text_diagnostics": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING)." }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "samba/COPYING", "start_line": 1, "end_line": 674, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [ @@ -986,19 +1605,23 @@ "license_detections": [ { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "samba/COPYING", "start_line": 1, "end_line": 674, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [], @@ -1006,19 +1629,23 @@ }, { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", "start_line": 63, "end_line": 63, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_33.RULE", - "matched_text": "the GNU General Public License," + "matched_text": " by me, under the GNU General Public License, in the", + "matched_text_diagnostics": "the GNU General Public License," } ], "detection_log": [], @@ -1026,71 +1653,87 @@ }, { "license_expression": "gpl-1.0-plus AND lgpl-3.0-plus AND gpl-3.0 AND lgpl-3.0", + "license_expression_spdx": "GPL-1.0-or-later AND LGPL-3.0-or-later AND GPL-3.0-only AND LGPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", "start_line": 76, "end_line": 76, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_bare_gnu_gpl.RULE", "rule_relevance": 100, + "rule_identifier": "gpl_bare_gnu_gpl.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_gnu_gpl.RULE", - "matched_text": "GNU GPL" + "matched_text": " requirements of the GNU GPL where they are relevant.", + "matched_text_diagnostics": "GNU GPL" }, { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", "start_line": 79, "end_line": 79, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_33.RULE", - "matched_text": "the GNU General Public License" + "matched_text": " the GNU General Public License and the GNU Lesser General Public", + "matched_text_diagnostics": "the GNU General Public License" }, { - "score": 47.22, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "samba/README.contributing", "start_line": 79, "end_line": 81, + "matcher": "3-seq", + "score": 47.22, "matched_length": 17, "match_coverage": 47.22, - "matcher": "3-seq", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_103.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_103.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_103.RULE", - "matched_text": "the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of" + "matched_text": " the GNU General Public License and the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of these Licenses, or (at the option of the project) any later", + "matched_text_diagnostics": "the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of" }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "samba/README.contributing", "start_line": 84, "end_line": 84, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_12.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_12.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_12.RULE", - "matched_text": "http://www.gnu.org/licenses/gpl-3.0.html" + "matched_text": " http://www.gnu.org/licenses/gpl-3.0.html", + "matched_text_diagnostics": "http://www.gnu.org/licenses/gpl-3.0.html" }, { - "score": 100.0, + "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", + "from_file": "samba/README.contributing", "start_line": 85, "end_line": 85, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0", - "rule_identifier": "lgpl-3.0_1.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_1.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl-3.0.html" + "matched_text": " http://www.gnu.org/licenses/lgpl-3.0.html", + "matched_text_diagnostics": "http://www.gnu.org/licenses/lgpl-3.0.html" } ], "detection_log": [], @@ -1098,45 +1741,55 @@ }, { "license_expression": "cc-by-sa-3.0 AND cc-by-sa-4.0 AND dco-1.1", + "license_expression_spdx": "CC-BY-SA-3.0 AND CC-BY-SA-4.0 AND LicenseRef-scancode-dco-1.1", "matches": [ { - "score": 75.0, + "license_expression": "cc-by-sa-3.0", + "spdx_license_expression": "CC-BY-SA-3.0", + "from_file": "samba/README.contributing", "start_line": 121, "end_line": 122, + "matcher": "3-seq", + "score": 75.0, "matched_length": 12, "match_coverage": 75.0, - "matcher": "3-seq", - "license_expression": "cc-by-sa-3.0", - "rule_identifier": "cc-by-sa-3.0_10.RULE", "rule_relevance": 100, + "rule_identifier": "cc-by-sa-3.0_10.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-3.0_10.RULE", - "matched_text": "licensed under Creative Commons Attribution-ShareAlike [4].[0] License [as] [found]\n[at] [https]://creativecommons.org/licenses/by-sa/" + "matched_text": "licensed under Creative Commons Attribution-ShareAlike 4.0 License as found\nat https://creativecommons.org/licenses/by-sa/4.0/legalcode and based on", + "matched_text_diagnostics": "licensed under Creative Commons Attribution-ShareAlike [4].[0] License [as] [found]\n[at] [https]://creativecommons.org/licenses/by-sa/" }, { - "score": 100.0, + "license_expression": "cc-by-sa-4.0", + "spdx_license_expression": "CC-BY-SA-4.0", + "from_file": "samba/README.contributing", "start_line": 122, "end_line": 122, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cc-by-sa-4.0", - "rule_identifier": "cc-by-sa-4.0_71.RULE", "rule_relevance": 100, + "rule_identifier": "cc-by-sa-4.0_71.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-4.0_71.RULE", - "matched_text": "https://creativecommons.org/licenses/by-sa/4.0/legalcode" + "matched_text": "at https://creativecommons.org/licenses/by-sa/4.0/legalcode and based on", + "matched_text_diagnostics": "https://creativecommons.org/licenses/by-sa/4.0/legalcode" }, { - "score": 100.0, + "license_expression": "dco-1.1", + "spdx_license_expression": "LicenseRef-scancode-dco-1.1", + "from_file": "samba/README.contributing", "start_line": 123, "end_line": 123, + "matcher": "2-aho", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "dco-1.1", - "rule_identifier": "dco-1.1_2.RULE", "rule_relevance": 100, + "rule_identifier": "dco-1.1_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/dco-1.1_2.RULE", - "matched_text": "Developer's Certificate of Origin 1.1\"" + "matched_text": "\"Developer's Certificate of Origin 1.1\" as found at", + "matched_text_diagnostics": "Developer's Certificate of Origin 1.1\"" } ], "detection_log": [], @@ -1144,19 +1797,23 @@ }, { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 81.82, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "samba/README.md", "start_line": 6, "end_line": 6, + "matcher": "3-seq", + "score": 81.82, "matched_length": 9, "match_coverage": 81.82, - "matcher": "3-seq", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_1142.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_1142.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1142.RULE", - "matched_text": "Free Software licensed under the GNU General Public License" + "matched_text": "Samba is Free Software licensed under the GNU General Public License and", + "matched_text_diagnostics": "Free Software licensed under the GNU General Public License" } ], "detection_log": [], @@ -1164,32 +1821,39 @@ }, { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.md", "start_line": 22, "end_line": 24, + "matcher": "2-aho", + "score": 100.0, "matched_length": 24, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_579.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_579.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_579.RULE", - "matched_text": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING)." + "matched_text": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING).", + "matched_text_diagnostics": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING)." }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "samba/COPYING", "start_line": 1, "end_line": 674, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [ @@ -1278,188 +1942,231 @@ "license_detections": [ { "license_expression": "gpl-3.0 AND gpl-1.0-plus AND lgpl-3.0-plus AND lgpl-3.0 AND cc-by-sa-3.0 AND cc-by-sa-4.0 AND dco-1.1 AND gpl-2.0", + "license_expression_spdx": "GPL-3.0-only AND GPL-1.0-or-later AND LGPL-3.0-or-later AND LGPL-3.0-only AND CC-BY-SA-3.0 AND CC-BY-SA-4.0 AND LicenseRef-scancode-dco-1.1 AND GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "samba/source3/locale/net/de.po", "start_line": 4, "end_line": 4, + "matcher": "2-aho", + "score": 100.0, "matched_length": 10, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown-package_4.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown-package_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown-package_4.RULE", - "matched_text": "This file is distributed under the same license as the" + "matched_text": "# This file is distributed under the same license as the samba package.", + "matched_text_diagnostics": "This file is distributed under the same license as the" }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "samba/COPYING", "start_line": 1, "end_line": 674, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." }, { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", "start_line": 63, "end_line": 63, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_33.RULE", - "matched_text": "the GNU General Public License," + "matched_text": " by me, under the GNU General Public License, in the", + "matched_text_diagnostics": "the GNU General Public License," }, { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", "start_line": 76, "end_line": 76, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_bare_gnu_gpl.RULE", "rule_relevance": 100, + "rule_identifier": "gpl_bare_gnu_gpl.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_gnu_gpl.RULE", - "matched_text": "GNU GPL" + "matched_text": " requirements of the GNU GPL where they are relevant.", + "matched_text_diagnostics": "GNU GPL" }, { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.contributing", "start_line": 79, "end_line": 79, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_33.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_33.RULE", - "matched_text": "the GNU General Public License" + "matched_text": " the GNU General Public License and the GNU Lesser General Public", + "matched_text_diagnostics": "the GNU General Public License" }, { - "score": 47.22, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "samba/README.contributing", "start_line": 79, "end_line": 81, + "matcher": "3-seq", + "score": 47.22, "matched_length": 17, "match_coverage": 47.22, - "matcher": "3-seq", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_103.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_103.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_103.RULE", - "matched_text": "the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of" + "matched_text": " the GNU General Public License and the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of these Licenses, or (at the option of the project) any later", + "matched_text_diagnostics": "the GNU Lesser General Public\n License as published by the Free Software Foundation; either version\n 3 of" }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "samba/README.contributing", "start_line": 84, "end_line": 84, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_12.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_12.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_12.RULE", - "matched_text": "http://www.gnu.org/licenses/gpl-3.0.html" + "matched_text": " http://www.gnu.org/licenses/gpl-3.0.html", + "matched_text_diagnostics": "http://www.gnu.org/licenses/gpl-3.0.html" }, { - "score": 100.0, + "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", + "from_file": "samba/README.contributing", "start_line": 85, "end_line": 85, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0", - "rule_identifier": "lgpl-3.0_1.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_1.RULE", - "matched_text": "http://www.gnu.org/licenses/lgpl-3.0.html" + "matched_text": " http://www.gnu.org/licenses/lgpl-3.0.html", + "matched_text_diagnostics": "http://www.gnu.org/licenses/lgpl-3.0.html" }, { - "score": 75.0, + "license_expression": "cc-by-sa-3.0", + "spdx_license_expression": "CC-BY-SA-3.0", + "from_file": "samba/README.contributing", "start_line": 121, "end_line": 122, + "matcher": "3-seq", + "score": 75.0, "matched_length": 12, "match_coverage": 75.0, - "matcher": "3-seq", - "license_expression": "cc-by-sa-3.0", - "rule_identifier": "cc-by-sa-3.0_10.RULE", "rule_relevance": 100, + "rule_identifier": "cc-by-sa-3.0_10.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-3.0_10.RULE", - "matched_text": "licensed under Creative Commons Attribution-ShareAlike [4].[0] License [as] [found]\n[at] [https]://creativecommons.org/licenses/by-sa/" + "matched_text": "licensed under Creative Commons Attribution-ShareAlike 4.0 License as found\nat https://creativecommons.org/licenses/by-sa/4.0/legalcode and based on", + "matched_text_diagnostics": "licensed under Creative Commons Attribution-ShareAlike [4].[0] License [as] [found]\n[at] [https]://creativecommons.org/licenses/by-sa/" }, { - "score": 100.0, + "license_expression": "cc-by-sa-4.0", + "spdx_license_expression": "CC-BY-SA-4.0", + "from_file": "samba/README.contributing", "start_line": 122, "end_line": 122, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cc-by-sa-4.0", - "rule_identifier": "cc-by-sa-4.0_71.RULE", "rule_relevance": 100, + "rule_identifier": "cc-by-sa-4.0_71.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-sa-4.0_71.RULE", - "matched_text": "https://creativecommons.org/licenses/by-sa/4.0/legalcode" + "matched_text": "at https://creativecommons.org/licenses/by-sa/4.0/legalcode and based on", + "matched_text_diagnostics": "https://creativecommons.org/licenses/by-sa/4.0/legalcode" }, { - "score": 100.0, + "license_expression": "dco-1.1", + "spdx_license_expression": "LicenseRef-scancode-dco-1.1", + "from_file": "samba/README.contributing", "start_line": 123, "end_line": 123, + "matcher": "2-aho", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "dco-1.1", - "rule_identifier": "dco-1.1_2.RULE", "rule_relevance": 100, + "rule_identifier": "dco-1.1_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/dco-1.1_2.RULE", - "matched_text": "Developer's Certificate of Origin 1.1\"" + "matched_text": "\"Developer's Certificate of Origin 1.1\" as found at", + "matched_text_diagnostics": "Developer's Certificate of Origin 1.1\"" }, { - "score": 81.82, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "samba/README.md", "start_line": 6, "end_line": 6, + "matcher": "3-seq", + "score": 81.82, "matched_length": 9, "match_coverage": 81.82, - "matcher": "3-seq", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_1142.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_1142.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1142.RULE", - "matched_text": "Free Software licensed under the GNU General Public License" + "matched_text": "Samba is Free Software licensed under the GNU General Public License and", + "matched_text_diagnostics": "Free Software licensed under the GNU General Public License" }, { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "samba/README.md", "start_line": 22, "end_line": 24, + "matcher": "2-aho", + "score": 100.0, "matched_length": 24, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl-1.0-plus_579.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-1.0-plus_579.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_579.RULE", - "matched_text": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING)." + "matched_text": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING).", + "matched_text_diagnostics": "This software is freely distributable under the GNU public license, a\ncopy of which you should have received with this software (in a file\ncalled COPYING)." }, { - "score": 100.0, + "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", + "from_file": "samba/COPYING", "start_line": 1, "end_line": 674, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5514, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0", - "rule_identifier": "gpl-3.0_204.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0_204.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_204.RULE", - "matched_text": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." + "matched_text": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n.", + "matched_text_diagnostics": "GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. \n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n Preamble\n\n The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users. We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors. You can apply it to\nyour programs, too.\n\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights. Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received. You must make sure that they, too, receive\nor can get the source code. And you must show them these terms so they\nknow their rights.\n\n Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software. For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so. This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software. The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts. If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary. To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n The precise terms and conditions for copying, distribution and\nmodification follow.\n\n TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n The Corresponding Source for a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n 5. Conveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n a) The work must carry prominent notices stating that you modified\n it, and giving a relevant date.\n\n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under section\n 7. This requirement modifies the requirement in section 4 to\n \"keep intact all notices\".\n\n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section 7\n additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n\n d) If the work has interactive user interfaces, each must display\n Appropriate Legal Notices; however, if the Program has interactive\n interfaces that do not display Appropriate Legal Notices, your\n work need not make them do so.\n\n A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n\n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that product\n model, to give anyone who possesses the object code either (1) a\n copy of the Corresponding Source for all the software in the\n product that is covered by this License, on a durable physical\n medium customarily used for software interchange, for a price no\n more than your reasonable cost of physically performing this\n conveying of source, or (2) access to copy the\n Corresponding Source from a network server at no charge.\n\n c) Convey individual copies of the object code with a copy of the\n written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially, and\n only if you received the object code with such an offer, in accord\n with subsection 6b.\n\n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to the\n Corresponding Source in the same way through the same place at no\n further charge. You need not require recipients to copy the\n Corresponding Source along with the object code. If the place to\n copy the object code is a network server, the Corresponding Source\n may be on a different server (operated by you or a third party)\n that supports equivalent copying facilities, provided you maintain\n clear directions next to the object code saying where to find the\n Corresponding Source. Regardless of what server hosts the\n Corresponding Source, you remain obligated to ensure that it is\n available for as long as needed to satisfy these requirements.\n\n e) Convey the object code using peer-to-peer transmission, provided\n you inform other peers where the object code and Corresponding\n Source of the work are being offered to the general public at no\n charge under subsection 6d.\n\n A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n 7. Additional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n a) Disclaiming warranty or limiting liability differently from the\n terms of sections 15 and 16 of this License; or\n\n b) Requiring preservation of specified reasonable legal notices or\n author attributions in that material or in the Appropriate Legal\n Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation of the origin of that material, or\n requiring that modified versions of such material be marked in\n reasonable ways as different from the original version; or\n\n d) Limiting the use for publicity purposes of names of licensors or\n authors of the material; or\n\n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n\n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified versions of\n it) with contractual assumptions of liability to the recipient, for\n any liability that these contractual assumptions directly impose on\n those licensors and authors.\n\n All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n 10. Automatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n 14. Revised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time. Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs\n\n If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n \n Copyright (C) \n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 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\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\nAlso add information on how to contact you by electronic and paper mail.\n\n If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n Copyright (C) \n This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free software, and you are welcome to redistribute it\n under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License. Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n.\n\n The GNU General Public License does not permit incorporating your program\ninto proprietary programs. If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library. If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License. But first, please read\n." } ], "detection_log": [ @@ -1484,19 +2191,23 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "samba/source3/locale/net/genmsg", "start_line": 5, "end_line": 16, + "matcher": "2-aho", + "score": 100.0, "matched_length": 102, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_290.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_290.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_290.RULE", - "matched_text": "This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3 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\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program; if not, see ." + "matched_text": "# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3 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\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program; if not, see .", + "matched_text_diagnostics": "This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3 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\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program; if not, see ." } ], "detection_log": [], diff --git a/tests/packagedcode/data/m2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom.package.json b/tests/packagedcode/data/m2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom.package.json index ffa86b0009..07b66c6f18 100644 --- a/tests/packagedcode/data/m2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { "score": 70.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", diff --git a/tests/packagedcode/data/m2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.pom.package.json b/tests/packagedcode/data/m2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.pom.package.json index a09b834be4..63c7318591 100644 --- a/tests/packagedcode/data/m2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "epl-1.0", + "license_expression_spdx": "EPL-1.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", @@ -45,10 +48,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", diff --git a/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.203/bndlib-0.0.203.pom.package.json b/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.203/bndlib-0.0.203.pom.package.json index 195255c10c..fcd6a8b4aa 100644 --- a/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.203/bndlib-0.0.203.pom.package.json +++ b/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.203/bndlib-0.0.203.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 12, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_239.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_239.RULE", @@ -53,10 +56,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_25.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_25.RULE", diff --git a/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.238/bndlib-0.0.238.pom.package.json b/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.238/bndlib-0.0.238.pom.package.json index 1c4fe8aa13..40c3d17885 100644 --- a/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.238/bndlib-0.0.238.pom.package.json +++ b/tests/packagedcode/data/m2/biz/aQute/bndlib/0.0.238/bndlib-0.0.238.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 12, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_239.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_239.RULE", @@ -53,10 +56,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_25.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_25.RULE", diff --git a/tests/packagedcode/data/m2/bytebuddy/pom.xml.package.json b/tests/packagedcode/data/m2/bytebuddy/pom.xml.package.json index 80f1522b32..d09c22f7fd 100644 --- a/tests/packagedcode/data/m2/bytebuddy/pom.xml.package.json +++ b/tests/packagedcode/data/m2/bytebuddy/pom.xml.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 3, + "from_file": null, "matched_length": 23, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_1277.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1277.RULE", diff --git a/tests/packagedcode/data/m2/c3p0/c3p0/0.9.0.4/c3p0-0.9.0.4.pom.package.json b/tests/packagedcode/data/m2/c3p0/c3p0/0.9.0.4/c3p0-0.9.0.4.pom.package.json index b5d2008511..dac5ff25c6 100644 --- a/tests/packagedcode/data/m2/c3p0/c3p0/0.9.0.4/c3p0-0.9.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/c3p0/c3p0/0.9.0.4/c3p0-0.9.0.4.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 14, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", "rule_identifier": "lgpl-2.1-plus_482.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_482.RULE", diff --git a/tests/packagedcode/data/m2/codec/commons-codec/1.3/commons-codec-1.3.pom.package.json b/tests/packagedcode/data/m2/codec/commons-codec/1.3/commons-codec-1.3.pom.package.json index 4711ca244c..e839bf4dd3 100644 --- a/tests/packagedcode/data/m2/codec/commons-codec/1.3/commons-codec-1.3.pom.package.json +++ b/tests/packagedcode/data/m2/codec/commons-codec/1.3/commons-codec-1.3.pom.package.json @@ -154,17 +154,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": null, "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1321.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1321.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1321.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt" } diff --git a/tests/packagedcode/data/m2/collections/commons-collections/3.2/commons-collections-3.2.pom.package.json b/tests/packagedcode/data/m2/collections/commons-collections/3.2/commons-collections-3.2.pom.package.json index 6f275f072b..8a1fe878e6 100644 --- a/tests/packagedcode/data/m2/collections/commons-collections/3.2/commons-collections-3.2.pom.package.json +++ b/tests/packagedcode/data/m2/collections/commons-collections/3.2/commons-collections-3.2.pom.package.json @@ -693,17 +693,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": null, "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1321.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1321.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1321.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt" } diff --git a/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.23/jsch-0.1.23.pom.package.json b/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.23/jsch-0.1.23.pom.package.json index 379a8e220a..f441a5683e 100644 --- a/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.23/jsch-0.1.23.pom.package.json +++ b/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.23/jsch-0.1.23.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 7, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_jcraft_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_jcraft_4.RULE", @@ -53,10 +56,12 @@ "score": 100.0, "start_line": 3, "end_line": 3, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_jcraft_3.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_jcraft_3.RULE", diff --git a/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.27/jsch-0.1.27.pom.package.json b/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.27/jsch-0.1.27.pom.package.json index 29c845ba07..aa6d3d20b6 100644 --- a/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.27/jsch-0.1.27.pom.package.json +++ b/tests/packagedcode/data/m2/com/jcraft/jsch/0.1.27/jsch-0.1.27.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 7, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_jcraft_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_jcraft_4.RULE", diff --git a/tests/packagedcode/data/m2/com/thoughtworks/xstream/xstream-parent/1.2.2/xstream-parent-1.2.2.pom.package.json b/tests/packagedcode/data/m2/com/thoughtworks/xstream/xstream-parent/1.2.2/xstream-parent-1.2.2.pom.package.json index 4159c3008f..aba0fcfe60 100644 --- a/tests/packagedcode/data/m2/com/thoughtworks/xstream/xstream-parent/1.2.2/xstream-parent-1.2.2.pom.package.json +++ b/tests/packagedcode/data/m2/com/thoughtworks/xstream/xstream-parent/1.2.2/xstream-parent-1.2.2.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 90.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_878.RULE", "rule_relevance": 90, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_878.RULE", @@ -53,10 +56,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_xstream_maven_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_xstream_maven_4.RULE", diff --git a/tests/packagedcode/data/m2/depman/foo.pom.package.json b/tests/packagedcode/data/m2/depman/foo.pom.package.json index ad563dc4c3..c1eaf3253c 100644 --- a/tests/packagedcode/data/m2/depman/foo.pom.package.json +++ b/tests/packagedcode/data/m2/depman/foo.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", @@ -53,10 +56,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 9, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_42.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", diff --git a/tests/packagedcode/data/m2/digester/commons-digester/1.8/commons-digester-1.8.pom.package.json b/tests/packagedcode/data/m2/digester/commons-digester/1.8/commons-digester-1.8.pom.package.json index 17578a0bdd..97bdb1816e 100644 --- a/tests/packagedcode/data/m2/digester/commons-digester/1.8/commons-digester-1.8.pom.package.json +++ b/tests/packagedcode/data/m2/digester/commons-digester/1.8/commons-digester-1.8.pom.package.json @@ -189,17 +189,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": null, "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1321.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1321.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1321.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt" } diff --git a/tests/packagedcode/data/m2/el/commons-el/1.0/commons-el-1.0.pom.package.json b/tests/packagedcode/data/m2/el/commons-el/1.0/commons-el-1.0.pom.package.json index d0f90949a0..11d23dfaae 100644 --- a/tests/packagedcode/data/m2/el/commons-el/1.0/commons-el-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/el/commons-el/1.0/commons-el-1.0.pom.package.json @@ -70,17 +70,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": null, "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1321.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1321.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1321.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt" } diff --git a/tests/packagedcode/data/m2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.pom.package.json b/tests/packagedcode/data/m2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.pom.package.json index fe2dc82680..58df11c798 100644 --- a/tests/packagedcode/data/m2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.pom.package.json +++ b/tests/packagedcode/data/m2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_363.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_363.RULE", @@ -45,10 +48,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_82.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_82.RULE", diff --git a/tests/packagedcode/data/m2/httpunit/httpunit/1.6.2/httpunit-1.6.2.pom.package.json b/tests/packagedcode/data/m2/httpunit/httpunit/1.6.2/httpunit-1.6.2.pom.package.json index ae9ade643a..9d4f99ad1b 100644 --- a/tests/packagedcode/data/m2/httpunit/httpunit/1.6.2/httpunit-1.6.2.pom.package.json +++ b/tests/packagedcode/data/m2/httpunit/httpunit/1.6.2/httpunit-1.6.2.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_1106.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1106.RULE", @@ -45,10 +48,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 7, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_1144.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1144.RULE", diff --git a/tests/packagedcode/data/m2/io/commons-io/1.3.1/commons-io-1.3.1.pom.package.json b/tests/packagedcode/data/m2/io/commons-io/1.3.1/commons-io-1.3.1.pom.package.json index 02080b61a4..20e4db82bd 100644 --- a/tests/packagedcode/data/m2/io/commons-io/1.3.1/commons-io-1.3.1.pom.package.json +++ b/tests/packagedcode/data/m2/io/commons-io/1.3.1/commons-io-1.3.1.pom.package.json @@ -224,17 +224,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": null, "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1321.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1321.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1321.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt" } diff --git a/tests/packagedcode/data/m2/javassist/javassist/3.4.GA/javassist-3.4.GA.pom.package.json b/tests/packagedcode/data/m2/javassist/javassist/3.4.GA/javassist-3.4.GA.pom.package.json index f53c151a49..54aaedc912 100644 --- a/tests/packagedcode/data/m2/javassist/javassist/3.4.GA/javassist-3.4.GA.pom.package.json +++ b/tests/packagedcode/data/m2/javassist/javassist/3.4.GA/javassist-3.4.GA.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { "score": 75.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", "rule_identifier": "lgpl_bare_single_word.RULE", "rule_relevance": 75, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_bare_single_word.RULE", @@ -45,10 +48,12 @@ "score": 75.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", "rule_identifier": "lgpl_bare_single_word.RULE", "rule_relevance": 75, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_bare_single_word.RULE", diff --git a/tests/packagedcode/data/m2/javax/persistence/persistence-api/1.0/persistence-api-1.0.pom.package.json b/tests/packagedcode/data/m2/javax/persistence/persistence-api/1.0/persistence-api-1.0.pom.package.json index 374d1d08bc..36d73c2c1a 100644 --- a/tests/packagedcode/data/m2/javax/persistence/persistence-api/1.0/persistence-api-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/javax/persistence/persistence-api/1.0/persistence-api-1.0.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "cddl-1.0", + "license_expression_spdx": "CDDL-1.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "cddl-1.0", + "spdx_license_expression": "CDDL-1.0", "rule_identifier": "cddl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0.RULE", @@ -45,10 +48,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 7, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "cddl-1.0", + "spdx_license_expression": "CDDL-1.0", "rule_identifier": "cddl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_4.RULE", diff --git a/tests/packagedcode/data/m2/jboss/javassist/3.3.ga/javassist-3.3.ga.pom.package.json b/tests/packagedcode/data/m2/jboss/javassist/3.3.ga/javassist-3.3.ga.pom.package.json index ad40872e6d..8d17f23bd2 100644 --- a/tests/packagedcode/data/m2/jboss/javassist/3.3.ga/javassist-3.3.ga.pom.package.json +++ b/tests/packagedcode/data/m2/jboss/javassist/3.3.ga/javassist-3.3.ga.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "mpl-1.1 AND (mpl-1.1 OR lgpl-2.1-plus)", + "license_expression_spdx": "MPL-1.1 AND (MPL-1.1 OR LGPL-2.1-or-later)", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "mpl-1.1", + "spdx_license_expression": "MPL-1.1", "rule_identifier": "spdx_license_id_mpl-1.1_for_mpl-1.1.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_mpl-1.1_for_mpl-1.1.RULE", @@ -53,10 +56,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 19, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "mpl-1.1 OR lgpl-2.1-plus", + "spdx_license_expression": "MPL-1.1 OR LGPL-2.1-or-later", "rule_identifier": "mpl-1.1_or_lgpl-2.1-plus_6.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-1.1_or_lgpl-2.1-plus_6.RULE", @@ -66,10 +71,12 @@ "score": 100.0, "start_line": 3, "end_line": 3, + "from_file": null, "matched_length": 13, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "mpl-1.1 OR lgpl-2.1-plus", + "spdx_license_expression": "MPL-1.1 OR LGPL-2.1-or-later", "rule_identifier": "mpl-1.1_or_lgpl-2.1-plus_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-1.1_or_lgpl-2.1-plus_5.RULE", diff --git a/tests/packagedcode/data/m2/jboss/jboss-archive-browsing/5.0.0alpha-200607201-119/jboss-archive-browsing-5.0.0alpha-200607201-119.pom.package.json b/tests/packagedcode/data/m2/jboss/jboss-archive-browsing/5.0.0alpha-200607201-119/jboss-archive-browsing-5.0.0alpha-200607201-119.pom.package.json index de9b09d826..412bba316d 100644 --- a/tests/packagedcode/data/m2/jboss/jboss-archive-browsing/5.0.0alpha-200607201-119/jboss-archive-browsing-5.0.0alpha-200607201-119.pom.package.json +++ b/tests/packagedcode/data/m2/jboss/jboss-archive-browsing/5.0.0alpha-200607201-119/jboss-archive-browsing-5.0.0alpha-200607201-119.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 14, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", "rule_identifier": "lgpl-2.1-plus_482.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_482.RULE", diff --git a/tests/packagedcode/data/m2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.pom.package.json b/tests/packagedcode/data/m2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.pom.package.json index 868698c5b5..4d91d8fad6 100644 --- a/tests/packagedcode/data/m2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.pom.package.json +++ b/tests/packagedcode/data/m2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "tidy", + "license_expression_spdx": "HTMLTIDY", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "tidy", + "spdx_license_expression": "HTMLTIDY", "rule_identifier": "tidy_2.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/tidy_2.RULE", diff --git a/tests/packagedcode/data/m2/junit/junit/3.8.1/junit-3.8.1.pom.package.json b/tests/packagedcode/data/m2/junit/junit/3.8.1/junit-3.8.1.pom.package.json index 7de351b898..0983306d4a 100644 --- a/tests/packagedcode/data/m2/junit/junit/3.8.1/junit-3.8.1.pom.package.json +++ b/tests/packagedcode/data/m2/junit/junit/3.8.1/junit-3.8.1.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "cpl-1.0", + "license_expression_spdx": "CPL-1.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "cpl-1.0", + "spdx_license_expression": "CPL-1.0", "rule_identifier": "cpl-1.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cpl-1.0_5.RULE", @@ -53,10 +56,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "cpl-1.0", + "spdx_license_expression": "CPL-1.0", "rule_identifier": "cpl-1.0_10.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cpl-1.0_10.RULE", diff --git a/tests/packagedcode/data/m2/junit/junit/3.8.2/junit-3.8.2.pom.package.json b/tests/packagedcode/data/m2/junit/junit/3.8.2/junit-3.8.2.pom.package.json index fdf1a7405f..4a2ba0b362 100644 --- a/tests/packagedcode/data/m2/junit/junit/3.8.2/junit-3.8.2.pom.package.json +++ b/tests/packagedcode/data/m2/junit/junit/3.8.2/junit-3.8.2.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "cpl-1.0", + "license_expression_spdx": "CPL-1.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "cpl-1.0", + "spdx_license_expression": "CPL-1.0", "rule_identifier": "cpl-1.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cpl-1.0_5.RULE", @@ -53,10 +56,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "cpl-1.0", + "spdx_license_expression": "CPL-1.0", "rule_identifier": "cpl-1.0_10.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cpl-1.0_10.RULE", diff --git a/tests/packagedcode/data/m2/junit/junit/4.4/junit-4.4.pom.package.json b/tests/packagedcode/data/m2/junit/junit/4.4/junit-4.4.pom.package.json index 16b213ba5d..b6fe7dc373 100644 --- a/tests/packagedcode/data/m2/junit/junit/4.4/junit-4.4.pom.package.json +++ b/tests/packagedcode/data/m2/junit/junit/4.4/junit-4.4.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "cpl-1.0", + "license_expression_spdx": "CPL-1.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "cpl-1.0", + "spdx_license_expression": "CPL-1.0", "rule_identifier": "cpl-1.0_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cpl-1.0_5.RULE", @@ -53,10 +56,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "cpl-1.0", + "spdx_license_expression": "CPL-1.0", "rule_identifier": "cpl-1.0_10.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cpl-1.0_10.RULE", diff --git a/tests/packagedcode/data/m2/lang/commons-lang/2.1/commons-lang-2.1.pom.package.json b/tests/packagedcode/data/m2/lang/commons-lang/2.1/commons-lang-2.1.pom.package.json index 6ed0acb301..976986722c 100644 --- a/tests/packagedcode/data/m2/lang/commons-lang/2.1/commons-lang-2.1.pom.package.json +++ b/tests/packagedcode/data/m2/lang/commons-lang/2.1/commons-lang-2.1.pom.package.json @@ -532,17 +532,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": null, "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1321.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1321.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1321.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt" } diff --git a/tests/packagedcode/data/m2/lang/commons-lang/2.3/commons-lang-2.3.pom.package.json b/tests/packagedcode/data/m2/lang/commons-lang/2.3/commons-lang-2.3.pom.package.json index 2eede66863..ddff1acc66 100644 --- a/tests/packagedcode/data/m2/lang/commons-lang/2.3/commons-lang-2.3.pom.package.json +++ b/tests/packagedcode/data/m2/lang/commons-lang/2.3/commons-lang-2.3.pom.package.json @@ -609,17 +609,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": null, "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1321.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1321.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1321.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt" } diff --git a/tests/packagedcode/data/m2/log4j/log4j/1.2.15/log4j-1.2.15.pom.package.json b/tests/packagedcode/data/m2/log4j/log4j/1.2.15/log4j-1.2.15.pom.package.json index 41c2a25283..ecb37fd682 100644 --- a/tests/packagedcode/data/m2/log4j/log4j/1.2.15/log4j-1.2.15.pom.package.json +++ b/tests/packagedcode/data/m2/log4j/log4j/1.2.15/log4j-1.2.15.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.package.json b/tests/packagedcode/data/m2/logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.package.json index 2c32d2c3b3..ab70659ebc 100644 --- a/tests/packagedcode/data/m2/logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.package.json @@ -98,17 +98,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": null, "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1321.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1321.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1321.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt" } diff --git a/tests/packagedcode/data/m2/logging/commons-logging/1.1/commons-logging-1.1.pom.package.json b/tests/packagedcode/data/m2/logging/commons-logging/1.1/commons-logging-1.1.pom.package.json index c25fd2e9e0..c9b4dd1792 100644 --- a/tests/packagedcode/data/m2/logging/commons-logging/1.1/commons-logging-1.1.pom.package.json +++ b/tests/packagedcode/data/m2/logging/commons-logging/1.1/commons-logging-1.1.pom.package.json @@ -119,17 +119,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": null, "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1321.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1321.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1321.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt" } diff --git a/tests/packagedcode/data/m2/mysql/mysql-connector-java/5.0.4/mysql-connector-java-5.0.4.pom.package.json b/tests/packagedcode/data/m2/mysql/mysql-connector-java/5.0.4/mysql-connector-java-5.0.4.pom.package.json index d73fd48694..46eae36784 100644 --- a/tests/packagedcode/data/m2/mysql/mysql-connector-java/5.0.4/mysql-connector-java-5.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/mysql/mysql-connector-java/5.0.4/mysql-connector-java-5.0.4.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "gpl-2.0 WITH mysql-linking-exception-2018", + "license_expression_spdx": "GPL-2.0-only WITH LicenseRef-scancode-mysql-linking-exception-2018", "matches": [ { "score": 90.2, "start_line": 1, "end_line": 5, + "from_file": null, "matched_length": 46, "match_coverage": 90.2, "matcher": "3-seq", "license_expression": "gpl-2.0 WITH mysql-linking-exception-2018", + "spdx_license_expression": "GPL-2.0-only WITH LicenseRef-scancode-mysql-linking-exception-2018", "rule_identifier": "gpl-2.0_with_mysql-linking-exception-2018_3.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_with_mysql-linking-exception-2018_3.RULE", @@ -46,15 +49,18 @@ }, { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { "score": 96.3, "start_line": 1, "end_line": 5, + "from_file": null, "matched_length": 52, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", "rule_identifier": "package-manifest-unknown-91b1be345430234b155decbb3e945d9349c09ea1", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-91b1be345430234b155decbb3e945d9349c09ea1", diff --git a/tests/packagedcode/data/m2/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.pom.package.json b/tests/packagedcode/data/m2/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.pom.package.json index ce409e5368..75ec7871b5 100644 --- a/tests/packagedcode/data/m2/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.pom.package.json +++ b/tests/packagedcode/data/m2/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.pom.package.json @@ -77,17 +77,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": null, "start_line": 1, "end_line": 4, + "matcher": "2-aho", + "score": 100.0, "matched_length": 26, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1326.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1326.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1326.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://ehcache.sourceforge.net/LICENSE.txt\n comments: |\n The license is the standard wording from the Apache license, but with" } diff --git a/tests/packagedcode/data/m2/net/sf/kxml/kxml2/2.2.2/kxml2-2.2.2.pom.package.json b/tests/packagedcode/data/m2/net/sf/kxml/kxml2/2.2.2/kxml2-2.2.2.pom.package.json index 33cb172002..5a6b013ca1 100644 --- a/tests/packagedcode/data/m2/net/sf/kxml/kxml2/2.2.2/kxml2-2.2.2.pom.package.json +++ b/tests/packagedcode/data/m2/net/sf/kxml/kxml2/2.2.2/kxml2-2.2.2.pom.package.json @@ -42,15 +42,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_145.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_145.RULE", @@ -60,10 +63,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_335.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_335.RULE", diff --git a/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.5/acegi-security-parent-1.0.5.pom.package.json b/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.5/acegi-security-parent-1.0.5.pom.package.json index 8837748f90..8c1e86aa46 100644 --- a/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.5/acegi-security-parent-1.0.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.5/acegi-security-parent-1.0.5.pom.package.json @@ -231,15 +231,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.7/acegi-security-parent-1.0.7.pom.package.json b/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.7/acegi-security-parent-1.0.7.pom.package.json index 61d624df78..f273b3a924 100644 --- a/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.7/acegi-security-parent-1.0.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/acegisecurity/acegi-security-parent/1.0.7/acegi-security-parent-1.0.7.pom.package.json @@ -231,15 +231,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/ajax4jsf/master/1.1.1/master-1.1.1.pom.package.json b/tests/packagedcode/data/m2/org/ajax4jsf/master/1.1.1/master-1.1.1.pom.package.json index 2711a251c9..13c08b37a6 100644 --- a/tests/packagedcode/data/m2/org/ajax4jsf/master/1.1.1/master-1.1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/ajax4jsf/master/1.1.1/master-1.1.1.pom.package.json @@ -49,15 +49,18 @@ "license_detections": [ { "license_expression": "lgpl-2.1 AND lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.1-only AND LGPL-2.0-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "lgpl-2.1", + "spdx_license_expression": "LGPL-2.1-only", "rule_identifier": "lgpl-2.1_85.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_85.RULE", @@ -67,10 +70,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 7, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", "rule_identifier": "lgpl_3.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_3.RULE", @@ -80,10 +85,12 @@ "score": 100.0, "start_line": 3, "end_line": 3, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "lgpl-2.1", + "spdx_license_expression": "LGPL-2.1-only", "rule_identifier": "lgpl-2.1_36.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_36.RULE", diff --git a/tests/packagedcode/data/m2/org/apache/apache/1/apache-1.pom.package.json b/tests/packagedcode/data/m2/org/apache/apache/1/apache-1.pom.package.json index 9f58b03180..84549df372 100644 --- a/tests/packagedcode/data/m2/org/apache/apache/1/apache-1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/apache/1/apache-1.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/apache/apache/3/apache-3.pom.package.json b/tests/packagedcode/data/m2/org/apache/apache/3/apache-3.pom.package.json index 61d3391043..249c570ee0 100644 --- a/tests/packagedcode/data/m2/org/apache/apache/3/apache-3.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/apache/3/apache-3.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/apache/apache/4/apache-4.pom.package.json b/tests/packagedcode/data/m2/org/apache/apache/4/apache-4.pom.package.json index d74ad2c3f2..854b1fc9e5 100644 --- a/tests/packagedcode/data/m2/org/apache/apache/4/apache-4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/apache/4/apache-4.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/apache/commons/commons-jaxrs/1.22/commons-jaxrs-1.22.pom.package.json b/tests/packagedcode/data/m2/org/apache/commons/commons-jaxrs/1.22/commons-jaxrs-1.22.pom.package.json index c742d5381d..9cdf831730 100644 --- a/tests/packagedcode/data/m2/org/apache/commons/commons-jaxrs/1.22/commons-jaxrs-1.22.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/commons/commons-jaxrs/1.22/commons-jaxrs-1.22.pom.package.json @@ -70,15 +70,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_182.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_182.RULE", @@ -88,10 +91,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 9, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_42.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", diff --git a/tests/packagedcode/data/m2/org/apache/geronimo/genesis/config/project-config/1.1/project-config-1.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/geronimo/genesis/config/project-config/1.1/project-config-1.1.pom.package.json index 775362ade8..a284860b4e 100644 --- a/tests/packagedcode/data/m2/org/apache/geronimo/genesis/config/project-config/1.1/project-config-1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/geronimo/genesis/config/project-config/1.1/project-config-1.1.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.1/maven-2.0.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.1/maven-2.0.1.pom.package.json index 0d059c5a24..c71c5f34f5 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.1/maven-2.0.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.1/maven-2.0.1.pom.package.json @@ -91,15 +91,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.2/maven-2.0.2.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.2/maven-2.0.2.pom.package.json index 129ee13b63..29e840cc59 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.2/maven-2.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.2/maven-2.0.2.pom.package.json @@ -91,15 +91,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.4/maven-2.0.4.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.4/maven-2.0.4.pom.package.json index 9a6a14fab0..8b3a2d0bf7 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.4/maven-2.0.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0.4/maven-2.0.4.pom.package.json @@ -91,15 +91,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0/maven-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0/maven-2.0.pom.package.json index 0a3c57c17b..7d6861f36d 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/maven/2.0/maven-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/maven/2.0/maven-2.0.pom.package.json @@ -91,15 +91,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-dependency-plugin/2.0/maven-dependency-plugin-2.0.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-dependency-plugin/2.0/maven-dependency-plugin-2.0.pom.package.json index 2ac4773c04..e1bfa08c79 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-dependency-plugin/2.0/maven-dependency-plugin-2.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/plugins/maven-dependency-plugin/2.0/maven-dependency-plugin-2.0.pom.package.json @@ -49,15 +49,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_1039.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1039.RULE", @@ -67,10 +70,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 9, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_42.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-file/1.0-alpha-5/wagon-file-1.0-alpha-5.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-file/1.0-alpha-5/wagon-file-1.0-alpha-5.pom.package.json index a6b6cb1808..2aa578c935 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-file/1.0-alpha-5/wagon-file-1.0-alpha-5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-file/1.0-alpha-5/wagon-file-1.0-alpha-5.pom.package.json @@ -56,15 +56,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-lightweight/1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-lightweight/1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.pom.package.json index 21376774a8..bc88778768 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-lightweight/1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-http-lightweight/1.0-alpha-5/wagon-http-lightweight-1.0-alpha-5.pom.package.json @@ -56,15 +56,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom.package.json index 7e899b208f..04cee50772 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.pom.package.json @@ -56,15 +56,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh/1.0-alpha-5/wagon-ssh-1.0-alpha-5.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh/1.0-alpha-5/wagon-ssh-1.0-alpha-5.pom.package.json index 5a3877e03c..c5b8e34a5e 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh/1.0-alpha-5/wagon-ssh-1.0-alpha-5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon-ssh/1.0-alpha-5/wagon-ssh-1.0-alpha-5.pom.package.json @@ -56,15 +56,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.package.json b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.package.json index 5c7b54904e..2ff2338478 100644 --- a/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.package.json @@ -56,15 +56,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/apache/mina/build/1.1.1/build-1.1.1.pom.package.json b/tests/packagedcode/data/m2/org/apache/mina/build/1.1.1/build-1.1.1.pom.package.json index 615e0de99b..944329b260 100644 --- a/tests/packagedcode/data/m2/org/apache/mina/build/1.1.1/build-1.1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/mina/build/1.1.1/build-1.1.1.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_176.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_176.RULE", @@ -53,10 +56,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_25.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_25.RULE", diff --git a/tests/packagedcode/data/m2/org/apache/myfaces/maven/myfaces-master/1.0.5/myfaces-master-1.0.5.pom.package.json b/tests/packagedcode/data/m2/org/apache/myfaces/maven/myfaces-master/1.0.5/myfaces-master-1.0.5.pom.package.json index c28da4b449..e5a5de8d1d 100644 --- a/tests/packagedcode/data/m2/org/apache/myfaces/maven/myfaces-master/1.0.5/myfaces-master-1.0.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/myfaces/maven/myfaces-master/1.0.5/myfaces-master-1.0.5.pom.package.json @@ -294,15 +294,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/apache/velocity/velocity/1.5/velocity-1.5.pom.package.json b/tests/packagedcode/data/m2/org/apache/velocity/velocity/1.5/velocity-1.5.pom.package.json index 516ca449dc..97e648acaa 100644 --- a/tests/packagedcode/data/m2/org/apache/velocity/velocity/1.5/velocity-1.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/apache/velocity/velocity/1.5/velocity-1.5.pom.package.json @@ -70,15 +70,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom.package.json b/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom.package.json index 7af33c626c..bfd6d8f3ea 100644 --- a/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.5.4/aspectjrt-1.5.4.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "epl-1.0", + "license_expression_spdx": "EPL-1.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", @@ -45,10 +48,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", diff --git a/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.6.0/aspectjrt-1.6.0.pom.package.json b/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.6.0/aspectjrt-1.6.0.pom.package.json index 1db27bb67a..f8381e4097 100644 --- a/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.6.0/aspectjrt-1.6.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/aspectj/aspectjrt/1.6.0/aspectjrt-1.6.0.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "epl-1.0", + "license_expression_spdx": "EPL-1.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", @@ -45,10 +48,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", diff --git a/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom.package.json b/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom.package.json index 8ddd354e6c..aff1c06a3b 100644 --- a/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.5.4/aspectjtools-1.5.4.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "epl-1.0", + "license_expression_spdx": "EPL-1.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", @@ -45,10 +48,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", diff --git a/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.6.0/aspectjtools-1.6.0.pom.package.json b/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.6.0/aspectjtools-1.6.0.pom.package.json index 40fa85cd81..9b0746fe38 100644 --- a/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.6.0/aspectjtools-1.6.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/aspectj/aspectjtools/1.6.0/aspectjtools-1.6.0.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "epl-1.0", + "license_expression_spdx": "EPL-1.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", @@ -45,10 +48,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", diff --git a/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom.package.json b/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom.package.json index 591b02040d..5d3b935875 100644 --- a/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.5.4/aspectjweaver-1.5.4.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "epl-1.0", + "license_expression_spdx": "EPL-1.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", @@ -45,10 +48,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", diff --git a/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.6.0/aspectjweaver-1.6.0.pom.package.json b/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.6.0/aspectjweaver-1.6.0.pom.package.json index 9892479ce9..6f43c2015f 100644 --- a/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.6.0/aspectjweaver-1.6.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/aspectj/aspectjweaver/1.6.0/aspectjweaver-1.6.0.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "epl-1.0", + "license_expression_spdx": "EPL-1.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", @@ -45,10 +48,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/aspectj-maven-plugin/1.0/aspectj-maven-plugin-1.0.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/aspectj-maven-plugin/1.0/aspectj-maven-plugin-1.0.pom.package.json index b0ebe03a4f..51d06b77e4 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/aspectj-maven-plugin/1.0/aspectj-maven-plugin-1.0.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/aspectj-maven-plugin/1.0/aspectj-maven-plugin-1.0.pom.package.json @@ -42,15 +42,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_27.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_27.RULE", diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-20080813.143116-6.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-20080813.143116-6.pom.package.json index 25808eac08..8a5049bc41 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-20080813.143116-6.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-20080813.143116-6.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_27.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_27.RULE", @@ -53,10 +56,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_237.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_237.RULE", diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-SNAPSHOT.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-SNAPSHOT.pom.package.json index 25808eac08..8a5049bc41 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-SNAPSHOT.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/build-helper-maven-plugin/1.2-SNAPSHOT/build-helper-maven-plugin-1.2-SNAPSHOT.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_27.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_27.RULE", @@ -53,10 +56,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_237.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_237.RULE", diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/cobertura-maven-plugin/2.2/cobertura-maven-plugin-2.2.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/cobertura-maven-plugin/2.2/cobertura-maven-plugin-2.2.pom.package.json index aeb6df7c95..df3784d9c9 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/cobertura-maven-plugin/2.2/cobertura-maven-plugin-2.2.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/cobertura-maven-plugin/2.2/cobertura-maven-plugin-2.2.pom.package.json @@ -49,15 +49,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json index 065f52bfc5..7770130027 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/findbugs-maven-plugin/1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json @@ -56,15 +56,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_1160.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1160.RULE", diff --git a/tests/packagedcode/data/m2/org/codehaus/mojo/maven-buildnumber-plugin/0.9.6/maven-buildnumber-plugin-0.9.6.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/mojo/maven-buildnumber-plugin/0.9.6/maven-buildnumber-plugin-0.9.6.pom.package.json index 7b8a75dc44..35176e6358 100644 --- a/tests/packagedcode/data/m2/org/codehaus/mojo/maven-buildnumber-plugin/0.9.6/maven-buildnumber-plugin-0.9.6.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/mojo/maven-buildnumber-plugin/0.9.6/maven-buildnumber-plugin-0.9.6.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_27.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_27.RULE", @@ -53,10 +56,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_1165.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1165.RULE", diff --git a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.package.json b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.package.json index e5759035f6..bf18bc995c 100644 --- a/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.package.json +++ b/tests/packagedcode/data/m2/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.package.json @@ -161,15 +161,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/easymock/easymock/2.3/easymock-2.3.pom.package.json b/tests/packagedcode/data/m2/org/easymock/easymock/2.3/easymock-2.3.pom.package.json index d45eefafb2..07f442e536 100644 --- a/tests/packagedcode/data/m2/org/easymock/easymock/2.3/easymock-2.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/easymock/easymock/2.3/easymock-2.3.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_1106.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1106.RULE", diff --git a/tests/packagedcode/data/m2/org/easymock/easymockclassextension/2.3/easymockclassextension-2.3.pom.package.json b/tests/packagedcode/data/m2/org/easymock/easymockclassextension/2.3/easymockclassextension-2.3.pom.package.json index 2ce17ac168..eea0c9bd2d 100644 --- a/tests/packagedcode/data/m2/org/easymock/easymockclassextension/2.3/easymockclassextension-2.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/easymock/easymockclassextension/2.3/easymockclassextension-2.3.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_1106.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1106.RULE", diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.pom.package.json index 40e4835c23..53bbbfa6ef 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.2.1.ga/hibernate-annotations-3.2.1.ga.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 14, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", "rule_identifier": "lgpl-2.1-plus_482.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_482.RULE", diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.pom.package.json index 47dde3c86a..6e5b176045 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 14, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", "rule_identifier": "lgpl-2.1-plus_482.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_482.RULE", diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.pom.package.json index ab82f5eaa9..3aefb1321a 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 14, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", "rule_identifier": "lgpl-2.1-plus_482.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_482.RULE", diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.2.1.ga/hibernate-entitymanager-3.2.1.ga.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.2.1.ga/hibernate-entitymanager-3.2.1.ga.pom.package.json index b3a612b5c7..2eb8f518d2 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.2.1.ga/hibernate-entitymanager-3.2.1.ga.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.2.1.ga/hibernate-entitymanager-3.2.1.ga.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 14, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", "rule_identifier": "lgpl-2.1-plus_482.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_482.RULE", diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.3.2.GA/hibernate-entitymanager-3.3.2.GA.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.3.2.GA/hibernate-entitymanager-3.3.2.GA.pom.package.json index 0166c37e1c..c4a1a61877 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.3.2.GA/hibernate-entitymanager-3.3.2.GA.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate-entitymanager/3.3.2.GA/hibernate-entitymanager-3.3.2.GA.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 14, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", "rule_identifier": "lgpl-2.1-plus_482.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_482.RULE", diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.pom.package.json index 80cce37d95..7e0ad50ca3 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.1.ga/hibernate-3.2.1.ga.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 14, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", "rule_identifier": "lgpl-2.1-plus_482.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_482.RULE", diff --git a/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.pom.package.json b/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.pom.package.json index b070f02802..5d59e3e3cf 100644 --- a/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.pom.package.json +++ b/tests/packagedcode/data/m2/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 14, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", "rule_identifier": "lgpl-2.1-plus_482.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_482.RULE", diff --git a/tests/packagedcode/data/m2/org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.package.json b/tests/packagedcode/data/m2/org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.package.json index d19948a26a..b12656afeb 100644 --- a/tests/packagedcode/data/m2/org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.package.json +++ b/tests/packagedcode/data/m2/org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.package.json @@ -112,15 +112,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", @@ -130,10 +133,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_25.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_25.RULE", diff --git a/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1.5/project-6.1.5.pom.package.json b/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1.5/project-6.1.5.pom.package.json index cbc7ab3a8c..3e8fa64387 100644 --- a/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1.5/project-6.1.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/mortbay/jetty/project/6.1.5/project-6.1.5.pom.package.json @@ -91,15 +91,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", @@ -109,10 +112,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_25.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_25.RULE", diff --git a/tests/packagedcode/data/m2/org/mortbay/jetty/servlet-api-2.5/6.1.5/servlet-api-2.5-6.1.5.pom.package.json b/tests/packagedcode/data/m2/org/mortbay/jetty/servlet-api-2.5/6.1.5/servlet-api-2.5-6.1.5.pom.package.json index 4c539ed7ef..1b47412226 100644 --- a/tests/packagedcode/data/m2/org/mortbay/jetty/servlet-api-2.5/6.1.5/servlet-api-2.5-6.1.5.pom.package.json +++ b/tests/packagedcode/data/m2/org/mortbay/jetty/servlet-api-2.5/6.1.5/servlet-api-2.5-6.1.5.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "cddl-1.0", + "license_expression_spdx": "CDDL-1.0", "matches": [ { "score": 95.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "cddl-1.0", + "spdx_license_expression": "CDDL-1.0", "rule_identifier": "spdx_license_id_cddl-1.0_for_cddl-1.0.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_cddl-1.0_for_cddl-1.0.RULE", @@ -45,10 +48,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 9, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "cddl-1.0", + "spdx_license_expression": "CDDL-1.0", "rule_identifier": "cddl-1.0_6.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cddl-1.0_6.RULE", diff --git a/tests/packagedcode/data/m2/org/springframework/spring-aop/2.5.3/spring-aop-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-aop/2.5.3/spring-aop-2.5.3.pom.package.json index 7a41e449ea..433b8f7b71 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-aop/2.5.3/spring-aop-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-aop/2.5.3/spring-aop-2.5.3.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.3/spring-aspects-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.3/spring-aspects-2.5.3.pom.package.json index ffed10daa2..2e3a2558be 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.3/spring-aspects-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.3/spring-aspects-2.5.3.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.4/spring-aspects-2.5.4.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.4/spring-aspects-2.5.4.pom.package.json index 04765fa764..bb10218f8e 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.4/spring-aspects-2.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-aspects/2.5.4/spring-aspects-2.5.4.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/springframework/spring-beans/2.5.3/spring-beans-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-beans/2.5.3/spring-beans-2.5.3.pom.package.json index c555da042b..4fe7331c78 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-beans/2.5.3/spring-beans-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-beans/2.5.3/spring-beans-2.5.3.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/springframework/spring-context-support/2.5.3/spring-context-support-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-context-support/2.5.3/spring-context-support-2.5.3.pom.package.json index cf7d64328a..c18a6d2f1b 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-context-support/2.5.3/spring-context-support-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-context-support/2.5.3/spring-context-support-2.5.3.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/springframework/spring-context/2.5.3/spring-context-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-context/2.5.3/spring-context-2.5.3.pom.package.json index 43f7529708..f63a39aa37 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-context/2.5.3/spring-context-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-context/2.5.3/spring-context-2.5.3.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/springframework/spring-core/2.5.3/spring-core-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-core/2.5.3/spring-core-2.5.3.pom.package.json index efd25869c9..0123c27e45 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-core/2.5.3/spring-core-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-core/2.5.3/spring-core-2.5.3.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/springframework/spring-jdbc/2.5.3/spring-jdbc-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-jdbc/2.5.3/spring-jdbc-2.5.3.pom.package.json index 825a7edf20..d571c0eeff 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-jdbc/2.5.3/spring-jdbc-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-jdbc/2.5.3/spring-jdbc-2.5.3.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom.package.json index 31a75d5935..f8bee51384 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-orm/2.5.3/spring-orm-2.5.3.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.3/spring-test-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.3/spring-test-2.5.3.pom.package.json index f548636644..6229123571 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.3/spring-test-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.3/spring-test-2.5.3.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.4/spring-test-2.5.4.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.4/spring-test-2.5.4.pom.package.json index 3792191210..b75c7646be 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.4/spring-test-2.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-test/2.5.4/spring-test-2.5.4.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/springframework/spring-tx/2.5.3/spring-tx-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-tx/2.5.3/spring-tx-2.5.3.pom.package.json index 52b2faf696..56d040f7d8 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-tx/2.5.3/spring-tx-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-tx/2.5.3/spring-tx-2.5.3.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/springframework/spring-web/2.5.3/spring-web-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-web/2.5.3/spring-web-2.5.3.pom.package.json index de036dd60d..0f071df313 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-web/2.5.3/spring-web-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-web/2.5.3/spring-web-2.5.3.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom.package.json index 2eb634eb88..0f158196af 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.3/spring-webmvc-2.5.3.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.4/spring-webmvc-2.5.4.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.4/spring-webmvc-2.5.4.pom.package.json index c3ad7db295..22ff1ee28c 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.4/spring-webmvc-2.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring-webmvc/2.5.4/spring-webmvc-2.5.4.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/springframework/spring/2.5.4/spring-2.5.4.pom.package.json b/tests/packagedcode/data/m2/org/springframework/spring/2.5.4/spring-2.5.4.pom.package.json index e8b0bcc7d9..08928f34fd 100644 --- a/tests/packagedcode/data/m2/org/springframework/spring/2.5.4/spring-2.5.4.pom.package.json +++ b/tests/packagedcode/data/m2/org/springframework/spring/2.5.4/spring-2.5.4.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/org/testng/testng/5.7/testng-5.7.pom.package.json b/tests/packagedcode/data/m2/org/testng/testng/5.7/testng-5.7.pom.package.json index cb34de53d4..386e4fe317 100644 --- a/tests/packagedcode/data/m2/org/testng/testng/5.7/testng-5.7.pom.package.json +++ b/tests/packagedcode/data/m2/org/testng/testng/5.7/testng-5.7.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", @@ -45,10 +48,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 7, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_url_6.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_url_6.RULE", diff --git a/tests/packagedcode/data/m2/org/testng/testng/5.8/testng-5.8.pom.package.json b/tests/packagedcode/data/m2/org/testng/testng/5.8/testng-5.8.pom.package.json index c6640d89d7..20180caa2a 100644 --- a/tests/packagedcode/data/m2/org/testng/testng/5.8/testng-5.8.pom.package.json +++ b/tests/packagedcode/data/m2/org/testng/testng/5.8/testng-5.8.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", @@ -45,10 +48,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 7, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_url_6.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_url_6.RULE", diff --git a/tests/packagedcode/data/m2/p6spy/p6spy/1.3/p6spy-1.3.pom.package.json b/tests/packagedcode/data/m2/p6spy/p6spy/1.3/p6spy-1.3.pom.package.json index aad8a6970b..78ba344d12 100644 --- a/tests/packagedcode/data/m2/p6spy/p6spy/1.3/p6spy-1.3.pom.package.json +++ b/tests/packagedcode/data/m2/p6spy/p6spy/1.3/p6spy-1.3.pom.package.json @@ -63,15 +63,18 @@ "license_detections": [ { "license_expression": "apache-1.1", + "license_expression_spdx": "Apache-1.1", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 7, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-1.1", + "spdx_license_expression": "Apache-1.1", "rule_identifier": "apache-1.1_66.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-1.1_66.RULE", @@ -81,10 +84,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 13, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-1.1", + "spdx_license_expression": "Apache-1.1", "rule_identifier": "apache-1.1_64.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-1.1_64.RULE", diff --git a/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-2.17.0718b.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-2.17.0718b.pom.package.json index 3cc2909c72..c858f11fba 100644 --- a/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-2.17.0718b.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-2.17.0718b.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 14, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_358.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_358.RULE", diff --git a/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-3.0.1.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-3.0.1.pom.package.json index d172153265..6956971c54 100644 --- a/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-3.0.1.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/parse_error/jds-3.0.1.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 14, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_358.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_358.RULE", diff --git a/tests/packagedcode/data/m2/parsing_issues/was_empty/common-object-1.0.2.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/was_empty/common-object-1.0.2.pom.package.json index 7c3af916b7..d3ee8a00fb 100644 --- a/tests/packagedcode/data/m2/parsing_issues/was_empty/common-object-1.0.2.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/was_empty/common-object-1.0.2.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/parsing_issues/was_empty/osgl-http-1.1.2.pom.package.json b/tests/packagedcode/data/m2/parsing_issues/was_empty/osgl-http-1.1.2.pom.package.json index 3de47beee3..d1c28fc19b 100644 --- a/tests/packagedcode/data/m2/parsing_issues/was_empty/osgl-http-1.1.2.pom.package.json +++ b/tests/packagedcode/data/m2/parsing_issues/was_empty/osgl-http-1.1.2.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.package.json b/tests/packagedcode/data/m2/validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.package.json index f53f8b9ff1..3a0da2f383 100644 --- a/tests/packagedcode/data/m2/validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.package.json +++ b/tests/packagedcode/data/m2/validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.package.json @@ -252,17 +252,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": null, "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1321.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1321.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1321.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt" } diff --git a/tests/packagedcode/data/m2/validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.package.json b/tests/packagedcode/data/m2/validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.package.json index 3d0e477bda..fbd98a6eaf 100644 --- a/tests/packagedcode/data/m2/validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.package.json +++ b/tests/packagedcode/data/m2/validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.package.json @@ -259,17 +259,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": null, "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1321.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1321.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1321.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt" } diff --git a/tests/packagedcode/data/m2/velocity/velocity/1.4/velocity-1.4.pom.package.json b/tests/packagedcode/data/m2/velocity/velocity/1.4/velocity-1.4.pom.package.json index f9f2b8b3da..3c6a8c66d9 100644 --- a/tests/packagedcode/data/m2/velocity/velocity/1.4/velocity-1.4.pom.package.json +++ b/tests/packagedcode/data/m2/velocity/velocity/1.4/velocity-1.4.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.package.json b/tests/packagedcode/data/m2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.package.json index 79b534eefe..4de1083aec 100644 --- a/tests/packagedcode/data/m2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.package.json +++ b/tests/packagedcode/data/m2/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/m2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.pom.package.json b/tests/packagedcode/data/m2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.pom.package.json index 2ce5120d85..4379d11fe2 100644 --- a/tests/packagedcode/data/m2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.pom.package.json +++ b/tests/packagedcode/data/m2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "public-domain AND sax-pd", + "license_expression_spdx": "LicenseRef-scancode-public-domain AND SAX-PD", "matches": [ { "score": 70.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", @@ -45,10 +48,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 9, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "sax-pd", + "spdx_license_expression": "SAX-PD", "rule_identifier": "sax-pd_url_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/sax-pd_url_4.RULE", diff --git a/tests/packagedcode/data/maven2/aopalliance-1.0/aopalliance-1.0.pom.package.json b/tests/packagedcode/data/maven2/aopalliance-1.0/aopalliance-1.0.pom.package.json index c8ad9bd744..1a00414c31 100644 --- a/tests/packagedcode/data/maven2/aopalliance-1.0/aopalliance-1.0.pom.package.json +++ b/tests/packagedcode/data/maven2/aopalliance-1.0/aopalliance-1.0.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "public-domain AND gpl-1.0-plus", + "license_expression_spdx": "LicenseRef-scancode-public-domain AND GPL-1.0-or-later", "matches": [ { "score": 70.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", @@ -45,10 +48,12 @@ "score": 50.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", diff --git a/tests/packagedcode/data/maven2/commons-validator-1.2.0/commons-validator-1.2.0.pom.package.json b/tests/packagedcode/data/maven2/commons-validator-1.2.0/commons-validator-1.2.0.pom.package.json index f53f8b9ff1..3a0da2f383 100644 --- a/tests/packagedcode/data/maven2/commons-validator-1.2.0/commons-validator-1.2.0.pom.package.json +++ b/tests/packagedcode/data/maven2/commons-validator-1.2.0/commons-validator-1.2.0.pom.package.json @@ -252,17 +252,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": null, "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1321.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1321.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1321.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt" } diff --git a/tests/packagedcode/data/maven2/findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json b/tests/packagedcode/data/maven2/findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json index 065f52bfc5..7770130027 100644 --- a/tests/packagedcode/data/maven2/findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json +++ b/tests/packagedcode/data/maven2/findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom.package.json @@ -56,15 +56,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_1160.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1160.RULE", diff --git a/tests/packagedcode/data/maven2/foo-pom/foo-pom.xml.package.json b/tests/packagedcode/data/maven2/foo-pom/foo-pom.xml.package.json index 2e64dc79dc..75f056dab5 100644 --- a/tests/packagedcode/data/maven2/foo-pom/foo-pom.xml.package.json +++ b/tests/packagedcode/data/maven2/foo-pom/foo-pom.xml.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "epl-1.0", + "license_expression_spdx": "EPL-1.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", @@ -53,10 +56,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", diff --git a/tests/packagedcode/data/maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom.package.json b/tests/packagedcode/data/maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom.package.json index ddf02e88a9..371732ce28 100644 --- a/tests/packagedcode/data/maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom.package.json +++ b/tests/packagedcode/data/maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND LGPL-2.1-or-later", "matches": [ { "score": 75.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", "rule_identifier": "lgpl_bare_single_word.RULE", "rule_relevance": 75, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_bare_single_word.RULE", @@ -53,10 +56,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 7, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", "rule_identifier": "lgpl_7.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_7.RULE", diff --git a/tests/packagedcode/data/maven2/log4j/log4j-pom.xml.package.json b/tests/packagedcode/data/maven2/log4j/log4j-pom.xml.package.json index 41c2a25283..ecb37fd682 100644 --- a/tests/packagedcode/data/maven2/log4j/log4j-pom.xml.package.json +++ b/tests/packagedcode/data/maven2/log4j/log4j-pom.xml.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/maven2/logback-access/logback-access.pom.package.json b/tests/packagedcode/data/maven2/logback-access/logback-access.pom.package.json index e51f0c4ad8..cd6685161f 100644 --- a/tests/packagedcode/data/maven2/logback-access/logback-access.pom.package.json +++ b/tests/packagedcode/data/maven2/logback-access/logback-access.pom.package.json @@ -27,15 +27,18 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", @@ -45,10 +48,12 @@ "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 7, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", "rule_identifier": "lgpl_3.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_3.RULE", diff --git a/tests/packagedcode/data/maven2/spring-2.5.4/spring-2.5.4.pom.package.json b/tests/packagedcode/data/maven2/spring-2.5.4/spring-2.5.4.pom.package.json index e8b0bcc7d9..08928f34fd 100644 --- a/tests/packagedcode/data/maven2/spring-2.5.4/spring-2.5.4.pom.package.json +++ b/tests/packagedcode/data/maven2/spring-2.5.4/spring-2.5.4.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/maven2/spring-orm-2.5.3/spring-orm-2.5.3.pom.package.json b/tests/packagedcode/data/maven2/spring-orm-2.5.3/spring-orm-2.5.3.pom.package.json index 31a75d5935..f8bee51384 100644 --- a/tests/packagedcode/data/maven2/spring-orm-2.5.3/spring-orm-2.5.3.pom.package.json +++ b/tests/packagedcode/data/maven2/spring-orm-2.5.3/spring-orm-2.5.3.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/maven2/spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom.package.json b/tests/packagedcode/data/maven2/spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom.package.json index 2eb634eb88..0f158196af 100644 --- a/tests/packagedcode/data/maven2/spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom.package.json +++ b/tests/packagedcode/data/maven2/spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom.package.json @@ -35,15 +35,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 2, + "from_file": null, "matched_length": 18, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", diff --git a/tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5-expected.json b/tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5-expected.json index b6fc4af7ec..29a176d6f8 100644 --- a/tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5-expected.json +++ b/tests/packagedcode/data/maven_misc/assemble/jackson-dataformat-xml-2.13.5-expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jackson-dataformat-xml-2.13.5/META-INF/LICENSE", "start_line": 1, "end_line": 8, + "matcher": "2-aho", + "score": 100.0, "matched_length": 43, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_394.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_394.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_394.RULE" } ], @@ -56,29 +59,34 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "jackson-dataformat-xml-2.13.5/META-INF/NOTICE", "start_line": 11, "end_line": 13, + "matcher": "2-aho", + "score": 100.0, "matched_length": 26, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_375.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_375.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_375.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jackson-dataformat-xml-2.13.5/META-INF/LICENSE", "start_line": 1, "end_line": 8, + "matcher": "2-aho", + "score": 100.0, "matched_length": 43, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_394.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_394.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_394.RULE" } ], @@ -113,16 +121,64 @@ { "identifier": "apache_2_0-31344ceb-eee7-3f95-45bb-cc86209f76f8", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 2, "detection_log": [ "unknown-reference-to-local-file" + ], + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "jackson-dataformat-xml-2.13.5/META-INF/NOTICE", + "start_line": 11, + "end_line": 13, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 26, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_375.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_375.RULE" + }, + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "jackson-dataformat-xml-2.13.5/META-INF/LICENSE", + "start_line": 1, + "end_line": 8, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 43, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_394.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_394.RULE" + } ] }, { "identifier": "apache_2_0-8607fc22-7931-3e71-b7d5-bd208970dc6f", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 2, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "jackson-dataformat-xml-2.13.5/META-INF/LICENSE", + "start_line": 1, + "end_line": 8, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 43, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_394.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_394.RULE" + } + ] } ], "files": [ @@ -164,17 +220,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jackson-dataformat-xml-2.13.5/META-INF/LICENSE", "start_line": 1, "end_line": 8, + "matcher": "2-aho", + "score": 100.0, "matched_length": 43, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_394.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_394.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_394.RULE" } ], @@ -224,17 +283,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jackson-dataformat-xml-2.13.5/META-INF/LICENSE", "start_line": 1, "end_line": 8, + "matcher": "2-aho", + "score": 100.0, "matched_length": 43, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_394.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_394.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_394.RULE" } ], @@ -243,29 +305,34 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "jackson-dataformat-xml-2.13.5/META-INF/NOTICE", "start_line": 11, "end_line": 13, + "matcher": "2-aho", + "score": 100.0, "matched_length": 26, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_375.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_375.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_375.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jackson-dataformat-xml-2.13.5/META-INF/LICENSE", "start_line": 1, "end_line": 8, + "matcher": "2-aho", + "score": 100.0, "matched_length": 43, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_394.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_394.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_394.RULE" } ], @@ -313,29 +380,34 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "jackson-dataformat-xml-2.13.5/META-INF/NOTICE", "start_line": 11, "end_line": 13, + "matcher": "2-aho", + "score": 100.0, "matched_length": 26, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_375.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_375.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_375.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jackson-dataformat-xml-2.13.5/META-INF/LICENSE", "start_line": 1, "end_line": 8, + "matcher": "2-aho", + "score": 100.0, "matched_length": 43, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_394.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_394.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_394.RULE" } ], @@ -347,15 +419,17 @@ ], "license_clues": [ { - "score": 100.0, + "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", + "from_file": "jackson-dataformat-xml-2.13.5/META-INF/NOTICE", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "free-unknown", - "rule_identifier": "free-unknown_85.RULE", "rule_relevance": 100, + "rule_identifier": "free-unknown_85.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/free-unknown_85.RULE" } ], diff --git a/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11-expected.json b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11-expected.json index c2aff00157..028f829102 100644 --- a/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11-expected.json +++ b/tests/packagedcode/data/maven_misc/assemble/johnzon-jsonb-1.2.11-expected.json @@ -29,17 +29,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml", "start_line": 3, "end_line": 18, + "matcher": "2-aho", + "score": 100.0, "matched_length": 119, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_2.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE" } ], @@ -231,40 +234,142 @@ { "identifier": "apache_2_0-4bde3f57-78aa-4201-96bf-531cba09e7de", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 2, "detection_log": [ "from-package-file" + ], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml", + "start_line": 3, + "end_line": 18, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 119, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE" + } ] }, { "identifier": "apache_2_0-2e855fd2-d4e6-f202-a2a4-6953b9354518", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "johnzon-jsonb-1.2.11/META-INF/MANIFEST.MF", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 9, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_42.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE" + } + ] }, { "identifier": "apache_2_0-482220ca-c07b-bf59-66ed-6e7eaf9f3b1e", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "johnzon-jsonb-1.2.11/META-INF/NOTICE", + "start_line": 5, + "end_line": 6, + "matcher": "2-aho", + "score": 95.0, + "matched_length": 14, + "match_coverage": 100.0, + "rule_relevance": 95, + "rule_identifier": "apache-2.0_product_includes_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_product_includes_2.RULE" + } + ] }, { "identifier": "apache_2_0-8352cbe6-d199-3a43-cdc8-b14a837e2ce6", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "johnzon-jsonb-1.2.11/META-INF/MANIFEST.MF", + "start_line": 6, + "end_line": 6, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 11, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_osgi.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_osgi.RULE" + } + ] }, { "identifier": "apache_2_0-aef5c472-cdfd-dc5f-c152-40e3d96f140e", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "johnzon-jsonb-1.2.11/META-INF/LICENSE", + "start_line": 2, + "end_line": 4, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_791.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_791.RULE" + } + ] }, { "identifier": "apache_2_0-f089be2e-5d2c-9289-8733-3880be15665c", "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "johnzon-jsonb-1.2.11/META-INF/DEPENDENCIES", + "start_line": 9, + "end_line": 13, + "matcher": "3-seq", + "score": 64.18, + "matched_length": 43, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_1247.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1247.RULE" + } + ] } ], "files": [ @@ -308,17 +413,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 64.18, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "johnzon-jsonb-1.2.11/META-INF/DEPENDENCIES", "start_line": 9, "end_line": 13, + "matcher": "3-seq", + "score": 64.18, "matched_length": 43, "match_coverage": 100.0, - "matcher": "3-seq", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1247.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1247.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1247.RULE" } ], @@ -342,17 +450,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "johnzon-jsonb-1.2.11/META-INF/LICENSE", "start_line": 2, "end_line": 4, + "matcher": "1-hash", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_791.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_791.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_791.RULE" } ], @@ -402,17 +513,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "johnzon-jsonb-1.2.11/META-INF/MANIFEST.MF", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_42.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.txt" } @@ -446,17 +560,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "johnzon-jsonb-1.2.11/META-INF/MANIFEST.MF", "start_line": 6, "end_line": 6, + "matcher": "2-aho", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_osgi.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_osgi.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_osgi.RULE" } ], @@ -480,17 +597,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 95.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "johnzon-jsonb-1.2.11/META-INF/NOTICE", "start_line": 5, "end_line": 6, + "matcher": "2-aho", + "score": 95.0, "matched_length": 14, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_product_includes_2.RULE", "rule_relevance": 95, + "rule_identifier": "apache-2.0_product_includes_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_product_includes_2.RULE" } ], @@ -634,17 +754,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml", "start_line": 3, "end_line": 18, + "matcher": "2-aho", + "score": 100.0, "matched_length": 119, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_2.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE" } ], @@ -791,17 +914,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "johnzon-jsonb-1.2.11/META-INF/maven/org.apache.johnzon/johnzon-jsonb/pom.xml", "start_line": 3, "end_line": 18, + "matcher": "2-aho", + "score": 100.0, "matched_length": 119, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_2.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE" } ], diff --git a/tests/packagedcode/data/maven_misc/assemble/numbers-1.7.4-expected.json b/tests/packagedcode/data/maven_misc/assemble/numbers-1.7.4-expected.json index a8d0fc369d..2a04da3fc5 100644 --- a/tests/packagedcode/data/maven_misc/assemble/numbers-1.7.4-expected.json +++ b/tests/packagedcode/data/maven_misc/assemble/numbers-1.7.4-expected.json @@ -44,17 +44,20 @@ "license_detections": [ { "license_expression": "cc0-1.0", + "license_expression_spdx": "CC0-1.0", "matches": [ { - "score": 100.0, + "license_expression": "cc0-1.0", + "spdx_license_expression": "CC0-1.0", + "from_file": "numbers-1.7.4/META-INF/maven/com.github.peteroupc/numbers/pom.xml", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "cc0-1.0", - "rule_identifier": "cc0-1.0_203.RULE", "rule_relevance": 100, + "rule_identifier": "cc0-1.0_203.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_203.RULE", "matched_text": "- name: CC0 Universal\n url: http://www.creativecommons.org/publicdomain/zero/1.0/" } @@ -104,14 +107,48 @@ { "identifier": "cc0_1_0-15f5e40e-1981-f373-7acf-8ebdfa09ee21", "license_expression": "cc0-1.0", + "license_expression_spdx": "CC0-1.0", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "cc0-1.0", + "license_expression_spdx": "CC0-1.0", + "from_file": "numbers-1.7.4/META-INF/maven/com.github.peteroupc/numbers/pom.xml", + "start_line": 86, + "end_line": 91, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 20, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "cc0-1.0_197.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_197.RULE" + } + ] }, { "identifier": "cc0_1_0-6bdf45cc-fe1e-2f20-02e3-fbae31f10c0e", "license_expression": "cc0-1.0", + "license_expression_spdx": "CC0-1.0", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "cc0-1.0", + "license_expression_spdx": "CC0-1.0", + "from_file": "numbers-1.7.4/META-INF/maven/com.github.peteroupc/numbers/pom.xml", + "start_line": 1, + "end_line": 2, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "cc0-1.0_203.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_203.RULE" + } + ] } ], "files": [ @@ -347,17 +384,20 @@ "license_detections": [ { "license_expression": "cc0-1.0", + "license_expression_spdx": "CC0-1.0", "matches": [ { - "score": 100.0, + "license_expression": "cc0-1.0", + "spdx_license_expression": "CC0-1.0", + "from_file": "numbers-1.7.4/META-INF/maven/com.github.peteroupc/numbers/pom.xml", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "cc0-1.0", - "rule_identifier": "cc0-1.0_203.RULE", "rule_relevance": 100, + "rule_identifier": "cc0-1.0_203.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_203.RULE", "matched_text": "- name: CC0 Universal\n url: http://www.creativecommons.org/publicdomain/zero/1.0/" } @@ -402,17 +442,20 @@ "license_detections": [ { "license_expression": "cc0-1.0", + "license_expression_spdx": "CC0-1.0", "matches": [ { - "score": 100.0, + "license_expression": "cc0-1.0", + "spdx_license_expression": "CC0-1.0", + "from_file": "numbers-1.7.4/META-INF/maven/com.github.peteroupc/numbers/pom.xml", "start_line": 86, "end_line": 91, + "matcher": "2-aho", + "score": 100.0, "matched_length": 20, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cc0-1.0", - "rule_identifier": "cc0-1.0_197.RULE", "rule_relevance": 100, + "rule_identifier": "cc0-1.0_197.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_197.RULE" } ], diff --git a/tests/packagedcode/data/maven_misc/uberjars/htrace-core-4.0.0-incubating-expected.json b/tests/packagedcode/data/maven_misc/uberjars/htrace-core-4.0.0-incubating-expected.json index 871ae1d28a..69c6668b68 100644 --- a/tests/packagedcode/data/maven_misc/uberjars/htrace-core-4.0.0-incubating-expected.json +++ b/tests/packagedcode/data/maven_misc/uberjars/htrace-core-4.0.0-incubating-expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/LICENSE", "start_line": 2, "end_line": 4, + "matcher": "1-hash", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_791.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_791.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_791.RULE" } ], @@ -55,17 +58,20 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 95.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/NOTICE", "start_line": 5, "end_line": 6, + "matcher": "2-aho", + "score": 95.0, "matched_length": 14, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_product_includes_2.RULE", "rule_relevance": 95, + "rule_identifier": "apache-2.0_product_includes_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_product_includes_2.RULE" } ], @@ -264,17 +270,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/maven/commons-logging/commons-logging/pom.xml", "start_line": 2, "end_line": 15, + "matcher": "2-aho", + "score": 100.0, "matched_length": 119, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_2.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE" } ], @@ -331,17 +340,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/maven/org.apache.htrace/htrace-core/pom.xml", "start_line": 2, "end_line": 11, + "matcher": "2-aho", + "score": 100.0, "matched_length": 119, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_2.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE" } ], @@ -572,22 +584,132 @@ { "identifier": "apache_2_0-4bde3f57-78aa-4201-96bf-531cba09e7de", "license_expression": "apache-2.0", - "detection_count": 4 + "license_expression_spdx": "Apache-2.0", + "detection_count": 4, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/maven/commons-logging/commons-logging/pom.xml", + "start_line": 2, + "end_line": 15, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 119, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE" + } + ] }, { "identifier": "apache_2_0-482220ca-c07b-bf59-66ed-6e7eaf9f3b1e", "license_expression": "apache-2.0", - "detection_count": 2 + "license_expression_spdx": "Apache-2.0", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/NOTICE", + "start_line": 5, + "end_line": 6, + "matcher": "2-aho", + "score": 95.0, + "matched_length": 14, + "match_coverage": 100.0, + "rule_relevance": 95, + "rule_identifier": "apache-2.0_product_includes_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_product_includes_2.RULE" + } + ] }, { "identifier": "apache_2_0-aef5c472-cdfd-dc5f-c152-40e3d96f140e", "license_expression": "apache-2.0", - "detection_count": 2 + "license_expression_spdx": "Apache-2.0", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/LICENSE", + "start_line": 2, + "end_line": 4, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_791.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_791.RULE" + } + ] }, { "identifier": "apache_2_0-e7633baf-a264-a1ab-40f6-a28ec157067a", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/DEPENDENCIES", + "start_line": 11, + "end_line": 11, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 17, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_212.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_212.RULE" + }, + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/DEPENDENCIES", + "start_line": 13, + "end_line": 13, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 17, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_212.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_212.RULE" + }, + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/DEPENDENCIES", + "start_line": 15, + "end_line": 15, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 17, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_212.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_212.RULE" + }, + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/DEPENDENCIES", + "start_line": 19, + "end_line": 19, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 17, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_212.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_212.RULE" + } + ] } ], "files": [ @@ -629,53 +751,62 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/DEPENDENCIES", "start_line": 11, "end_line": 11, + "matcher": "2-aho", + "score": 100.0, "matched_length": 17, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_212.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_212.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_212.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/DEPENDENCIES", "start_line": 13, "end_line": 13, + "matcher": "2-aho", + "score": 100.0, "matched_length": 17, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_212.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_212.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_212.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/DEPENDENCIES", "start_line": 15, "end_line": 15, + "matcher": "2-aho", + "score": 100.0, "matched_length": 17, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_212.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_212.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_212.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/DEPENDENCIES", "start_line": 19, "end_line": 19, + "matcher": "2-aho", + "score": 100.0, "matched_length": 17, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_212.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_212.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_212.RULE" } ], @@ -698,17 +829,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/LICENSE", "start_line": 2, "end_line": 4, + "matcher": "1-hash", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_791.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_791.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_791.RULE" } ], @@ -757,17 +891,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/LICENSE", "start_line": 2, "end_line": 4, + "matcher": "1-hash", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_791.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_791.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_791.RULE" } ], @@ -775,17 +912,20 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 95.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/NOTICE", "start_line": 5, "end_line": 6, + "matcher": "2-aho", + "score": 95.0, "matched_length": 14, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_product_includes_2.RULE", "rule_relevance": 95, + "rule_identifier": "apache-2.0_product_includes_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_product_includes_2.RULE" } ], @@ -830,17 +970,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 95.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/NOTICE", "start_line": 5, "end_line": 6, + "matcher": "2-aho", + "score": 95.0, "matched_length": 14, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_product_includes_2.RULE", "rule_relevance": 95, + "rule_identifier": "apache-2.0_product_includes_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_product_includes_2.RULE" } ], @@ -1213,17 +1356,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/maven/commons-logging/commons-logging/pom.xml", "start_line": 2, "end_line": 15, + "matcher": "2-aho", + "score": 100.0, "matched_length": 119, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_2.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE" } ], @@ -1308,17 +1454,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/maven/commons-logging/commons-logging/pom.xml", "start_line": 2, "end_line": 15, + "matcher": "2-aho", + "score": 100.0, "matched_length": 119, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_2.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE" } ], @@ -1390,17 +1539,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/maven/org.apache.htrace/htrace-core/pom.xml", "start_line": 2, "end_line": 11, + "matcher": "2-aho", + "score": 100.0, "matched_length": 119, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_2.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE" } ], @@ -1475,17 +1627,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "htrace-core-4.0.0-incubating/META-INF/maven/org.apache.htrace/htrace-core/pom.xml", "start_line": 2, "end_line": 11, + "matcher": "2-aho", + "score": 100.0, "matched_length": 119, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_2.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_2.RULE" } ], diff --git a/tests/packagedcode/data/models/full-expected.json b/tests/packagedcode/data/models/full-expected.json index 075c40befa..9be83f0543 100644 --- a/tests/packagedcode/data/models/full-expected.json +++ b/tests/packagedcode/data/models/full-expected.json @@ -42,15 +42,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", diff --git a/tests/packagedcode/data/models/simple-expected.json b/tests/packagedcode/data/models/simple-expected.json index 7a009e6c1d..f367375843 100644 --- a/tests/packagedcode/data/models/simple-expected.json +++ b/tests/packagedcode/data/models/simple-expected.json @@ -38,15 +38,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", diff --git a/tests/packagedcode/data/npm/as_installed/package.json.expected b/tests/packagedcode/data/npm/as_installed/package.json.expected index ebc50eb3f5..1b44fc962e 100644 --- a/tests/packagedcode/data/npm/as_installed/package.json.expected +++ b/tests/packagedcode/data/npm/as_installed/package.json.expected @@ -2211,15 +2211,18 @@ "license_detections": [ { "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "artistic-2.0", + "spdx_license_expression": "Artistic-2.0", "rule_identifier": "spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", diff --git a/tests/packagedcode/data/npm/authors_list_dicts/package.json.expected b/tests/packagedcode/data/npm/authors_list_dicts/package.json.expected index 051abe9506..3ccc7f55c1 100644 --- a/tests/packagedcode/data/npm/authors_list_dicts/package.json.expected +++ b/tests/packagedcode/data/npm/authors_list_dicts/package.json.expected @@ -56,15 +56,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -75,15 +78,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "mit", + "spdx_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", diff --git a/tests/packagedcode/data/npm/authors_list_strings/package.json.expected b/tests/packagedcode/data/npm/authors_list_strings/package.json.expected index 4e2dd1b161..f6808e6767 100644 --- a/tests/packagedcode/data/npm/authors_list_strings/package.json.expected +++ b/tests/packagedcode/data/npm/authors_list_strings/package.json.expected @@ -54,15 +54,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/npm/casepath/package.json.expected b/tests/packagedcode/data/npm/casepath/package.json.expected index 4f7eebcf2d..8df0389333 100644 --- a/tests/packagedcode/data/npm/casepath/package.json.expected +++ b/tests/packagedcode/data/npm/casepath/package.json.expected @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/npm/chartist/package.json.expected b/tests/packagedcode/data/npm/chartist/package.json.expected index 00d679a5eb..db8b4ea571 100644 --- a/tests/packagedcode/data/npm/chartist/package.json.expected +++ b/tests/packagedcode/data/npm/chartist/package.json.expected @@ -41,36 +41,42 @@ "license_detections": [ { "license_expression": "mit OR wtfpl-2.0", + "license_expression_spdx": "MIT OR WTFPL", "matches": [ { - "score": 100.0, + "license_expression": "mit OR wtfpl-2.0", + "spdx_license_expression": "MIT OR WTFPL", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit OR wtfpl-2.0", - "rule_identifier": "spdx-license-identifier-mit OR wtfpl-2.0-a3a16f7e12d6ecec29951dd1a41d0d4dbd91e112", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit_or_wtfpl_2_0-a3a16f7e12d6ecec29951dd1a41d0d4dbd91e112", "rule_url": null, "matched_text": "MIT OR WTFPL" } ], - "identifier": "mit_or_wtfpl_2_0-35db8598-e6f1-f9c5-6a74-5ccca257c5e7" + "identifier": "mit_or_wtfpl_2_0-6e79a0d6-24d4-17b2-ba10-09867c90eb5b" }, { "license_expression": "wtfpl-2.0", + "license_expression_spdx": "WTFPL", "matches": [ { - "score": 50.0, + "license_expression": "wtfpl-2.0", + "spdx_license_expression": "WTFPL", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 50.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "wtfpl-2.0", - "rule_identifier": "spdx_license_id_wtfpl_for_wtfpl-2.0.RULE", "rule_relevance": 50, + "rule_identifier": "spdx_license_id_wtfpl_for_wtfpl-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_wtfpl_for_wtfpl-2.0.RULE", "matched_text": "WTFPL" } @@ -79,17 +85,20 @@ }, { "license_expression": "wtfpl-2.0", + "license_expression_spdx": "WTFPL", "matches": [ { - "score": 100.0, + "license_expression": "wtfpl-2.0", + "spdx_license_expression": "WTFPL", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "wtfpl-2.0", - "rule_identifier": "wtfpl-2.0_33.RULE", "rule_relevance": 100, + "rule_identifier": "wtfpl-2.0_33.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/wtfpl-2.0_33.RULE", "matched_text": "https://github.com/gionkunz/chartist-js/blob/master/LICENSE-WTFPL" } @@ -98,17 +107,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -117,17 +129,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_30.RULE", "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", "matched_text": "https://github.com/gionkunz/chartist-js/blob/master/LICENSE-MIT" } diff --git a/tests/packagedcode/data/npm/dist/package.json.expected b/tests/packagedcode/data/npm/dist/package.json.expected index 1690a9b5dd..e2a611a2a5 100644 --- a/tests/packagedcode/data/npm/dist/package.json.expected +++ b/tests/packagedcode/data/npm/dist/package.json.expected @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/npm/double_license/package.json.expected b/tests/packagedcode/data/npm/double_license/package.json.expected index 1df155eed5..de58a332c6 100644 --- a/tests/packagedcode/data/npm/double_license/package.json.expected +++ b/tests/packagedcode/data/npm/double_license/package.json.expected @@ -38,15 +38,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", @@ -57,15 +60,18 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", diff --git a/tests/packagedcode/data/npm/electron/package.expected.json b/tests/packagedcode/data/npm/electron/package.expected.json index d455821790..ad412285e7 100644 --- a/tests/packagedcode/data/npm/electron/package.expected.json +++ b/tests/packagedcode/data/npm/electron/package.expected.json @@ -39,17 +39,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -223,17 +226,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } diff --git a/tests/packagedcode/data/npm/express-jwt-3.4.0/package.json.expected b/tests/packagedcode/data/npm/express-jwt-3.4.0/package.json.expected index bfd96f47a0..ee6267c23a 100644 --- a/tests/packagedcode/data/npm/express-jwt-3.4.0/package.json.expected +++ b/tests/packagedcode/data/npm/express-jwt-3.4.0/package.json.expected @@ -47,15 +47,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -66,15 +69,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_13.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_13.RULE", diff --git a/tests/packagedcode/data/npm/from_npmjs/package.json.expected b/tests/packagedcode/data/npm/from_npmjs/package.json.expected index 46279ab9be..9182fc7f42 100644 --- a/tests/packagedcode/data/npm/from_npmjs/package.json.expected +++ b/tests/packagedcode/data/npm/from_npmjs/package.json.expected @@ -2211,15 +2211,18 @@ "license_detections": [ { "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "artistic-2.0", + "spdx_license_expression": "Artistic-2.0", "rule_identifier": "spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", diff --git a/tests/packagedcode/data/npm/from_tarball/package.json.expected b/tests/packagedcode/data/npm/from_tarball/package.json.expected index c3538d7dc6..59f8290a2d 100644 --- a/tests/packagedcode/data/npm/from_tarball/package.json.expected +++ b/tests/packagedcode/data/npm/from_tarball/package.json.expected @@ -41,15 +41,18 @@ "license_detections": [ { "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "artistic-2.0", + "spdx_license_expression": "Artistic-2.0", "rule_identifier": "spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", diff --git a/tests/packagedcode/data/npm/get_package_resources.scan.expected.json b/tests/packagedcode/data/npm/get_package_resources.scan.expected.json index d0799d5b24..2c39a3501d 100644 --- a/tests/packagedcode/data/npm/get_package_resources.scan.expected.json +++ b/tests/packagedcode/data/npm/get_package_resources.scan.expected.json @@ -29,17 +29,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "get_package_resources/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -123,17 +126,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "get_package_resources/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } diff --git a/tests/packagedcode/data/npm/homepage-as-list/package.json.expected b/tests/packagedcode/data/npm/homepage-as-list/package.json.expected index 6e0d334ad9..5a36885d36 100644 --- a/tests/packagedcode/data/npm/homepage-as-list/package.json.expected +++ b/tests/packagedcode/data/npm/homepage-as-list/package.json.expected @@ -51,15 +51,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/npm/invalid-dep/package.json.expected b/tests/packagedcode/data/npm/invalid-dep/package.json.expected index 989a11563b..53df6dcc86 100644 --- a/tests/packagedcode/data/npm/invalid-dep/package.json.expected +++ b/tests/packagedcode/data/npm/invalid-dep/package.json.expected @@ -45,15 +45,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/npm/keywords/package.json.expected b/tests/packagedcode/data/npm/keywords/package.json.expected index c7127cedc0..066341342f 100644 --- a/tests/packagedcode/data/npm/keywords/package.json.expected +++ b/tests/packagedcode/data/npm/keywords/package.json.expected @@ -60,15 +60,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/npm/legacy_license_dict/package.json.expected b/tests/packagedcode/data/npm/legacy_license_dict/package.json.expected index 9222af2998..3ec4a2fba5 100644 --- a/tests/packagedcode/data/npm/legacy_license_dict/package.json.expected +++ b/tests/packagedcode/data/npm/legacy_license_dict/package.json.expected @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -62,15 +65,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "mit", + "spdx_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", diff --git a/tests/packagedcode/data/npm/mime-1.3.4/package.json.expected b/tests/packagedcode/data/npm/mime-1.3.4/package.json.expected index 1ad2ac3acf..a683a05a50 100644 --- a/tests/packagedcode/data/npm/mime-1.3.4/package.json.expected +++ b/tests/packagedcode/data/npm/mime-1.3.4/package.json.expected @@ -46,15 +46,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/npm/package-lock-v2-2/package-lock.json-expected b/tests/packagedcode/data/npm/package-lock-v2-2/package-lock.json-expected index 43e71ef0ef..2c860c5d9d 100644 --- a/tests/packagedcode/data/npm/package-lock-v2-2/package-lock.json-expected +++ b/tests/packagedcode/data/npm/package-lock-v2-2/package-lock.json-expected @@ -73,15 +73,18 @@ "license_detections": [ { "license_expression": "isc", + "license_expression_spdx": "ISC", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "isc", + "spdx_license_expression": "ISC", "rule_identifier": "spdx-license-identifier-isc-9931cb7ad33c2eb18f322c94660b670a84186baa", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/npm/package-lock-v2/package-lock.json-expected b/tests/packagedcode/data/npm/package-lock-v2/package-lock.json-expected index 154ce61994..e753c7b771 100644 --- a/tests/packagedcode/data/npm/package-lock-v2/package-lock.json-expected +++ b/tests/packagedcode/data/npm/package-lock-v2/package-lock.json-expected @@ -73,15 +73,18 @@ "license_detections": [ { "license_expression": "isc", + "license_expression_spdx": "ISC", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "isc", + "spdx_license_expression": "ISC", "rule_identifier": "spdx-license-identifier-isc-9931cb7ad33c2eb18f322c94660b670a84186baa", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/npm/scan-nested/scan.expected.json b/tests/packagedcode/data/npm/scan-nested/scan.expected.json index 6d7b3d798a..8ddfac7342 100644 --- a/tests/packagedcode/data/npm/scan-nested/scan.expected.json +++ b/tests/packagedcode/data/npm/scan-nested/scan.expected.json @@ -61,17 +61,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "scan/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -167,17 +170,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "scan/node_modules/sequelize/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -1133,17 +1139,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "scan/node_modules/sequelize/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -1800,17 +1809,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "scan/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } diff --git a/tests/packagedcode/data/npm/scoped1/package.json.expected b/tests/packagedcode/data/npm/scoped1/package.json.expected index 750cef0162..ed6caa72a4 100644 --- a/tests/packagedcode/data/npm/scoped1/package.json.expected +++ b/tests/packagedcode/data/npm/scoped1/package.json.expected @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/npm/scoped2/package.json.expected b/tests/packagedcode/data/npm/scoped2/package.json.expected index 4aaee5941a..125e6b2b3f 100644 --- a/tests/packagedcode/data/npm/scoped2/package.json.expected +++ b/tests/packagedcode/data/npm/scoped2/package.json.expected @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/npm/sequelize/package.json.expected b/tests/packagedcode/data/npm/sequelize/package.json.expected index c7ca933471..94aa03c689 100644 --- a/tests/packagedcode/data/npm/sequelize/package.json.expected +++ b/tests/packagedcode/data/npm/sequelize/package.json.expected @@ -73,15 +73,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/npm/uri_vcs/package.json.expected b/tests/packagedcode/data/npm/uri_vcs/package.json.expected index 97fd5627e6..cb0a91a7da 100644 --- a/tests/packagedcode/data/npm/uri_vcs/package.json.expected +++ b/tests/packagedcode/data/npm/uri_vcs/package.json.expected @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -55,15 +58,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_13.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_13.RULE", diff --git a/tests/packagedcode/data/npm/urls_dict/package.json.expected b/tests/packagedcode/data/npm/urls_dict/package.json.expected index 813da22f39..a0479e019a 100644 --- a/tests/packagedcode/data/npm/urls_dict/package.json.expected +++ b/tests/packagedcode/data/npm/urls_dict/package.json.expected @@ -41,15 +41,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/npm/utils-merge-1.0.0/package.json.expected b/tests/packagedcode/data/npm/utils-merge-1.0.0/package.json.expected index 09d6e5e995..19d44b6dd5 100644 --- a/tests/packagedcode/data/npm/utils-merge-1.0.0/package.json.expected +++ b/tests/packagedcode/data/npm/utils-merge-1.0.0/package.json.expected @@ -38,15 +38,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -57,15 +60,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_13.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_13.RULE", diff --git a/tests/packagedcode/data/npm/with_name/package.json.expected b/tests/packagedcode/data/npm/with_name/package.json.expected index 74c7f84123..b38dd654b8 100644 --- a/tests/packagedcode/data/npm/with_name/package.json.expected +++ b/tests/packagedcode/data/npm/with_name/package.json.expected @@ -28,15 +28,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", @@ -47,15 +50,18 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_25.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_25.RULE", diff --git a/tests/packagedcode/data/nuget/Castle.Core.nuspec.json.expected b/tests/packagedcode/data/nuget/Castle.Core.nuspec.json.expected index e5a92af05a..d43ce08d62 100644 --- a/tests/packagedcode/data/nuget/Castle.Core.nuspec.json.expected +++ b/tests/packagedcode/data/nuget/Castle.Core.nuspec.json.expected @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 9, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_20.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_20.RULE", diff --git a/tests/packagedcode/data/nuget/EntityFramework.nuspec.json.expected b/tests/packagedcode/data/nuget/EntityFramework.nuspec.json.expected index 94af46e24f..7645947a2b 100644 --- a/tests/packagedcode/data/nuget/EntityFramework.nuspec.json.expected +++ b/tests/packagedcode/data/nuget/EntityFramework.nuspec.json.expected @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "ms-net-library", + "license_expression_spdx": "LicenseRef-scancode-ms-net-library", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 7, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "ms-net-library", + "spdx_license_expression": "LicenseRef-scancode-ms-net-library", "rule_identifier": "ms-net-library_6.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/ms-net-library_6.RULE", diff --git a/tests/packagedcode/data/nuget/Microsoft.AspNet.Mvc.nuspec.json.expected b/tests/packagedcode/data/nuget/Microsoft.AspNet.Mvc.nuspec.json.expected index 03d3d6e32c..38439b23a3 100644 --- a/tests/packagedcode/data/nuget/Microsoft.AspNet.Mvc.nuspec.json.expected +++ b/tests/packagedcode/data/nuget/Microsoft.AspNet.Mvc.nuspec.json.expected @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "ms-net-library", + "license_expression_spdx": "LicenseRef-scancode-ms-net-library", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 12, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "ms-net-library", + "spdx_license_expression": "LicenseRef-scancode-ms-net-library", "rule_identifier": "ms-net-library_1.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/ms-net-library_1.RULE", diff --git a/tests/packagedcode/data/nuget/Microsoft.Net.Http.nuspec.json.expected b/tests/packagedcode/data/nuget/Microsoft.Net.Http.nuspec.json.expected index 3325607a03..bf26eb3b7c 100644 --- a/tests/packagedcode/data/nuget/Microsoft.Net.Http.nuspec.json.expected +++ b/tests/packagedcode/data/nuget/Microsoft.Net.Http.nuspec.json.expected @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "ms-net-library-2018-11", + "license_expression_spdx": "LicenseRef-scancode-ms-net-library-2018-11", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 7, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "ms-net-library-2018-11", + "spdx_license_expression": "LicenseRef-scancode-ms-net-library-2018-11", "rule_identifier": "ms-net-library-2018-11_3.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/ms-net-library-2018-11_3.RULE", diff --git a/tests/packagedcode/data/nuget/bootstrap.nuspec.json.expected b/tests/packagedcode/data/nuget/bootstrap.nuspec.json.expected index 5eacec8e40..0d2413dc1a 100644 --- a/tests/packagedcode/data/nuget/bootstrap.nuspec.json.expected +++ b/tests/packagedcode/data/nuget/bootstrap.nuspec.json.expected @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_180.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_180.RULE", diff --git a/tests/packagedcode/data/nuget/jQuery.UI.Combined.nuspec.json.expected b/tests/packagedcode/data/nuget/jQuery.UI.Combined.nuspec.json.expected index 801c127bbc..fcb9f255b9 100644 --- a/tests/packagedcode/data/nuget/jQuery.UI.Combined.nuspec.json.expected +++ b/tests/packagedcode/data/nuget/jQuery.UI.Combined.nuspec.json.expected @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 80.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_jquery_url.RULE", "rule_relevance": 80, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_jquery_url.RULE", diff --git a/tests/packagedcode/data/opam/sample1/output.opam.expected b/tests/packagedcode/data/opam/sample1/output.opam.expected index 16bfbdafb0..ce65858648 100644 --- a/tests/packagedcode/data/opam/sample1/output.opam.expected +++ b/tests/packagedcode/data/opam/sample1/output.opam.expected @@ -113,15 +113,18 @@ "license_detections": [ { "license_expression": "isc", + "license_expression_spdx": "ISC", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "isc", + "spdx_license_expression": "ISC", "rule_identifier": "spdx-license-identifier-isc-9931cb7ad33c2eb18f322c94660b670a84186baa", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/opam/sample3/output.opam.expected b/tests/packagedcode/data/opam/sample3/output.opam.expected index d03a7307d3..5fd0981e76 100644 --- a/tests/packagedcode/data/opam/sample3/output.opam.expected +++ b/tests/packagedcode/data/opam/sample3/output.opam.expected @@ -57,15 +57,18 @@ "license_detections": [ { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", "rule_identifier": "spdx_license_id_gpl-3.0-only_for_gpl-3.0.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-3.0-only_for_gpl-3.0.RULE", diff --git a/tests/packagedcode/data/opam/sample4/output.opam.expected b/tests/packagedcode/data/opam/sample4/output.opam.expected index 153ddf2f7e..83ab49318d 100644 --- a/tests/packagedcode/data/opam/sample4/output.opam.expected +++ b/tests/packagedcode/data/opam/sample4/output.opam.expected @@ -50,22 +50,25 @@ "license_detections": [ { "license_expression": "lgpl-3.0 WITH ocaml-lgpl-linking-exception", + "license_expression_spdx": "LGPL-3.0-only WITH OCaml-LGPL-linking-exception", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0 WITH ocaml-lgpl-linking-exception", + "spdx_license_expression": "LGPL-3.0-only WITH OCaml-LGPL-linking-exception", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "lgpl-3.0 WITH ocaml-lgpl-linking-exception", - "rule_identifier": "spdx-license-identifier-lgpl-3.0 WITH ocaml-lgpl-linking-exception-45b28dafe2d3f59c703b2663cd62d139586477a0", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-lgpl_3_0_with_ocaml_lgpl_linking_exception-45b28dafe2d3f59c703b2663cd62d139586477a0", "rule_url": null, "matched_text": "LGPL-3.0-only with OCaml-LGPL-linking-exception" } ], - "identifier": "lgpl_3_0_with_ocaml_lgpl_linking_exception-cfc152e7-89df-f8e0-0d25-d5b45a077913" + "identifier": "lgpl_3_0_with_ocaml_lgpl_linking_exception-d5f22af5-e434-a5f7-9f3a-097820a7004f" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/opam/sample5/output.opam.expected b/tests/packagedcode/data/opam/sample5/output.opam.expected index 6cb4f852cf..65d1098711 100644 --- a/tests/packagedcode/data/opam/sample5/output.opam.expected +++ b/tests/packagedcode/data/opam/sample5/output.opam.expected @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/opam/sample6/output.opam.expected b/tests/packagedcode/data/opam/sample6/output.opam.expected index 45f5fd7b96..1664ea4042 100644 --- a/tests/packagedcode/data/opam/sample6/output.opam.expected +++ b/tests/packagedcode/data/opam/sample6/output.opam.expected @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", "rule_identifier": "gpl-2.0_52.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_52.RULE", diff --git a/tests/packagedcode/data/opam/sample7/output.opam.expected b/tests/packagedcode/data/opam/sample7/output.opam.expected index aca3125f52..1428161c1e 100644 --- a/tests/packagedcode/data/opam/sample7/output.opam.expected +++ b/tests/packagedcode/data/opam/sample7/output.opam.expected @@ -50,22 +50,25 @@ "license_detections": [ { "license_expression": "lgpl-3.0 WITH ocaml-lgpl-linking-exception", + "license_expression_spdx": "LGPL-3.0-only WITH OCaml-LGPL-linking-exception", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0 WITH ocaml-lgpl-linking-exception", + "spdx_license_expression": "LGPL-3.0-only WITH OCaml-LGPL-linking-exception", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "lgpl-3.0 WITH ocaml-lgpl-linking-exception", - "rule_identifier": "spdx-license-identifier-lgpl-3.0 WITH ocaml-lgpl-linking-exception-45b28dafe2d3f59c703b2663cd62d139586477a0", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-lgpl_3_0_with_ocaml_lgpl_linking_exception-45b28dafe2d3f59c703b2663cd62d139586477a0", "rule_url": null, "matched_text": "LGPL-3.0-only with OCaml-LGPL-linking-exception" } ], - "identifier": "lgpl_3_0_with_ocaml_lgpl_linking_exception-cfc152e7-89df-f8e0-0d25-d5b45a077913" + "identifier": "lgpl_3_0_with_ocaml_lgpl_linking_exception-d5f22af5-e434-a5f7-9f3a-097820a7004f" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/opam/sample8/output.opam.expected b/tests/packagedcode/data/opam/sample8/output.opam.expected index 153ddf2f7e..83ab49318d 100644 --- a/tests/packagedcode/data/opam/sample8/output.opam.expected +++ b/tests/packagedcode/data/opam/sample8/output.opam.expected @@ -50,22 +50,25 @@ "license_detections": [ { "license_expression": "lgpl-3.0 WITH ocaml-lgpl-linking-exception", + "license_expression_spdx": "LGPL-3.0-only WITH OCaml-LGPL-linking-exception", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0 WITH ocaml-lgpl-linking-exception", + "spdx_license_expression": "LGPL-3.0-only WITH OCaml-LGPL-linking-exception", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "lgpl-3.0 WITH ocaml-lgpl-linking-exception", - "rule_identifier": "spdx-license-identifier-lgpl-3.0 WITH ocaml-lgpl-linking-exception-45b28dafe2d3f59c703b2663cd62d139586477a0", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-lgpl_3_0_with_ocaml_lgpl_linking_exception-45b28dafe2d3f59c703b2663cd62d139586477a0", "rule_url": null, "matched_text": "LGPL-3.0-only with OCaml-LGPL-linking-exception" } ], - "identifier": "lgpl_3_0_with_ocaml_lgpl_linking_exception-cfc152e7-89df-f8e0-0d25-d5b45a077913" + "identifier": "lgpl_3_0_with_ocaml_lgpl_linking_exception-d5f22af5-e434-a5f7-9f3a-097820a7004f" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/phpcomposer/a-timer/composer.json.expected b/tests/packagedcode/data/phpcomposer/a-timer/composer.json.expected index 56e6bc879d..661a34b680 100644 --- a/tests/packagedcode/data/phpcomposer/a-timer/composer.json.expected +++ b/tests/packagedcode/data/phpcomposer/a-timer/composer.json.expected @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/phpcomposer/composer.lock-expected.json b/tests/packagedcode/data/phpcomposer/composer.lock-expected.json index bb41c2d3c7..664f42d19a 100644 --- a/tests/packagedcode/data/phpcomposer/composer.lock-expected.json +++ b/tests/packagedcode/data/phpcomposer/composer.lock-expected.json @@ -414,15 +414,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -542,15 +545,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -660,15 +666,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -788,15 +797,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -926,15 +938,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -1031,15 +1046,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -1239,15 +1257,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -1351,15 +1372,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -1453,15 +1477,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -1561,15 +1588,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -1697,15 +1727,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -1829,15 +1862,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -1934,15 +1970,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -2332,15 +2371,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -2454,15 +2496,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_10.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_10.RULE", @@ -2555,15 +2600,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -2683,15 +2731,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -2771,15 +2822,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_10.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_10.RULE", @@ -2906,15 +2960,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -3151,15 +3208,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -3276,15 +3336,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -3451,15 +3514,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -3556,15 +3622,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -3651,15 +3720,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -3746,15 +3818,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -3851,15 +3926,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -3956,15 +4034,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -4061,15 +4142,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -4156,15 +4240,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -4251,15 +4338,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/phpcomposer/fake/composer.json.expected b/tests/packagedcode/data/phpcomposer/fake/composer.json.expected index 22397ab4e0..a6c6322bd3 100644 --- a/tests/packagedcode/data/phpcomposer/fake/composer.json.expected +++ b/tests/packagedcode/data/phpcomposer/fake/composer.json.expected @@ -43,22 +43,25 @@ "license_detections": [ { "license_expression": "lgpl-2.1 OR gpl-3.0-plus", + "license_expression_spdx": "LGPL-2.1-only OR GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1 OR gpl-3.0-plus", + "spdx_license_expression": "LGPL-2.1-only OR GPL-3.0-or-later", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 10, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "lgpl-2.1 OR gpl-3.0-plus", - "rule_identifier": "spdx-license-identifier-lgpl-2.1 OR gpl-3.0-plus-4447537ab02d07e1156b062adaf7b9e2ba3f55de", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-lgpl_2_1_or_gpl_3_0_plus-4447537ab02d07e1156b062adaf7b9e2ba3f55de", "rule_url": null, "matched_text": "(LGPL-2.1-only or GPL-3.0-or-later)" } ], - "identifier": "lgpl_2_1_or_gpl_3_0_plus-ffc36bf4-cf08-e140-bdd7-23139c43d6ea" + "identifier": "lgpl_2_1_or_gpl_3_0_plus-e395cb31-2a86-daaf-3644-602517008219" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/phpcomposer/fake2/composer.json.expected b/tests/packagedcode/data/phpcomposer/fake2/composer.json.expected index 60ad14b63d..f0733bfa3c 100644 --- a/tests/packagedcode/data/phpcomposer/fake2/composer.json.expected +++ b/tests/packagedcode/data/phpcomposer/fake2/composer.json.expected @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "lgpl-2.1", + "license_expression_spdx": "LGPL-2.1-only", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.1", + "spdx_license_expression": "LGPL-2.1-only", "rule_identifier": "spdx_license_id_lgpl-2.1-only_for_lgpl-2.1.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_lgpl-2.1-only_for_lgpl-2.1.RULE", @@ -62,15 +65,18 @@ }, { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", "rule_identifier": "spdx_license_id_gpl-3.0-or-later_for_gpl-3.0-plus.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-3.0-or-later_for_gpl-3.0-plus.RULE", diff --git a/tests/packagedcode/data/phpcomposer/framework/composer.json.expected b/tests/packagedcode/data/phpcomposer/framework/composer.json.expected index 3d4c89d7f8..e60ebd95d2 100644 --- a/tests/packagedcode/data/phpcomposer/framework/composer.json.expected +++ b/tests/packagedcode/data/phpcomposer/framework/composer.json.expected @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/phpcomposer/modern/composer.json.expected b/tests/packagedcode/data/phpcomposer/modern/composer.json.expected index 8b021a25fb..d1f8c5b670 100644 --- a/tests/packagedcode/data/phpcomposer/modern/composer.json.expected +++ b/tests/packagedcode/data/phpcomposer/modern/composer.json.expected @@ -28,15 +28,18 @@ "license_detections": [ { "license_expression": "proprietary-license", + "license_expression_spdx": "LicenseRef-scancode-proprietary-license", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "proprietary-license", + "spdx_license_expression": "LicenseRef-scancode-proprietary-license", "rule_identifier": "proprietary_8.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary_8.RULE", diff --git a/tests/packagedcode/data/phpcomposer/slim/composer.json.expected b/tests/packagedcode/data/phpcomposer/slim/composer.json.expected index 6b9b4aff61..d381a9952f 100644 --- a/tests/packagedcode/data/phpcomposer/slim/composer.json.expected +++ b/tests/packagedcode/data/phpcomposer/slim/composer.json.expected @@ -64,15 +64,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/plugin/about-package-expected.json b/tests/packagedcode/data/plugin/about-package-expected.json index 7a79fa22a9..a77b35876b 100644 --- a/tests/packagedcode/data/plugin/about-package-expected.json +++ b/tests/packagedcode/data/plugin/about-package-expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "aboutfiles/apipkg.ABOUT", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -111,17 +114,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "aboutfiles/appdirs.ABOUT", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -213,17 +219,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "aboutfiles/apipkg.ABOUT", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } @@ -303,17 +312,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "aboutfiles/appdirs.ABOUT", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "mit", - "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-1b937028f397e2c5fe4eb6a0abd781ab80f9eeff", "rule_url": null, "matched_text": "mit" } diff --git a/tests/packagedcode/data/plugin/bower-package-expected.json b/tests/packagedcode/data/plugin/bower-package-expected.json index e52c20d8de..3a49960fc0 100644 --- a/tests/packagedcode/data/plugin/bower-package-expected.json +++ b/tests/packagedcode/data/plugin/bower-package-expected.json @@ -41,17 +41,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package/bower.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -169,17 +172,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package/bower.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } diff --git a/tests/packagedcode/data/plugin/cargo-package-expected.json b/tests/packagedcode/data/plugin/cargo-package-expected.json index ec7e4cf071..dcd0333054 100644 --- a/tests/packagedcode/data/plugin/cargo-package-expected.json +++ b/tests/packagedcode/data/plugin/cargo-package-expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package/Cargo.toml", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -118,17 +121,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package/Cargo.toml", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } diff --git a/tests/packagedcode/data/plugin/chef-package-expected.json b/tests/packagedcode/data/plugin/chef-package-expected.json index 37e4027f1f..f33ecaa845 100644 --- a/tests/packagedcode/data/plugin/chef-package-expected.json +++ b/tests/packagedcode/data/plugin/chef-package-expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package/metadata.rb", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -149,17 +152,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package/metadata.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -240,17 +246,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package/metadata.rb", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } diff --git a/tests/packagedcode/data/plugin/com-package-expected.json b/tests/packagedcode/data/plugin/com-package-expected.json index 785c57ba07..af222b3492 100644 --- a/tests/packagedcode/data/plugin/com-package-expected.json +++ b/tests/packagedcode/data/plugin/com-package-expected.json @@ -43,17 +43,20 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { - "score": 88.89, + "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", + "from_file": "chcp.com", "start_line": 1, "end_line": 3, + "matcher": "5-undetected", + "score": 88.89, "matched_length": 8, "match_coverage": 100.0, - "matcher": "5-undetected", - "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, + "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "matched_text": "license LegalCopyright: \u00a9 Microsoft Corporation. All rights reserved.\nLegalTrademarks:\nLicense:" } diff --git a/tests/packagedcode/data/plugin/conda-package-expected.json b/tests/packagedcode/data/plugin/conda-package-expected.json index 0779d5be5b..8323e9aea8 100644 --- a/tests/packagedcode/data/plugin/conda-package-expected.json +++ b/tests/packagedcode/data/plugin/conda-package-expected.json @@ -29,17 +29,20 @@ "license_detections": [ { "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", "matches": [ { - "score": 80.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "package/info/recipe.tar-extract/recipe/meta.yaml", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 80.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown_license_other_12.RULE", "rule_relevance": 80, + "rule_identifier": "unknown_license_other_12.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown_license_other_12.RULE", "matched_text": "license Other" } @@ -298,17 +301,20 @@ "license_detections": [ { "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", "matches": [ { - "score": 80.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "package/info/recipe.tar-extract/recipe/meta.yaml", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 80.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown_license_other_12.RULE", "rule_relevance": 80, + "rule_identifier": "unknown_license_other_12.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown_license_other_12.RULE", "matched_text": "license Other" } diff --git a/tests/packagedcode/data/plugin/cran-package-expected.json b/tests/packagedcode/data/plugin/cran-package-expected.json index 828e5cba29..8ff575e123 100644 --- a/tests/packagedcode/data/plugin/cran-package-expected.json +++ b/tests/packagedcode/data/plugin/cran-package-expected.json @@ -44,17 +44,20 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { - "score": 50.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "package/DESCRIPTION", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 50.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, + "rule_identifier": "gpl_bare_word_only.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", "matched_text": "GPL" } @@ -147,17 +150,20 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { - "score": 50.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "package/DESCRIPTION", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 50.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, + "rule_identifier": "gpl_bare_word_only.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", "matched_text": "GPL" } diff --git a/tests/packagedcode/data/plugin/freebsd-package-expected.json b/tests/packagedcode/data/plugin/freebsd-package-expected.json index fbb698f3e1..23d3010335 100644 --- a/tests/packagedcode/data/plugin/freebsd-package-expected.json +++ b/tests/packagedcode/data/plugin/freebsd-package-expected.json @@ -42,17 +42,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "package/+COMPACT_MANIFEST", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_bare_single_word.RULE", "matched_text": "GPLv2" } @@ -128,17 +131,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "package/+COMPACT_MANIFEST", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_bare_single_word.RULE", "matched_text": "GPLv2" } diff --git a/tests/packagedcode/data/plugin/get_installed_packages-expected.json b/tests/packagedcode/data/plugin/get_installed_packages-expected.json index dd9ce2f9a1..ba99fa2ad8 100644 --- a/tests/packagedcode/data/plugin/get_installed_packages-expected.json +++ b/tests/packagedcode/data/plugin/get_installed_packages-expected.json @@ -40,17 +40,20 @@ "license_detections": [ { "license_expression": "x11-fsf", + "license_expression_spdx": "X11-distribute-modifications-variant", "matches": [ { - "score": 100.0, + "license_expression": "x11-fsf", + "spdx_license_expression": "X11-distribute-modifications-variant", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libncurses5/copyright", "start_line": 23, "end_line": 45, + "matcher": "2-aho", + "score": 100.0, "matched_length": 200, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-fsf", - "rule_identifier": "x11-fsf.LICENSE", "rule_relevance": 100, + "rule_identifier": "x11-fsf.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-fsf.LICENSE", "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." } @@ -59,17 +62,20 @@ }, { "license_expression": "x11-xconsortium", + "license_expression_spdx": "X11", "matches": [ { - "score": 100.0, + "license_expression": "x11-xconsortium", + "spdx_license_expression": "X11", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libncurses5/copyright", "start_line": 50, "end_line": 70, + "matcher": "2-aho", + "score": 100.0, "matched_length": 201, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium", - "rule_identifier": "x11-xconsortium_2.RULE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE", "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." } @@ -78,17 +84,20 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libncurses5/copyright", "start_line": 76, "end_line": 98, + "matcher": "2-aho", + "score": 100.0, "matched_length": 213, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_19.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_19.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE", "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." } @@ -97,17 +106,20 @@ }, { "license_expression": "x11-xconsortium", + "license_expression_spdx": "X11", "matches": [ { - "score": 100.0, + "license_expression": "x11-xconsortium", + "spdx_license_expression": "X11", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libncurses5/copyright", "start_line": 105, "end_line": 127, + "matcher": "2-aho", + "score": 100.0, "matched_length": 199, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium", - "rule_identifier": "x11-xconsortium_41.RULE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_41.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_41.RULE", "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." } @@ -212,17 +224,20 @@ "license_detections": [ { "license_expression": "x11-fsf", + "license_expression_spdx": "X11-distribute-modifications-variant", "matches": [ { - "score": 100.0, + "license_expression": "x11-fsf", + "spdx_license_expression": "X11-distribute-modifications-variant", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libncurses5/copyright", "start_line": 23, "end_line": 45, + "matcher": "2-aho", + "score": 100.0, "matched_length": 200, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-fsf", - "rule_identifier": "x11-fsf.LICENSE", "rule_relevance": 100, + "rule_identifier": "x11-fsf.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/x11-fsf.LICENSE", "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." } @@ -231,17 +246,20 @@ }, { "license_expression": "x11-xconsortium", + "license_expression_spdx": "X11", "matches": [ { - "score": 100.0, + "license_expression": "x11-xconsortium", + "spdx_license_expression": "X11", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libncurses5/copyright", "start_line": 50, "end_line": 70, + "matcher": "2-aho", + "score": 100.0, "matched_length": 201, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium", - "rule_identifier": "x11-xconsortium_2.RULE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_2.RULE", "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." } @@ -250,17 +268,20 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libncurses5/copyright", "start_line": 76, "end_line": 98, + "matcher": "2-aho", + "score": 100.0, "matched_length": 213, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_19.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_19.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_19.RULE", "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." } @@ -269,17 +290,20 @@ }, { "license_expression": "x11-xconsortium", + "license_expression_spdx": "X11", "matches": [ { - "score": 100.0, + "license_expression": "x11-xconsortium", + "spdx_license_expression": "X11", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libncurses5/copyright", "start_line": 105, "end_line": 127, + "matcher": "2-aho", + "score": 100.0, "matched_length": 199, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "x11-xconsortium", - "rule_identifier": "x11-xconsortium_41.RULE", "rule_relevance": 100, + "rule_identifier": "x11-xconsortium_41.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/x11-xconsortium_41.RULE", "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." } @@ -446,43 +470,50 @@ "other_license_detections": [ { "license_expression": "lgpl-2.1-plus AND lgpl-2.1", + "license_expression_spdx": "LGPL-2.1-or-later AND LGPL-2.1-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libndp0/copyright", "start_line": 13, "end_line": 13, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", "matched_text": "License: lgpl-2.1+" }, { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libndp0/copyright", "start_line": 14, "end_line": 26, + "matcher": "2-aho", + "score": 100.0, "matched_length": 117, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_93.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_93.RULE", "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" }, { - "score": 100.0, + "license_expression": "lgpl-2.1", + "spdx_license_expression": "LGPL-2.1-only", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libndp0/copyright", "start_line": 24, "end_line": 30, + "matcher": "2-aho", + "score": 100.0, "matched_length": 64, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1", - "rule_identifier": "lgpl-2.1_314.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1_314.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_314.RULE", "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'." } @@ -569,43 +600,50 @@ "other_license_detections": [ { "license_expression": "lgpl-2.1-plus AND lgpl-2.1", + "license_expression_spdx": "LGPL-2.1-or-later AND LGPL-2.1-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libndp0/copyright", "start_line": 13, "end_line": 13, + "matcher": "1-hash", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_108.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_108.RULE", "matched_text": "License: lgpl-2.1+" }, { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libndp0/copyright", "start_line": 14, "end_line": 26, + "matcher": "2-aho", + "score": 100.0, "matched_length": 117, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_93.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_93.RULE", "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" }, { - "score": 100.0, + "license_expression": "lgpl-2.1", + "spdx_license_expression": "LGPL-2.1-only", + "from_file": "basic-rootfs.tar.gz/usr/share/doc/libndp0/copyright", "start_line": 24, "end_line": 30, + "matcher": "2-aho", + "score": 100.0, "matched_length": 64, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1", - "rule_identifier": "lgpl-2.1_314.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1_314.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_314.RULE", "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'." } diff --git a/tests/packagedcode/data/plugin/haxe-package-expected.json b/tests/packagedcode/data/plugin/haxe-package-expected.json index 726bd08f40..d76124221a 100644 --- a/tests/packagedcode/data/plugin/haxe-package-expected.json +++ b/tests/packagedcode/data/plugin/haxe-package-expected.json @@ -42,17 +42,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package/haxelib.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -128,17 +131,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package/haxelib.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } diff --git a/tests/packagedcode/data/plugin/maven-package-expected.json b/tests/packagedcode/data/plugin/maven-package-expected.json index 3d2d93ef99..801649dea7 100644 --- a/tests/packagedcode/data/plugin/maven-package-expected.json +++ b/tests/packagedcode/data/plugin/maven-package-expected.json @@ -221,30 +221,35 @@ "license_detections": [ { "license_expression": "public-domain AND gpl-1.0-plus", + "license_expression_spdx": "LicenseRef-scancode-public-domain AND GPL-1.0-or-later", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "maven2/aopalliance-1.0/aopalliance-1.0.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "- name: Public Domain" }, { - "score": 50.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "maven2/aopalliance-1.0/aopalliance-1.0.pom", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 50.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, + "rule_identifier": "gpl_bare_word_only.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", "matched_text": "- name: GPL" } @@ -750,17 +755,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/commons-validator-1.2.0/commons-validator-1.2.0.pom", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1321.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1321.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1321.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt" } @@ -979,17 +987,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "maven2/findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_1160.RULE", "rule_relevance": 100, + "rule_identifier": "mit_1160.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1160.RULE", "matched_text": "license - name: MIT" } @@ -1151,30 +1162,35 @@ "license_detections": [ { "license_expression": "epl-1.0", + "license_expression_spdx": "EPL-1.0", "matches": [ { - "score": 100.0, + "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", + "from_file": "maven2/foo-pom/foo-pom.xml", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "epl-1.0", - "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, + "rule_identifier": "epl-1.0_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", "matched_text": "- name: Eclipse Public License - v 1.0" }, { - "score": 100.0, + "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", + "from_file": "maven2/foo-pom/foo-pom.xml", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 8, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "epl-1.0", - "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, + "rule_identifier": "epl-1.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", "matched_text": " url: http://www.eclipse.org/legal/epl-v10.html" } @@ -1365,30 +1381,35 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND LGPL-2.1-or-later", "matches": [ { - "score": 75.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 75.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl_bare_single_word.RULE", "rule_relevance": 75, + "rule_identifier": "lgpl_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_bare_single_word.RULE", "matched_text": "- name: LGPL" }, { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl_7.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl_7.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_7.RULE", "matched_text": " url: http://www.gnu.org/copyleft/lesser.html" } @@ -1454,17 +1475,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/log4j/log4j-pom.xml", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_40.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } @@ -1522,30 +1546,35 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "maven2/logback-access/logback-access.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", "matched_text": "- name: GNU Lesser General Public License" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "maven2/logback-access/logback-access.pom", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl_3.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl_3.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_3.RULE", "matched_text": " url: http://www.gnu.org/licenses/lgpl.html" } @@ -2006,17 +2035,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/spring-2.5.4/spring-2.5.4.pom", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_40.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } @@ -2082,17 +2114,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/spring-orm-2.5.3/spring-orm-2.5.3.pom", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_40.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } @@ -2158,17 +2193,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_40.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } @@ -6618,30 +6656,35 @@ "license_detections": [ { "license_expression": "public-domain AND gpl-1.0-plus", + "license_expression_spdx": "LicenseRef-scancode-public-domain AND GPL-1.0-or-later", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "maven2/aopalliance-1.0/aopalliance-1.0.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "- name: Public Domain" }, { - "score": 50.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "maven2/aopalliance-1.0/aopalliance-1.0.pom", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 50.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, + "rule_identifier": "gpl_bare_word_only.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", "matched_text": "- name: GPL" } @@ -7300,17 +7343,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/commons-validator-1.2.0/commons-validator-1.2.0.pom", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1321.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1321.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1321.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt" } @@ -7870,17 +7916,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "maven2/findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_1160.RULE", "rule_relevance": 100, + "rule_identifier": "mit_1160.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1160.RULE", "matched_text": "license - name: MIT" } @@ -8364,30 +8413,35 @@ "license_detections": [ { "license_expression": "epl-1.0", + "license_expression_spdx": "EPL-1.0", "matches": [ { - "score": 100.0, + "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", + "from_file": "maven2/foo-pom/foo-pom.xml", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "epl-1.0", - "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, + "rule_identifier": "epl-1.0_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", "matched_text": "- name: Eclipse Public License - v 1.0" }, { - "score": 100.0, + "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", + "from_file": "maven2/foo-pom/foo-pom.xml", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 8, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "epl-1.0", - "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, + "rule_identifier": "epl-1.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", "matched_text": " url: http://www.eclipse.org/legal/epl-v10.html" } @@ -8810,30 +8864,35 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND LGPL-2.1-or-later", "matches": [ { - "score": 75.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 75.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl_bare_single_word.RULE", "rule_relevance": 75, + "rule_identifier": "lgpl_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_bare_single_word.RULE", "matched_text": "- name: LGPL" }, { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl_7.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl_7.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_7.RULE", "matched_text": " url: http://www.gnu.org/copyleft/lesser.html" } @@ -8973,17 +9032,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/log4j/log4j-pom.xml", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_40.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } @@ -9135,30 +9197,35 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "maven2/logback-access/logback-access.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", "matched_text": "- name: GNU Lesser General Public License" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "maven2/logback-access/logback-access.pom", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl_3.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl_3.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_3.RULE", "matched_text": " url: http://www.gnu.org/licenses/lgpl.html" } @@ -10426,17 +10493,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/spring-2.5.4/spring-2.5.4.pom", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_40.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } @@ -11186,17 +11256,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/spring-orm-2.5.3/spring-orm-2.5.3.pom", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_40.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } @@ -11456,17 +11529,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_40.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } diff --git a/tests/packagedcode/data/plugin/maven-package-with-license-expected.json b/tests/packagedcode/data/plugin/maven-package-with-license-expected.json index 3d2d93ef99..801649dea7 100644 --- a/tests/packagedcode/data/plugin/maven-package-with-license-expected.json +++ b/tests/packagedcode/data/plugin/maven-package-with-license-expected.json @@ -221,30 +221,35 @@ "license_detections": [ { "license_expression": "public-domain AND gpl-1.0-plus", + "license_expression_spdx": "LicenseRef-scancode-public-domain AND GPL-1.0-or-later", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "maven2/aopalliance-1.0/aopalliance-1.0.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "- name: Public Domain" }, { - "score": 50.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "maven2/aopalliance-1.0/aopalliance-1.0.pom", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 50.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, + "rule_identifier": "gpl_bare_word_only.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", "matched_text": "- name: GPL" } @@ -750,17 +755,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/commons-validator-1.2.0/commons-validator-1.2.0.pom", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1321.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1321.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1321.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt" } @@ -979,17 +987,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "maven2/findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_1160.RULE", "rule_relevance": 100, + "rule_identifier": "mit_1160.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1160.RULE", "matched_text": "license - name: MIT" } @@ -1151,30 +1162,35 @@ "license_detections": [ { "license_expression": "epl-1.0", + "license_expression_spdx": "EPL-1.0", "matches": [ { - "score": 100.0, + "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", + "from_file": "maven2/foo-pom/foo-pom.xml", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "epl-1.0", - "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, + "rule_identifier": "epl-1.0_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", "matched_text": "- name: Eclipse Public License - v 1.0" }, { - "score": 100.0, + "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", + "from_file": "maven2/foo-pom/foo-pom.xml", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 8, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "epl-1.0", - "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, + "rule_identifier": "epl-1.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", "matched_text": " url: http://www.eclipse.org/legal/epl-v10.html" } @@ -1365,30 +1381,35 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND LGPL-2.1-or-later", "matches": [ { - "score": 75.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 75.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl_bare_single_word.RULE", "rule_relevance": 75, + "rule_identifier": "lgpl_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_bare_single_word.RULE", "matched_text": "- name: LGPL" }, { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl_7.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl_7.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_7.RULE", "matched_text": " url: http://www.gnu.org/copyleft/lesser.html" } @@ -1454,17 +1475,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/log4j/log4j-pom.xml", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_40.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } @@ -1522,30 +1546,35 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "maven2/logback-access/logback-access.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", "matched_text": "- name: GNU Lesser General Public License" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "maven2/logback-access/logback-access.pom", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl_3.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl_3.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_3.RULE", "matched_text": " url: http://www.gnu.org/licenses/lgpl.html" } @@ -2006,17 +2035,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/spring-2.5.4/spring-2.5.4.pom", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_40.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } @@ -2082,17 +2114,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/spring-orm-2.5.3/spring-orm-2.5.3.pom", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_40.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } @@ -2158,17 +2193,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_40.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } @@ -6618,30 +6656,35 @@ "license_detections": [ { "license_expression": "public-domain AND gpl-1.0-plus", + "license_expression_spdx": "LicenseRef-scancode-public-domain AND GPL-1.0-or-later", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "maven2/aopalliance-1.0/aopalliance-1.0.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "- name: Public Domain" }, { - "score": 50.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "maven2/aopalliance-1.0/aopalliance-1.0.pom", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 50.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, + "rule_identifier": "gpl_bare_word_only.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", "matched_text": "- name: GPL" } @@ -7300,17 +7343,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/commons-validator-1.2.0/commons-validator-1.2.0.pom", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 11, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1321.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1321.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1321.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: /LICENSE.txt" } @@ -7870,17 +7916,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "maven2/findbugs-maven-plugin-1.1.1/findbugs-maven-plugin-1.1.1.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_1160.RULE", "rule_relevance": 100, + "rule_identifier": "mit_1160.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_1160.RULE", "matched_text": "license - name: MIT" } @@ -8364,30 +8413,35 @@ "license_detections": [ { "license_expression": "epl-1.0", + "license_expression_spdx": "EPL-1.0", "matches": [ { - "score": 100.0, + "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", + "from_file": "maven2/foo-pom/foo-pom.xml", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "epl-1.0", - "rule_identifier": "epl-1.0_4.RULE", "rule_relevance": 100, + "rule_identifier": "epl-1.0_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_4.RULE", "matched_text": "- name: Eclipse Public License - v 1.0" }, { - "score": 100.0, + "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", + "from_file": "maven2/foo-pom/foo-pom.xml", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 8, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "epl-1.0", - "rule_identifier": "epl-1.0.RULE", "rule_relevance": 100, + "rule_identifier": "epl-1.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0.RULE", "matched_text": " url: http://www.eclipse.org/legal/epl-v10.html" } @@ -8810,30 +8864,35 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND LGPL-2.1-or-later", "matches": [ { - "score": 75.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 75.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl_bare_single_word.RULE", "rule_relevance": 75, + "rule_identifier": "lgpl_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_bare_single_word.RULE", "matched_text": "- name: LGPL" }, { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "maven2/jrecordbind-2.3.4/jrecordbind-2.3.4.pom", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl_7.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl_7.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_7.RULE", "matched_text": " url: http://www.gnu.org/copyleft/lesser.html" } @@ -8973,17 +9032,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/log4j/log4j-pom.xml", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_40.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } @@ -9135,30 +9197,35 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "maven2/logback-access/logback-access.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_87.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_87.RULE", "matched_text": "- name: GNU Lesser General Public License" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "maven2/logback-access/logback-access.pom", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 7, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl_3.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl_3.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_3.RULE", "matched_text": " url: http://www.gnu.org/licenses/lgpl.html" } @@ -10426,17 +10493,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/spring-2.5.4/spring-2.5.4.pom", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_40.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } @@ -11186,17 +11256,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/spring-orm-2.5.3/spring-orm-2.5.3.pom", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_40.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } @@ -11456,17 +11529,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "maven2/spring-webmvc-2.5.3/spring-webmvc-2.5.3.pom", "start_line": 1, "end_line": 2, + "matcher": "1-hash", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_40.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_40.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_40.RULE", "matched_text": "- name: The Apache Software License, Version 2.0\n url: http://www.apache.org/licenses/LICENSE-2.0.txt" } diff --git a/tests/packagedcode/data/plugin/mui-package-expected.json b/tests/packagedcode/data/plugin/mui-package-expected.json index 83ae8b8f69..90a0506b13 100644 --- a/tests/packagedcode/data/plugin/mui-package-expected.json +++ b/tests/packagedcode/data/plugin/mui-package-expected.json @@ -43,17 +43,20 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { - "score": 88.89, + "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", + "from_file": "clfs.sys.mui", "start_line": 1, "end_line": 3, + "matcher": "5-undetected", + "score": 88.89, "matched_length": 8, "match_coverage": 100.0, - "matcher": "5-undetected", - "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, + "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "matched_text": "license LegalCopyright: \u00a9 Microsoft Corporation. All rights reserved.\nLegalTrademarks:\nLicense:" } diff --git a/tests/packagedcode/data/plugin/mun-package-expected.json b/tests/packagedcode/data/plugin/mun-package-expected.json index 0602ecff54..dfc7072e1c 100644 --- a/tests/packagedcode/data/plugin/mun-package-expected.json +++ b/tests/packagedcode/data/plugin/mun-package-expected.json @@ -43,17 +43,20 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { - "score": 88.89, + "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", + "from_file": "crypt32.dll.mun", "start_line": 1, "end_line": 3, + "matcher": "5-undetected", + "score": 88.89, "matched_length": 8, "match_coverage": 100.0, - "matcher": "5-undetected", - "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, + "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "matched_text": "license LegalCopyright: \u00a9 Microsoft Corporation. All rights reserved.\nLegalTrademarks:\nLicense:" } diff --git a/tests/packagedcode/data/plugin/nuget-package-expected.json b/tests/packagedcode/data/plugin/nuget-package-expected.json index 764b31e348..03a66ed0f5 100644 --- a/tests/packagedcode/data/plugin/nuget-package-expected.json +++ b/tests/packagedcode/data/plugin/nuget-package-expected.json @@ -44,17 +44,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package/Castle.Core.nuspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_20.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_20.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_20.RULE", "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.html" } @@ -303,17 +306,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package/Castle.Core.nuspec", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_20.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_20.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_20.RULE", "matched_text": "http://www.apache.org/licenses/LICENSE-2.0.html" } diff --git a/tests/packagedcode/data/plugin/phpcomposer-package-expected.json b/tests/packagedcode/data/plugin/phpcomposer-package-expected.json index 6ec96e0d10..3fbaeb4aec 100644 --- a/tests/packagedcode/data/plugin/phpcomposer-package-expected.json +++ b/tests/packagedcode/data/plugin/phpcomposer-package-expected.json @@ -44,17 +44,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package/composer.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -175,17 +178,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package/composer.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } diff --git a/tests/packagedcode/data/plugin/python-package-expected.json b/tests/packagedcode/data/plugin/python-package-expected.json index eb08a79046..8917e1964b 100644 --- a/tests/packagedcode/data/plugin/python-package-expected.json +++ b/tests/packagedcode/data/plugin/python-package-expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "bsd-simplified", + "license_expression_spdx": "BSD-2-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-simplified", + "spdx_license_expression": "BSD-2-Clause", + "from_file": "pypi/arpy/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-simplified", - "rule_identifier": "bsd-simplified_150.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-simplified_150.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_150.RULE", "matched_text": "Simplified BSD" } @@ -119,17 +122,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi/atomicwrites/atomicwrites-1.2.1-py2.py3-none-any.whl", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -138,17 +144,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi/atomicwrites/atomicwrites-1.2.1-py2.py3-none-any.whl", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } @@ -204,17 +213,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi/Six/metadata.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -284,17 +296,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi/Six/Six.dist-info/METADATA", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -303,17 +318,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi/Six/Six.dist-info/METADATA", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } @@ -377,17 +395,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "pypi/TicketImport/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -799,17 +820,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi/Six/Six.dist-info/METADATA", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -818,17 +842,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi/Six/Six.dist-info/METADATA", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } @@ -890,17 +917,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi/Six/metadata.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -977,17 +1007,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "pypi/TicketImport/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -1064,17 +1097,20 @@ "license_detections": [ { "license_expression": "bsd-simplified", + "license_expression_spdx": "BSD-2-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-simplified", + "spdx_license_expression": "BSD-2-Clause", + "from_file": "pypi/arpy/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-simplified", - "rule_identifier": "bsd-simplified_150.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-simplified_150.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_150.RULE", "matched_text": "Simplified BSD" } @@ -1380,17 +1416,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi/atomicwrites/atomicwrites-1.2.1-py2.py3-none-any.whl", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -1399,17 +1438,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pypi/atomicwrites/atomicwrites-1.2.1-py2.py3-none-any.whl", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } diff --git a/tests/packagedcode/data/plugin/rpm-package-expected.json b/tests/packagedcode/data/plugin/rpm-package-expected.json index 5c8ed5fbbb..353f21d6df 100644 --- a/tests/packagedcode/data/plugin/rpm-package-expected.json +++ b/tests/packagedcode/data/plugin/rpm-package-expected.json @@ -29,17 +29,20 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { - "score": 50.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "package/alfandega-2.0-1.7.3.noarch.rpm", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 50.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, + "rule_identifier": "gpl_bare_word_only.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", "matched_text": "GPL" } @@ -104,17 +107,20 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { - "score": 50.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "package/alfandega-2.0-1.7.3.noarch.rpm", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 50.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, + "rule_identifier": "gpl_bare_word_only.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", "matched_text": "GPL" } diff --git a/tests/packagedcode/data/plugin/rubygems-package-expected.json b/tests/packagedcode/data/plugin/rubygems-package-expected.json index ee47c0b3f0..7f5c3717e1 100644 --- a/tests/packagedcode/data/plugin/rubygems-package-expected.json +++ b/tests/packagedcode/data/plugin/rubygems-package-expected.json @@ -58,17 +58,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package/m2r-2.1.0.gem", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -343,17 +346,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "package/m2r-2.1.0.gem", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } diff --git a/tests/packagedcode/data/plugin/sys-package-expected.json b/tests/packagedcode/data/plugin/sys-package-expected.json index e851355c05..24053b6b66 100644 --- a/tests/packagedcode/data/plugin/sys-package-expected.json +++ b/tests/packagedcode/data/plugin/sys-package-expected.json @@ -43,17 +43,20 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { - "score": 88.89, + "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", + "from_file": "tbs.sys", "start_line": 1, "end_line": 3, + "matcher": "5-undetected", + "score": 88.89, "matched_length": 8, "match_coverage": 100.0, - "matcher": "5-undetected", - "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, + "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "matched_text": "license LegalCopyright: \u00a9 Microsoft Corporation. All rights reserved.\nLegalTrademarks:\nLicense:" } diff --git a/tests/packagedcode/data/plugin/tlb-package-expected.json b/tests/packagedcode/data/plugin/tlb-package-expected.json index 544ee1e1dc..3d018a9af0 100644 --- a/tests/packagedcode/data/plugin/tlb-package-expected.json +++ b/tests/packagedcode/data/plugin/tlb-package-expected.json @@ -43,17 +43,20 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { - "score": 88.89, + "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", + "from_file": "stdole2.tlb", "start_line": 1, "end_line": 3, + "matcher": "5-undetected", + "score": 88.89, "matched_length": 8, "match_coverage": 100.0, - "matcher": "5-undetected", - "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, + "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "matched_text": "license LegalCopyright: \u00a9 Microsoft Corporation. All rights reserved.\nLegalTrademarks:\nLicense:" } diff --git a/tests/packagedcode/data/plugin/win_pe-package-expected.json b/tests/packagedcode/data/plugin/win_pe-package-expected.json index 3801abea23..47f13396e1 100644 --- a/tests/packagedcode/data/plugin/win_pe-package-expected.json +++ b/tests/packagedcode/data/plugin/win_pe-package-expected.json @@ -43,17 +43,20 @@ "license_detections": [ { "license_expression": "bsd-simplified-darwin", + "license_expression_spdx": "LicenseRef-scancode-bsd-simplified-darwin", "matches": [ { - "score": 100.0, + "license_expression": "bsd-simplified-darwin", + "spdx_license_expression": "LicenseRef-scancode-bsd-simplified-darwin", + "from_file": "file.exe", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 217, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-simplified-darwin", - "rule_identifier": "bsd-simplified-darwin.LICENSE", "rule_relevance": 100, + "rule_identifier": "bsd-simplified-darwin.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-simplified-darwin.LICENSE", "matched_text": "Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995. Software written by Ian F. Darwin and others; maintained 1994-2004 Christos Zoulas. This software is not subject to any export provision of the United States Department of Commerce, and may be exported to any country or planet. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice immediately at the beginning of the file, without modification, this list of conditions, and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." } diff --git a/tests/packagedcode/data/plugin/winmd-package-expected.json b/tests/packagedcode/data/plugin/winmd-package-expected.json index c87bc88f96..614c5566bf 100644 --- a/tests/packagedcode/data/plugin/winmd-package-expected.json +++ b/tests/packagedcode/data/plugin/winmd-package-expected.json @@ -43,17 +43,20 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { - "score": 88.89, + "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", + "from_file": "Windows.AI.winmd", "start_line": 1, "end_line": 3, + "matcher": "5-undetected", + "score": 88.89, "matched_length": 8, "match_coverage": 100.0, - "matcher": "5-undetected", - "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, + "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "matched_text": "license LegalCopyright: \u00a9 Microsoft Corporation. All rights reserved.\nLegalTrademarks:\nLicense:" } diff --git a/tests/packagedcode/data/pypi/archive/atomicwrites-1.2.1-py2.py3-none-any.whl-expected.json b/tests/packagedcode/data/pypi/archive/atomicwrites-1.2.1-py2.py3-none-any.whl-expected.json index 6538e4c96d..47facbddb3 100644 --- a/tests/packagedcode/data/pypi/archive/atomicwrites-1.2.1-py2.py3-none-any.whl-expected.json +++ b/tests/packagedcode/data/pypi/archive/atomicwrites-1.2.1-py2.py3-none-any.whl-expected.json @@ -44,15 +44,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -63,15 +66,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/archive/commoncode-21.5.12-py3.9.egg-expected.json b/tests/packagedcode/data/pypi/archive/commoncode-21.5.12-py3.9.egg-expected.json index a3c3690ce8..2a870122af 100644 --- a/tests/packagedcode/data/pypi/archive/commoncode-21.5.12-py3.9.egg-expected.json +++ b/tests/packagedcode/data/pypi/archive/commoncode-21.5.12-py3.9.egg-expected.json @@ -45,15 +45,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", diff --git a/tests/packagedcode/data/pypi/develop/scancode_toolkit.egg-info-expected.json b/tests/packagedcode/data/pypi/develop/scancode_toolkit.egg-info-expected.json index 08a6b8e142..ae7ba94fa5 100644 --- a/tests/packagedcode/data/pypi/develop/scancode_toolkit.egg-info-expected.json +++ b/tests/packagedcode/data/pypi/develop/scancode_toolkit.egg-info-expected.json @@ -56,22 +56,25 @@ "license_detections": [ { "license_expression": "apache-2.0 AND cc-by-4.0 AND other-permissive AND other-copyleft", + "license_expression_spdx": "Apache-2.0 AND CC-BY-4.0 AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-other-copyleft", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0 AND cc-by-4.0 AND other-permissive AND other-copyleft", + "spdx_license_expression": "Apache-2.0 AND CC-BY-4.0 AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-other-copyleft", + "from_file": null, "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "apache-2.0 AND cc-by-4.0 AND other-permissive AND other-copyleft", - "rule_identifier": "spdx-license-identifier-apache-2.0 AND cc-by-4.0 AND other-permissive AND other-copyleft-c7657a2c18db6a7df47030f236ebed3021446a79", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-apache_2_0_and_cc_by_4_0_and_other_permissive_and_other_copyleft-c7657a2c18db6a7df47030f236ebed3021446a79", "rule_url": null, "matched_text": "Apache-2.0 AND CC-BY-4.0 AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-other-copyleft" } ], - "identifier": "apache_2_0_and_cc_by_4_0_and_other_permissive_and_other_copyleft-b684b1e7-0568-cb99-16b9-e4b66bbf5120" + "identifier": "apache_2_0_and_cc_by_4_0_and_other_permissive_and_other_copyleft-22959186-4062-af61-0401-671dffe8beea" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/pypi/dist-info-metadata/METADATA-expected.json b/tests/packagedcode/data/pypi/dist-info-metadata/METADATA-expected.json index 4e11cf188f..efeffee60d 100644 --- a/tests/packagedcode/data/pypi/dist-info-metadata/METADATA-expected.json +++ b/tests/packagedcode/data/pypi/dist-info-metadata/METADATA-expected.json @@ -42,15 +42,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -61,15 +64,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/metadata/PKG-INFO-expected.json b/tests/packagedcode/data/pypi/metadata/PKG-INFO-expected.json index 3256e0215d..561f63b19b 100644 --- a/tests/packagedcode/data/pypi/metadata/PKG-INFO-expected.json +++ b/tests/packagedcode/data/pypi/metadata/PKG-INFO-expected.json @@ -45,15 +45,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/metadata/v10/PKG-INFO-expected.json b/tests/packagedcode/data/pypi/metadata/v10/PKG-INFO-expected.json index 24816226e3..a47e1e1729 100644 --- a/tests/packagedcode/data/pypi/metadata/v10/PKG-INFO-expected.json +++ b/tests/packagedcode/data/pypi/metadata/v10/PKG-INFO-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", "rule_identifier": "package-manifest-unknown-623aa537047267a404620d70ae00f1448b424248", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-623aa537047267a404620d70ae00f1448b424248", diff --git a/tests/packagedcode/data/pypi/metadata/v11/PKG-INFO-expected.json b/tests/packagedcode/data/pypi/metadata/v11/PKG-INFO-expected.json index 3256e0215d..561f63b19b 100644 --- a/tests/packagedcode/data/pypi/metadata/v11/PKG-INFO-expected.json +++ b/tests/packagedcode/data/pypi/metadata/v11/PKG-INFO-expected.json @@ -45,15 +45,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/metadata/v12/PKG-INFO-expected.json b/tests/packagedcode/data/pypi/metadata/v12/PKG-INFO-expected.json index 1dd108c21c..256a90d3c6 100644 --- a/tests/packagedcode/data/pypi/metadata/v12/PKG-INFO-expected.json +++ b/tests/packagedcode/data/pypi/metadata/v12/PKG-INFO-expected.json @@ -57,15 +57,18 @@ "license_detections": [ { "license_expression": "python", + "license_expression_spdx": "Python-2.0", "matches": [ { "score": 90.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "python", + "spdx_license_expression": "Python-2.0", "rule_identifier": "python_26.RULE", "rule_relevance": 90, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/python_26.RULE", @@ -76,15 +79,18 @@ }, { "license_expression": "python", + "license_expression_spdx": "Python-2.0", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 7, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "python", + "spdx_license_expression": "Python-2.0", "rule_identifier": "pypi_python_software_foundation_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_python_software_foundation_license.RULE", diff --git a/tests/packagedcode/data/pypi/metadata/v20/PKG-INFO-expected.json b/tests/packagedcode/data/pypi/metadata/v20/PKG-INFO-expected.json index 80c2791470..018e7c970f 100644 --- a/tests/packagedcode/data/pypi/metadata/v20/PKG-INFO-expected.json +++ b/tests/packagedcode/data/pypi/metadata/v20/PKG-INFO-expected.json @@ -57,15 +57,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", @@ -76,15 +79,18 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 95.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", diff --git a/tests/packagedcode/data/pypi/metadata/v21/PKG-INFO-expected.json b/tests/packagedcode/data/pypi/metadata/v21/PKG-INFO-expected.json index 4ad8e7d9f7..472036703e 100644 --- a/tests/packagedcode/data/pypi/metadata/v21/PKG-INFO-expected.json +++ b/tests/packagedcode/data/pypi/metadata/v21/PKG-INFO-expected.json @@ -50,15 +50,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 95.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", diff --git a/tests/packagedcode/data/pypi/more_setup.py/flask_setup.py-expected.json b/tests/packagedcode/data/pypi/more_setup.py/flask_setup.py-expected.json index bb4563727a..2991fbd6ae 100644 --- a/tests/packagedcode/data/pypi/more_setup.py/flask_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/more_setup.py/flask_setup.py-expected.json @@ -60,15 +60,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "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", @@ -79,15 +82,18 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "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", diff --git a/tests/packagedcode/data/pypi/more_setup.py/pyyaml_setup.py-expected.json b/tests/packagedcode/data/pypi/more_setup.py/pyyaml_setup.py-expected.json index 742bb22528..d7e4255acf 100644 --- a/tests/packagedcode/data/pypi/more_setup.py/pyyaml_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/more_setup.py/pyyaml_setup.py-expected.json @@ -48,15 +48,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -67,15 +70,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/more_setup.py/requests_setup.py-expected.json b/tests/packagedcode/data/pypi/more_setup.py/requests_setup.py-expected.json index e0bff94b2a..25a3eb6b46 100644 --- a/tests/packagedcode/data/pypi/more_setup.py/requests_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/more_setup.py/requests_setup.py-expected.json @@ -42,15 +42,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 95.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", diff --git a/tests/packagedcode/data/pypi/more_setup.py/sqlalchemy_setup.py-expected.json b/tests/packagedcode/data/pypi/more_setup.py/sqlalchemy_setup.py-expected.json index 21764ea19f..4bb938fb50 100644 --- a/tests/packagedcode/data/pypi/more_setup.py/sqlalchemy_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/more_setup.py/sqlalchemy_setup.py-expected.json @@ -45,15 +45,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_14.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", @@ -64,15 +67,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/more_setup.py/unpack_kwargs_setup.py-expected.json b/tests/packagedcode/data/pypi/more_setup.py/unpack_kwargs_setup.py-expected.json index 7b41032d6c..5110ec9649 100644 --- a/tests/packagedcode/data/pypi/more_setup.py/unpack_kwargs_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/more_setup.py/unpack_kwargs_setup.py-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/pypi/setup.cfg/wheel-0.34.2/setup.cfg-expected.json b/tests/packagedcode/data/pypi/setup.cfg/wheel-0.34.2/setup.cfg-expected.json index 6e5c7c4c2b..e3f5652797 100644 --- a/tests/packagedcode/data/pypi/setup.cfg/wheel-0.34.2/setup.cfg-expected.json +++ b/tests/packagedcode/data/pypi/setup.cfg/wheel-0.34.2/setup.cfg-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/pypi/setup.py-name-or-no-name/with_name-setup.py.expected.json b/tests/packagedcode/data/pypi/setup.py-name-or-no-name/with_name-setup.py.expected.json index 6c8fa6f080..fe9c1cc45b 100644 --- a/tests/packagedcode/data/pypi/setup.py-name-or-no-name/with_name-setup.py.expected.json +++ b/tests/packagedcode/data/pypi/setup.py-name-or-no-name/with_name-setup.py.expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "bsd-simplified", + "license_expression_spdx": "BSD-2-Clause", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-simplified", + "spdx_license_expression": "BSD-2-Clause", "rule_identifier": "bsd-simplified_150.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_150.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py-not-win/arpy_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-not-win/arpy_setup.py-expected.json index 6c8fa6f080..fe9c1cc45b 100644 --- a/tests/packagedcode/data/pypi/setup.py-not-win/arpy_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-not-win/arpy_setup.py-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "bsd-simplified", + "license_expression_spdx": "BSD-2-Clause", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-simplified", + "spdx_license_expression": "BSD-2-Clause", "rule_identifier": "bsd-simplified_150.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-simplified_150.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/cdp-seattle-backend-1.0.0/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/cdp-seattle-backend-1.0.0/setup.py-expected.json index a71a9411f8..94693b4209 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/cdp-seattle-backend-1.0.0/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/cdp-seattle-backend-1.0.0/setup.py-expected.json @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_14.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", @@ -62,15 +65,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/certifi-2020.6.20/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/certifi-2020.6.20/setup.py-expected.json index 9d4fcf8096..3fb1bd298d 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/certifi-2020.6.20/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/certifi-2020.6.20/setup.py-expected.json @@ -48,15 +48,18 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", "rule_identifier": "spdx_license_id_mpl-2.0_for_mpl-2.0.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_mpl-2.0_for_mpl-2.0.RULE", @@ -67,15 +70,18 @@ }, { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 11, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", "rule_identifier": "pypi_mozilla_public_license_2_0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mozilla_public_license_2_0.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/cffi-1.14.0/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/cffi-1.14.0/setup.py-expected.json index 87c0f38d68..5ce51b6607 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/cffi-1.14.0/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/cffi-1.14.0/setup.py-expected.json @@ -49,15 +49,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -68,15 +71,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/chardet-3.0.4/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/chardet-3.0.4/setup.py-expected.json index 7a969a2bc5..641157f93c 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/chardet-3.0.4/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/chardet-3.0.4/setup.py-expected.json @@ -61,15 +61,18 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { "score": 75.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", "rule_identifier": "lgpl_bare_single_word.RULE", "rule_relevance": 75, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl_bare_single_word.RULE", @@ -80,15 +83,18 @@ }, { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 11, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", "rule_identifier": "pypi_gnu_library_or_lesser_general_public_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_library_or_lesser_general_public_license.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/docutils-0.16/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/docutils-0.16/setup.py-expected.json index 0d5d0787ea..777b157398 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/docutils-0.16/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/docutils-0.16/setup.py-expected.json @@ -86,15 +86,18 @@ "license_detections": [ { "license_expression": "public-domain AND python AND bsd-simplified AND gpl-3.0", + "license_expression_spdx": "LicenseRef-scancode-public-domain AND Python-2.0 AND BSD-2-Clause AND GPL-3.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 11, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "public-domain AND python AND bsd-simplified AND gpl-3.0", + "spdx_license_expression": "LicenseRef-scancode-public-domain AND Python-2.0 AND BSD-2-Clause AND GPL-3.0-only", "rule_identifier": "public-domain_and_python_and_bsd-simplified_and_gpl-3.0_2.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_and_python_and_bsd-simplified_and_gpl-3.0_2.RULE", @@ -105,15 +108,18 @@ }, { "license_expression": "public-domain AND python AND bsd-new AND gpl-1.0-plus", + "license_expression_spdx": "LicenseRef-scancode-public-domain AND Python-2.0 AND BSD-3-Clause AND GPL-1.0-or-later", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", "rule_identifier": "pypi_public_domain.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_public_domain.RULE", @@ -123,10 +129,12 @@ "score": 99.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 7, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "python", + "spdx_license_expression": "Python-2.0", "rule_identifier": "pypi_python_software_foundation_license.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_python_software_foundation_license.RULE", @@ -136,10 +144,12 @@ "score": 99.0, "start_line": 3, "end_line": 3, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "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", @@ -149,10 +159,12 @@ "score": 100.0, "start_line": 4, "end_line": 4, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", "rule_identifier": "pypi_gnu_general_public_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_general_public_license.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/idna-2.9/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/idna-2.9/setup.py-expected.json index d9b031a2cd..d5c13982d9 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/idna-2.9/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/idna-2.9/setup.py-expected.json @@ -55,15 +55,18 @@ "license_detections": [ { "license_expression": "other-permissive", + "license_expression_spdx": "LicenseRef-scancode-other-permissive", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "other-permissive", + "spdx_license_expression": "LicenseRef-scancode-other-permissive", "rule_identifier": "other-permissive_16.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/other-permissive_16.RULE", @@ -74,15 +77,18 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "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", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/paho-mqtt-1.5.0/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/paho-mqtt-1.5.0/setup.py-expected.json index c9d048aae9..8840292a1f 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/paho-mqtt-1.5.0/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/paho-mqtt-1.5.0/setup.py-expected.json @@ -53,15 +53,18 @@ "license_detections": [ { "license_expression": "epl-1.0 AND bsd-new", + "license_expression_spdx": "EPL-1.0 AND BSD-3-Clause", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "epl-1.0", + "spdx_license_expression": "EPL-1.0", "rule_identifier": "epl-1.0_18.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/epl-1.0_18.RULE", @@ -71,10 +74,12 @@ "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_802.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_802.RULE", @@ -85,15 +90,18 @@ }, { "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", "rule_identifier": "pypi_osi_approved.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_osi_approved.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/pexpect-4.6.0/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/pexpect-4.6.0/setup.py-expected.json index d97d3d83b1..c5470db883 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/pexpect-4.6.0/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/pexpect-4.6.0/setup.py-expected.json @@ -56,15 +56,18 @@ "license_detections": [ { "license_expression": "isc", + "license_expression_spdx": "ISC", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "isc", + "spdx_license_expression": "ISC", "rule_identifier": "isc_22.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/isc_22.RULE", @@ -75,15 +78,18 @@ }, { "license_expression": "isc", + "license_expression_spdx": "ISC", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "isc", + "spdx_license_expression": "ISC", "rule_identifier": "pypi_isc_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_isc_license.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/pip-22.0.4/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/pip-22.0.4/setup.py-expected.json index 6b25152558..88a8b82fe0 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/pip-22.0.4/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/pip-22.0.4/setup.py-expected.json @@ -49,15 +49,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -68,15 +71,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/pycparser-2.20/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/pycparser-2.20/setup.py-expected.json index 92c8ba0717..5ba0393576 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/pycparser-2.20/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/pycparser-2.20/setup.py-expected.json @@ -51,15 +51,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "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", @@ -70,15 +73,18 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "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", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/pyserial-3.4/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/pyserial-3.4/setup.py-expected.json index aa1a21e5f8..55e6c7dec0 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/pyserial-3.4/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/pyserial-3.4/setup.py-expected.json @@ -57,15 +57,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "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", @@ -76,15 +79,18 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "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", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/pytoml-0.1.21/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/pytoml-0.1.21/setup.py-expected.json index 78de53878d..bd3c0dd1d0 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/pytoml-0.1.21/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/pytoml-0.1.21/setup.py-expected.json @@ -44,15 +44,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -63,15 +66,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/requests-2.24.0/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/requests-2.24.0/setup.py-expected.json index c8402beb79..60aa83cec7 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/requests-2.24.0/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/requests-2.24.0/setup.py-expected.json @@ -42,15 +42,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 95.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/setupreader-0.0.3/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/setupreader-0.0.3/setup.py-expected.json index ce87ec7e0b..403c8a12f0 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/setupreader-0.0.3/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/setupreader-0.0.3/setup.py-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/six-1.14.0/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/six-1.14.0/setup.py-expected.json index 9c774d3f34..81ffafaf40 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/six-1.14.0/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/six-1.14.0/setup.py-expected.json @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -62,15 +65,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py-versions/urllib3-1.25.9/setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py-versions/urllib3-1.25.9/setup.py-expected.json index e0e95fd4b5..01055d7cc0 100644 --- a/tests/packagedcode/data/pypi/setup.py-versions/urllib3-1.25.9/setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py-versions/urllib3-1.25.9/setup.py-expected.json @@ -61,15 +61,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -80,15 +83,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/bluepyopt_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/bluepyopt_setup.py-expected.json index f8be2cb41f..c200b52b1f 100644 --- a/tests/packagedcode/data/pypi/setup.py/bluepyopt_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/bluepyopt_setup.py-expected.json @@ -46,15 +46,18 @@ "license_detections": [ { "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", "rule_identifier": "lgpl-3.0_29.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0_29.RULE", @@ -65,15 +68,18 @@ }, { "license_expression": "lgpl-3.0", + "license_expression_spdx": "LGPL-3.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 10, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-3.0", + "spdx_license_expression": "LGPL-3.0-only", "rule_identifier": "pypi_gnu_lesser_general_public_license_v3.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_lesser_general_public_license_v3.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/boolean2_py_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/boolean2_py_setup.py-expected.json index c165f6ee7a..0aa7acab9d 100644 --- a/tests/packagedcode/data/pypi/setup.py/boolean2_py_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/boolean2_py_setup.py-expected.json @@ -51,15 +51,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 90.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_708.RULE", "rule_relevance": 90, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_708.RULE", @@ -70,15 +73,18 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "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", diff --git a/tests/packagedcode/data/pypi/setup.py/complex_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/complex_setup.py-expected.json index a69a66ebd8..7d1d8b6b1a 100644 --- a/tests/packagedcode/data/pypi/setup.py/complex_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/complex_setup.py-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/pypi/setup.py/container_check_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/container_check_setup.py-expected.json index 8d85bd5e95..539ee87c7b 100644 --- a/tests/packagedcode/data/pypi/setup.py/container_check_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/container_check_setup.py-expected.json @@ -50,15 +50,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_323.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_323.RULE", @@ -69,15 +72,18 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 95.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/fb303_py_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/fb303_py_setup.py-expected.json index 2dab700400..de169deb7b 100644 --- a/tests/packagedcode/data/pypi/setup.py/fb303_py_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/fb303_py_setup.py-expected.json @@ -48,15 +48,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 75.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_3.RULE", "rule_relevance": 75, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_3.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/frell_src_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/frell_src_setup.py-expected.json index de6f3e5d44..834983e5e2 100644 --- a/tests/packagedcode/data/pypi/setup.py/frell_src_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/frell_src_setup.py-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 75.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_3.RULE", "rule_relevance": 75, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_3.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/interlap_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/interlap_setup.py-expected.json index 032f0f85c8..b95b50219d 100644 --- a/tests/packagedcode/data/pypi/setup.py/interlap_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/interlap_setup.py-expected.json @@ -47,15 +47,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -66,15 +69,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/mb_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/mb_setup.py-expected.json index ad33aa1715..729b4ba0f5 100644 --- a/tests/packagedcode/data/pypi/setup.py/mb_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/mb_setup.py-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_bare_single_word.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/ntfs_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/ntfs_setup.py-expected.json index e9ac569d2b..3388da9955 100644 --- a/tests/packagedcode/data/pypi/setup.py/ntfs_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/ntfs_setup.py-expected.json @@ -47,15 +47,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "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", @@ -66,15 +69,18 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "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", diff --git a/tests/packagedcode/data/pypi/setup.py/nvchecker_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/nvchecker_setup.py-expected.json index 6064b78e25..2a28d8e95a 100644 --- a/tests/packagedcode/data/pypi/setup.py/nvchecker_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/nvchecker_setup.py-expected.json @@ -57,15 +57,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -76,15 +79,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/oi_agents_common_code_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/oi_agents_common_code_setup.py-expected.json index 81583c9861..d8bd431648 100644 --- a/tests/packagedcode/data/pypi/setup.py/oi_agents_common_code_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/oi_agents_common_code_setup.py-expected.json @@ -48,15 +48,18 @@ "license_detections": [ { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", "rule_identifier": "gpl-3.0_32.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_32.RULE", @@ -67,15 +70,18 @@ }, { "license_expression": "gpl-3.0", + "license_expression_spdx": "GPL-3.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", "rule_identifier": "pypi_osi_approved.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_osi_approved.RULE", @@ -85,10 +91,12 @@ "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "gpl-3.0", + "spdx_license_expression": "GPL-3.0-only", "rule_identifier": "gpl-3.0_90.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0_90.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/packageurl_python_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/packageurl_python_setup.py-expected.json index 6441c0ab2e..eb4dada2dc 100644 --- a/tests/packagedcode/data/pypi/setup.py/packageurl_python_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/packageurl_python_setup.py-expected.json @@ -51,15 +51,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -70,15 +73,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/pipdeptree_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/pipdeptree_setup.py-expected.json index 9c56bc3e22..3a995151dd 100644 --- a/tests/packagedcode/data/pypi/setup.py/pipdeptree_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/pipdeptree_setup.py-expected.json @@ -46,15 +46,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_14.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", @@ -65,15 +68,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/pluggy_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/pluggy_setup.py-expected.json index 5e75fcc600..5e033ab1ab 100644 --- a/tests/packagedcode/data/pypi/setup.py/pluggy_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/pluggy_setup.py-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_14.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/pygtrie_with_kwargs_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/pygtrie_with_kwargs_setup.py-expected.json index 0430664318..b707773de3 100644 --- a/tests/packagedcode/data/pypi/setup.py/pygtrie_with_kwargs_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/pygtrie_with_kwargs_setup.py-expected.json @@ -48,15 +48,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", @@ -67,15 +70,18 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 95.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/pyrpm_2_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/pyrpm_2_setup.py-expected.json index bb005e5c13..81173f7e27 100644 --- a/tests/packagedcode/data/pypi/setup.py/pyrpm_2_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/pyrpm_2_setup.py-expected.json @@ -48,15 +48,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "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", @@ -67,15 +70,18 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "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", diff --git a/tests/packagedcode/data/pypi/setup.py/python_publicsuffix_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/python_publicsuffix_setup.py-expected.json index b566194eb4..863873d1ce 100644 --- a/tests/packagedcode/data/pypi/setup.py/python_publicsuffix_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/python_publicsuffix_setup.py-expected.json @@ -41,15 +41,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -60,15 +63,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/repology_py_libversion_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/repology_py_libversion_setup.py-expected.json index acf12b3309..a31337c643 100644 --- a/tests/packagedcode/data/pypi/setup.py/repology_py_libversion_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/repology_py_libversion_setup.py-expected.json @@ -46,15 +46,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -65,15 +68,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/saneyaml_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/saneyaml_setup.py-expected.json index 1af25fdbc1..127deb2552 100644 --- a/tests/packagedcode/data/pypi/setup.py/saneyaml_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/saneyaml_setup.py-expected.json @@ -51,15 +51,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", @@ -70,15 +73,18 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 95.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/setuppycheck_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/setuppycheck_setup.py-expected.json index dee40d6b70..a1921a1765 100644 --- a/tests/packagedcode/data/pypi/setup.py/setuppycheck_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/setuppycheck_setup.py-expected.json @@ -40,15 +40,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/pypi/setup.py/simple-setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/simple-setup.py-expected.json index 1d90d22062..cb5336b2a9 100644 --- a/tests/packagedcode/data/pypi/setup.py/simple-setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/simple-setup.py-expected.json @@ -47,15 +47,18 @@ "license_detections": [ { "license_expression": "(apache-2.0 AND scancode-acknowledgment) AND cc0-1.0", + "license_expression_spdx": "(Apache-2.0 AND LicenseRef-scancode-scancode-acknowledgment) AND CC0-1.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0 AND scancode-acknowledgment", + "spdx_license_expression": "Apache-2.0 AND LicenseRef-scancode-scancode-acknowledgment", "rule_identifier": "apache-2.0_and_scancode-acknowledgment_5.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_and_scancode-acknowledgment_5.RULE", @@ -65,10 +68,12 @@ "score": 95.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "cc0-1.0", + "spdx_license_expression": "CC0-1.0", "rule_identifier": "spdx_license_id_cc0-1.0_for_cc0-1.0.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_cc0-1.0_for_cc0-1.0.RULE", @@ -79,15 +84,18 @@ }, { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 95.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 6, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "pypi_apache_no-version.RULE", "rule_relevance": 95, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_apache_no-version.RULE", @@ -98,15 +106,18 @@ }, { "license_expression": "free-unknown", + "license_expression_spdx": "LicenseRef-scancode-free-unknown", "matches": [ { "score": 100.0, "start_line": 2, "end_line": 2, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "free-unknown", + "spdx_license_expression": "LicenseRef-scancode-free-unknown", "rule_identifier": "pypi_osi_approved.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_osi_approved.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/url_py_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/url_py_setup.py-expected.json index fd0179301c..96c5f57603 100644 --- a/tests/packagedcode/data/pypi/setup.py/url_py_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/url_py_setup.py-expected.json @@ -41,15 +41,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -60,15 +63,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/venv_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/venv_setup.py-expected.json index 8da370b964..279a8c1a07 100644 --- a/tests/packagedcode/data/pypi/setup.py/venv_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/venv_setup.py-expected.json @@ -57,15 +57,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -76,15 +79,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/whatsapp-play-setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/whatsapp-play-setup.py-expected.json index 7082f6dec6..3fa19164ba 100644 --- a/tests/packagedcode/data/pypi/setup.py/whatsapp-play-setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/whatsapp-play-setup.py-expected.json @@ -56,15 +56,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -75,15 +78,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/setup.py/xmltodict_setup.py-expected.json b/tests/packagedcode/data/pypi/setup.py/xmltodict_setup.py-expected.json index d18d3c60ca..9b6bd691e6 100644 --- a/tests/packagedcode/data/pypi/setup.py/xmltodict_setup.py-expected.json +++ b/tests/packagedcode/data/pypi/setup.py/xmltodict_setup.py-expected.json @@ -52,15 +52,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json b/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json index 6c7964a3af..af0856664b 100644 --- a/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json +++ b/tests/packagedcode/data/pypi/site-packages/site-packages-expected.json @@ -40,17 +40,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "codebase/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -126,17 +129,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "codebase/lib/python3.9/site-packages/click-8.0.4.dist-info/METADATA", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_10.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_10.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_10.RULE", "matched_text": "BSD-3-Clause" } @@ -145,17 +151,20 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "codebase/lib/python3.9/site-packages/click-8.0.4.dist-info/METADATA", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } @@ -264,17 +273,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "codebase/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -409,17 +421,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "codebase/lib/python3.9/site-packages/click-8.0.4.dist-info/METADATA", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_10.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-new_10.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_10.RULE", "matched_text": "BSD-3-Clause" } @@ -428,17 +443,20 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "codebase/lib/python3.9/site-packages/click-8.0.4.dist-info/METADATA", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } @@ -996,17 +1014,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "codebase/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } diff --git a/tests/packagedcode/data/pypi/solo-metadata/expected.json b/tests/packagedcode/data/pypi/solo-metadata/expected.json index 7a6de53c92..ec19c881b7 100644 --- a/tests/packagedcode/data/pypi/solo-metadata/expected.json +++ b/tests/packagedcode/data/pypi/solo-metadata/expected.json @@ -64,22 +64,25 @@ "license_detections": [ { "license_expression": "apache-2.0 AND cc-by-4.0 AND other-permissive AND other-copyleft", + "license_expression_spdx": "Apache-2.0 AND CC-BY-4.0 AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-other-copyleft", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0 AND cc-by-4.0 AND other-permissive AND other-copyleft", + "spdx_license_expression": "Apache-2.0 AND CC-BY-4.0 AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-other-copyleft", + "from_file": "PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "apache-2.0 AND cc-by-4.0 AND other-permissive AND other-copyleft", - "rule_identifier": "spdx-license-identifier-apache-2.0 AND cc-by-4.0 AND other-permissive AND other-copyleft-c7657a2c18db6a7df47030f236ebed3021446a79", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-apache_2_0_and_cc_by_4_0_and_other_permissive_and_other_copyleft-c7657a2c18db6a7df47030f236ebed3021446a79", "rule_url": null, "matched_text": "Apache-2.0 AND CC-BY-4.0 AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-other-copyleft" } ], - "identifier": "apache_2_0_and_cc_by_4_0_and_other_permissive_and_other_copyleft-b684b1e7-0568-cb99-16b9-e4b66bbf5120" + "identifier": "apache_2_0_and_cc_by_4_0_and_other_permissive_and_other_copyleft-22959186-4062-af61-0401-671dffe8beea" } ], "other_license_expression": null, @@ -172,22 +175,25 @@ "license_detections": [ { "license_expression": "apache-2.0 AND cc-by-4.0 AND other-permissive AND other-copyleft", + "license_expression_spdx": "Apache-2.0 AND CC-BY-4.0 AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-other-copyleft", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0 AND cc-by-4.0 AND other-permissive AND other-copyleft", + "spdx_license_expression": "Apache-2.0 AND CC-BY-4.0 AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-other-copyleft", + "from_file": "PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 18, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "apache-2.0 AND cc-by-4.0 AND other-permissive AND other-copyleft", - "rule_identifier": "spdx-license-identifier-apache-2.0 AND cc-by-4.0 AND other-permissive AND other-copyleft-c7657a2c18db6a7df47030f236ebed3021446a79", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-apache_2_0_and_cc_by_4_0_and_other_permissive_and_other_copyleft-c7657a2c18db6a7df47030f236ebed3021446a79", "rule_url": null, "matched_text": "Apache-2.0 AND CC-BY-4.0 AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-other-copyleft" } ], - "identifier": "apache_2_0_and_cc_by_4_0_and_other_permissive_and_other_copyleft-b684b1e7-0568-cb99-16b9-e4b66bbf5120" + "identifier": "apache_2_0_and_cc_by_4_0_and_other_permissive_and_other_copyleft-22959186-4062-af61-0401-671dffe8beea" } ], "other_license_expression": null, diff --git a/tests/packagedcode/data/pypi/solo-setup/expected.json b/tests/packagedcode/data/pypi/solo-setup/expected.json index 738db8e3d7..f7f5925f1e 100644 --- a/tests/packagedcode/data/pypi/solo-setup/expected.json +++ b/tests/packagedcode/data/pypi/solo-setup/expected.json @@ -50,17 +50,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "mit_14.RULE", "rule_relevance": 100, + "rule_identifier": "mit_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", "matched_text": "MIT license" } @@ -69,17 +72,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } diff --git a/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-expected.json b/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-expected.json index 4568299eee..c6a9cff51f 100644 --- a/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-expected.json +++ b/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-expected.json @@ -50,17 +50,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -69,17 +72,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } @@ -202,17 +208,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -221,17 +230,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } @@ -658,17 +670,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -677,17 +692,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } @@ -795,17 +813,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/src/pip.egg-info/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -814,17 +835,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/src/pip.egg-info/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } diff --git a/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-setup-expected.json b/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-setup-expected.json index 6c36cefee0..143175356d 100644 --- a/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-setup-expected.json +++ b/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-setup-expected.json @@ -56,17 +56,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -75,17 +78,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } diff --git a/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-with-license-expected.json b/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-with-license-expected.json index f2cf455c43..d5172b954d 100644 --- a/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-with-license-expected.json +++ b/tests/packagedcode/data/pypi/source-package/pip-22.0.4-pypi-package-with-license-expected.json @@ -50,17 +50,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -69,17 +72,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } @@ -115,37 +121,212 @@ { "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8", "license_expression": "mit", - "detection_count": 5 + "license_expression_spdx": "MIT", + "detection_count": 5, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", + "start_line": 15, + "end_line": 15, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE" + } + ] }, { "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", "license_expression": "mit", - "detection_count": 3 + "license_expression_spdx": "MIT", + "detection_count": 3, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_url": null + } + ] }, { "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", "license_expression": "mit", - "detection_count": 2 + "license_expression_spdx": "MIT", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", + "start_line": 8, + "end_line": 8, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" + } + ] }, { "identifier": "mit-59433771-4926-870e-d21a-8162cfa060a3", "license_expression": "mit", - "detection_count": 2 + "license_expression_spdx": "MIT", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "pip-22.0.4/PKG-INFO", + "start_line": 27, + "end_line": 27, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_2.RULE" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", + "start_line": 3, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] }, { "identifier": "mit-707ccf7a-5c60-0e4c-5844-349c989a00f5", "license_expression": "mit", - "detection_count": 2 + "license_expression_spdx": "MIT", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "pip-22.0.4/setup.cfg", + "start_line": 87, + "end_line": 87, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_2.RULE" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", + "start_line": 3, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", + "start_line": 3, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] }, { "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", "license_expression": "mit", - "detection_count": 2 + "license_expression_spdx": "MIT", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", + "start_line": 3, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] }, { "identifier": "mit-6e6256c5-00ca-dcb6-8033-2fc4b6ff86be", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pip-22.0.4/setup.py", + "start_line": 31, + "end_line": 31, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pip-22.0.4/setup.py", + "start_line": 35, + "end_line": 35, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE" + } + ] } ], "files": [ @@ -175,17 +356,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -278,17 +462,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -297,17 +484,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } @@ -342,17 +532,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", "start_line": 8, "end_line": 8, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_30.RULE", "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" } ], @@ -360,17 +553,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", "start_line": 15, "end_line": 15, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE" } ], @@ -378,29 +574,34 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "pip-22.0.4/PKG-INFO", "start_line": 27, "end_line": 27, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_see_license_at_manifest_2.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_2.RULE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -699,17 +900,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -775,41 +979,48 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "pip-22.0.4/setup.cfg", "start_line": 87, "end_line": 87, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_see_license_at_manifest_2.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_2.RULE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -843,41 +1054,48 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "pip-22.0.4/setup.cfg", "start_line": 87, "end_line": 87, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_see_license_at_manifest_2.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_2.RULE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -945,17 +1163,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -964,17 +1185,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } @@ -1010,29 +1234,34 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/setup.py", "start_line": 31, "end_line": 31, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_30.RULE", "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/setup.py", "start_line": 35, "end_line": 35, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE" } ], @@ -1133,17 +1362,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/src/pip.egg-info/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -1152,17 +1384,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/src/pip.egg-info/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } @@ -1351,17 +1586,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/src/pip.egg-info/PKG-INFO", "start_line": 8, "end_line": 8, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_30.RULE", "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" } ], @@ -1369,17 +1607,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/src/pip.egg-info/PKG-INFO", "start_line": 15, "end_line": 15, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE" } ], @@ -1387,29 +1628,34 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "pip-22.0.4/src/pip.egg-info/PKG-INFO", "start_line": 27, "end_line": 27, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_see_license_at_manifest_2.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_2.RULE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], diff --git a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3-expected.json b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3-expected.json index b8dc46a985..cc9e03fcfa 100644 --- a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3-expected.json @@ -39,15 +39,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3-subdir-expected.json b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3-subdir-expected.json index b0c5f9b854..0d8bd9b23c 100644 --- a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3-subdir-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.0/PyJPString-0.0.3-subdir-expected.json @@ -39,15 +39,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/python-mimeparse-1.6.0-expected.json b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/python-mimeparse-1.6.0-expected.json index 3256e0215d..561f63b19b 100644 --- a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/python-mimeparse-1.6.0-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/python-mimeparse-1.6.0-expected.json @@ -45,15 +45,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/pyup-django-0.4.0-expected.json b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/pyup-django-0.4.0-expected.json index bf927b1f01..4cd5333bc9 100644 --- a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/pyup-django-0.4.0-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.1/pyup-django-0.4.0-expected.json @@ -48,15 +48,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_14.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", @@ -67,15 +70,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.2/anonapi-0.0.19-expected.json b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.2/anonapi-0.0.19-expected.json index 82b2dc073d..4cd645dd9f 100644 --- a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.2/anonapi-0.0.19-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-1.2/anonapi-0.0.19-expected.json @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_14.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", @@ -62,15 +65,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-2.1/commoncode-21.5.12-expected.json b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-2.1/commoncode-21.5.12-expected.json index 81f9d1277f..3a7b451412 100644 --- a/tests/packagedcode/data/pypi/unpacked_sdist/metadata-2.1/commoncode-21.5.12-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_sdist/metadata-2.1/commoncode-21.5.12-expected.json @@ -45,15 +45,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", diff --git a/tests/packagedcode/data/pypi/unpacked_sdist/prefer-egg-info-pkg-info/celery-expected.json b/tests/packagedcode/data/pypi/unpacked_sdist/prefer-egg-info-pkg-info/celery-expected.json index 2e1b06c479..1a168dd7a3 100644 --- a/tests/packagedcode/data/pypi/unpacked_sdist/prefer-egg-info-pkg-info/celery-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_sdist/prefer-egg-info-pkg-info/celery-expected.json @@ -53,17 +53,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "celery/celery.egg-info/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -72,17 +75,20 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "celery/celery.egg-info/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } @@ -769,17 +775,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "celery/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -788,17 +797,20 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "celery/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } @@ -895,17 +907,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "celery/celery.egg-info/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -914,17 +929,20 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "celery/celery.egg-info/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "pypi_bsd_license.RULE", "rule_relevance": 99, + "rule_identifier": "pypi_bsd_license.RULE", "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'" } diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/daglib_wheel_extracted-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/daglib_wheel_extracted-expected.json index 52a474b1b7..df96c2a807 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/daglib_wheel_extracted-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/daglib_wheel_extracted-expected.json @@ -41,17 +41,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "daglib_wheel_extracted/daglib-0.6.0.dist-info/METADATA", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -60,17 +63,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "daglib_wheel_extracted/daglib-0.6.0.dist-info/METADATA", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } @@ -234,17 +240,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "daglib_wheel_extracted/daglib-0.6.0.dist-info/METADATA", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -253,17 +262,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "daglib_wheel_extracted/daglib-0.6.0.dist-info/METADATA", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/Jinja2-2.10.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/Jinja2-2.10.dist-info-expected.json index b4f8096806..2c69e8af14 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/Jinja2-2.10.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/Jinja2-2.10.dist-info-expected.json @@ -53,15 +53,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "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", @@ -72,15 +75,18 @@ }, { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "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", diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/python_mimeparse-1.6.0.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/python_mimeparse-1.6.0.dist-info-expected.json index b23bf5d33d..a31f137dfc 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/python_mimeparse-1.6.0.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/python_mimeparse-1.6.0.dist-info-expected.json @@ -45,15 +45,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/toml-0.10.1.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/toml-0.10.1.dist-info-expected.json index 35a8506361..2c1689bb6a 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/toml-0.10.1.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/toml-0.10.1.dist-info-expected.json @@ -53,15 +53,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -72,15 +75,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/urllib3-1.26.4.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/urllib3-1.26.4.dist-info-expected.json index 057e566e20..0356bfc6b9 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/urllib3-1.26.4.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.0/urllib3-1.26.4.dist-info-expected.json @@ -54,15 +54,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -73,15 +76,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/haruka_bot-1.2.3.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/haruka_bot-1.2.3.dist-info-expected.json index 05ef6fe1da..0bc207693b 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/haruka_bot-1.2.3.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/haruka_bot-1.2.3.dist-info-expected.json @@ -45,15 +45,18 @@ "license_detections": [ { "license_expression": "agpl-3.0-plus", + "license_expression_spdx": "AGPL-3.0-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "agpl-3.0-plus", + "spdx_license_expression": "AGPL-3.0-or-later", "rule_identifier": "spdx_license_id_agpl-3.0-or-later_for_agpl-3.0-plus.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_agpl-3.0-or-later_for_agpl-3.0-plus.RULE", @@ -64,15 +67,18 @@ }, { "license_expression": "agpl-3.0-plus", + "license_expression_spdx": "AGPL-3.0-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 12, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "agpl-3.0-plus", + "spdx_license_expression": "AGPL-3.0-or-later", "rule_identifier": "pypi_gnu_affero_general_public_license_v3_or_later.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_gnu_affero_general_public_license_v3_or_later.RULE", diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info-expected.json index ea8806503b..9c6449fd07 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/pip-20.2.2.dist-info-expected.json @@ -51,15 +51,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -70,15 +73,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/plugincode-21.1.21.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/plugincode-21.1.21.dist-info-expected.json index 8e21b2894c..9220c89132 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/plugincode-21.1.21.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/plugincode-21.1.21.dist-info-expected.json @@ -48,15 +48,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", diff --git a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/with_sources/anonapi-0.0.19.dist-info-expected.json b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/with_sources/anonapi-0.0.19.dist-info-expected.json index 6581c1140f..238070f2ae 100644 --- a/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/with_sources/anonapi-0.0.19.dist-info-expected.json +++ b/tests/packagedcode/data/pypi/unpacked_wheel/metadata-2.1/with_sources/anonapi-0.0.19.dist-info-expected.json @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "mit_14.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_14.RULE", @@ -62,15 +65,18 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 5, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", diff --git a/tests/packagedcode/data/readme/android/basic/README.android.expected b/tests/packagedcode/data/readme/android/basic/README.android.expected index 2a94e5e468..73be0a3ee6 100644 --- a/tests/packagedcode/data/readme/android/basic/README.android.expected +++ b/tests/packagedcode/data/readme/android/basic/README.android.expected @@ -28,15 +28,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "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", diff --git a/tests/packagedcode/data/readme/chromium/basic/README.chromium.expected b/tests/packagedcode/data/readme/chromium/basic/README.chromium.expected index b41b77a005..6f59af3b17 100644 --- a/tests/packagedcode/data/readme/chromium/basic/README.chromium.expected +++ b/tests/packagedcode/data/readme/chromium/basic/README.chromium.expected @@ -28,15 +28,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 90.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "apache-2.0_161.RULE", "rule_relevance": 90, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_161.RULE", diff --git a/tests/packagedcode/data/readme/facebook/basic/README.facebook.expected b/tests/packagedcode/data/readme/facebook/basic/README.facebook.expected index 48bf7f71e3..4fbe584636 100644 --- a/tests/packagedcode/data/readme/facebook/basic/README.facebook.expected +++ b/tests/packagedcode/data/readme/facebook/basic/README.facebook.expected @@ -28,15 +28,18 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", "rule_identifier": "package-manifest-unknown-4e63c2896b2b2bc5235eb55ed408f87187ffe1b3", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-4e63c2896b2b2bc5235eb55ed408f87187ffe1b3", diff --git a/tests/packagedcode/data/readme/facebook/capital-filename/README.FACEBOOK.expected b/tests/packagedcode/data/readme/facebook/capital-filename/README.FACEBOOK.expected index 48bf7f71e3..4fbe584636 100644 --- a/tests/packagedcode/data/readme/facebook/capital-filename/README.FACEBOOK.expected +++ b/tests/packagedcode/data/readme/facebook/capital-filename/README.FACEBOOK.expected @@ -28,15 +28,18 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", "rule_identifier": "package-manifest-unknown-4e63c2896b2b2bc5235eb55ed408f87187ffe1b3", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-4e63c2896b2b2bc5235eb55ed408f87187ffe1b3", diff --git a/tests/packagedcode/data/readme/facebook/download-link-as-download_url/README.facebook.expected b/tests/packagedcode/data/readme/facebook/download-link-as-download_url/README.facebook.expected index 1333b8fc79..ac01accf45 100644 --- a/tests/packagedcode/data/readme/facebook/download-link-as-download_url/README.facebook.expected +++ b/tests/packagedcode/data/readme/facebook/download-link-as-download_url/README.facebook.expected @@ -28,15 +28,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", diff --git a/tests/packagedcode/data/readme/facebook/downloaded-from-as-download_url/README.facebook.expected b/tests/packagedcode/data/readme/facebook/downloaded-from-as-download_url/README.facebook.expected index 1333b8fc79..ac01accf45 100644 --- a/tests/packagedcode/data/readme/facebook/downloaded-from-as-download_url/README.facebook.expected +++ b/tests/packagedcode/data/readme/facebook/downloaded-from-as-download_url/README.facebook.expected @@ -28,15 +28,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", diff --git a/tests/packagedcode/data/readme/facebook/project-as-name/README.facebook.expected b/tests/packagedcode/data/readme/facebook/project-as-name/README.facebook.expected index 2dd73966b3..47f3ab7e50 100644 --- a/tests/packagedcode/data/readme/facebook/project-as-name/README.facebook.expected +++ b/tests/packagedcode/data/readme/facebook/project-as-name/README.facebook.expected @@ -28,15 +28,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", diff --git a/tests/packagedcode/data/readme/facebook/repo-as-homepage_url/README.facebook.expected b/tests/packagedcode/data/readme/facebook/repo-as-homepage_url/README.facebook.expected index 2dd73966b3..47f3ab7e50 100644 --- a/tests/packagedcode/data/readme/facebook/repo-as-homepage_url/README.facebook.expected +++ b/tests/packagedcode/data/readme/facebook/repo-as-homepage_url/README.facebook.expected @@ -28,15 +28,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", diff --git a/tests/packagedcode/data/readme/facebook/source-as-homepage_url/README.facebook.expected b/tests/packagedcode/data/readme/facebook/source-as-homepage_url/README.facebook.expected index 2dd73966b3..47f3ab7e50 100644 --- a/tests/packagedcode/data/readme/facebook/source-as-homepage_url/README.facebook.expected +++ b/tests/packagedcode/data/readme/facebook/source-as-homepage_url/README.facebook.expected @@ -28,15 +28,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", diff --git a/tests/packagedcode/data/readme/facebook/use-parent-dir-name-as-package-name/setuptools/README.facebook.expected b/tests/packagedcode/data/readme/facebook/use-parent-dir-name-as-package-name/setuptools/README.facebook.expected index 48bf7f71e3..4fbe584636 100644 --- a/tests/packagedcode/data/readme/facebook/use-parent-dir-name-as-package-name/setuptools/README.facebook.expected +++ b/tests/packagedcode/data/readme/facebook/use-parent-dir-name-as-package-name/setuptools/README.facebook.expected @@ -28,15 +28,18 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 4, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", "rule_identifier": "package-manifest-unknown-4e63c2896b2b2bc5235eb55ed408f87187ffe1b3", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-4e63c2896b2b2bc5235eb55ed408f87187ffe1b3", diff --git a/tests/packagedcode/data/readme/facebook/website-as-homepage_url/README.facebook.expected b/tests/packagedcode/data/readme/facebook/website-as-homepage_url/README.facebook.expected index 2dd73966b3..47f3ab7e50 100644 --- a/tests/packagedcode/data/readme/facebook/website-as-homepage_url/README.facebook.expected +++ b/tests/packagedcode/data/readme/facebook/website-as-homepage_url/README.facebook.expected @@ -28,15 +28,18 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", diff --git a/tests/packagedcode/data/readme/google/basic/README.google.expected b/tests/packagedcode/data/readme/google/basic/README.google.expected index da94936188..cc24735861 100644 --- a/tests/packagedcode/data/readme/google/basic/README.google.expected +++ b/tests/packagedcode/data/readme/google/basic/README.google.expected @@ -28,15 +28,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/readme/thirdparty/basic/README.thirdparty.expected b/tests/packagedcode/data/readme/thirdparty/basic/README.thirdparty.expected index 20618c64b8..c0ea50414e 100644 --- a/tests/packagedcode/data/readme/thirdparty/basic/README.thirdparty.expected +++ b/tests/packagedcode/data/readme/thirdparty/basic/README.thirdparty.expected @@ -28,15 +28,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "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", diff --git a/tests/packagedcode/data/rpm/header/libproxy-bin-0.3.0-4.el6_3.x86_64.rpm-package-expected.json b/tests/packagedcode/data/rpm/header/libproxy-bin-0.3.0-4.el6_3.x86_64.rpm-package-expected.json index 8765c41800..43dd69d496 100644 --- a/tests/packagedcode/data/rpm/header/libproxy-bin-0.3.0-4.el6_3.x86_64.rpm-package-expected.json +++ b/tests/packagedcode/data/rpm/header/libproxy-bin-0.3.0-4.el6_3.x86_64.rpm-package-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", diff --git a/tests/packagedcode/data/rpm_installed/distro-xmlish/centos-8-rpms.xmlish-expected.json b/tests/packagedcode/data/rpm_installed/distro-xmlish/centos-8-rpms.xmlish-expected.json index 8277f1fb74..5861a44ea9 100644 --- a/tests/packagedcode/data/rpm_installed/distro-xmlish/centos-8-rpms.xmlish-expected.json +++ b/tests/packagedcode/data/rpm_installed/distro-xmlish/centos-8-rpms.xmlish-expected.json @@ -30,15 +30,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, @@ -131,15 +134,18 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_bare_single_word.RULE", @@ -223,15 +229,18 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", diff --git a/tests/packagedcode/data/rpm_installed/distro-xmlish/fc33-rpms.xmlish-expected.json b/tests/packagedcode/data/rpm_installed/distro-xmlish/fc33-rpms.xmlish-expected.json index b93d61a102..4fb57a20a2 100644 --- a/tests/packagedcode/data/rpm_installed/distro-xmlish/fc33-rpms.xmlish-expected.json +++ b/tests/packagedcode/data/rpm_installed/distro-xmlish/fc33-rpms.xmlish-expected.json @@ -30,15 +30,18 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus AND gpl-2.0-plus AND lgpl-2.0-plus", + "license_expression_spdx": "GPL-3.0-or-later AND GPL-2.0-or-later AND LGPL-2.0-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", @@ -48,10 +51,12 @@ "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", @@ -61,10 +66,12 @@ "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", @@ -74,10 +81,12 @@ "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", @@ -233,15 +242,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/rpm_installed/distro-xmlish/openmandriva-rpms.xmlish-expected.json b/tests/packagedcode/data/rpm_installed/distro-xmlish/openmandriva-rpms.xmlish-expected.json index f5aa4d488b..dc2e2dec8e 100644 --- a/tests/packagedcode/data/rpm_installed/distro-xmlish/openmandriva-rpms.xmlish-expected.json +++ b/tests/packagedcode/data/rpm_installed/distro-xmlish/openmandriva-rpms.xmlish-expected.json @@ -30,15 +30,18 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", "rule_identifier": "gpl_bare_word_only.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_bare_word_only.RULE", @@ -959,15 +962,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/rpm_installed/distro-xmlish/opensuse-rpms.xmlish-expected.json b/tests/packagedcode/data/rpm_installed/distro-xmlish/opensuse-rpms.xmlish-expected.json index 7e37e78e49..d2a3a055a1 100644 --- a/tests/packagedcode/data/rpm_installed/distro-xmlish/opensuse-rpms.xmlish-expected.json +++ b/tests/packagedcode/data/rpm_installed/distro-xmlish/opensuse-rpms.xmlish-expected.json @@ -30,15 +30,18 @@ "license_detections": [ { "license_expression": "boost-1.0", + "license_expression_spdx": "BSL-1.0", "matches": [ { "score": 50.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "boost-1.0", + "spdx_license_expression": "BSL-1.0", "rule_identifier": "boost-1.0_48.RULE", "rule_relevance": 50, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/boost-1.0_48.RULE", @@ -113,15 +116,18 @@ "license_detections": [ { "license_expression": "lgpl-2.1", + "license_expression_spdx": "LGPL-2.1-only", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.1", + "spdx_license_expression": "LGPL-2.1-only", "rule_identifier": "lgpl-2.1_85.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_85.RULE", diff --git a/tests/packagedcode/data/rpm_installed/distro-xmlish/rhel-rpms.xmlish-expected.json b/tests/packagedcode/data/rpm_installed/distro-xmlish/rhel-rpms.xmlish-expected.json index b5b871cd91..b320e5c613 100644 --- a/tests/packagedcode/data/rpm_installed/distro-xmlish/rhel-rpms.xmlish-expected.json +++ b/tests/packagedcode/data/rpm_installed/distro-xmlish/rhel-rpms.xmlish-expected.json @@ -30,15 +30,18 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { "score": 70.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", @@ -428,15 +431,18 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { "score": 70.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", @@ -492,15 +498,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/rpm_installed/end-to-end/bdb-fedora-rootfs.tar.xz-expected.json b/tests/packagedcode/data/rpm_installed/end-to-end/bdb-fedora-rootfs.tar.xz-expected.json index e27c95c81c..82c2a7c13b 100644 --- a/tests/packagedcode/data/rpm_installed/end-to-end/bdb-fedora-rootfs.tar.xz-expected.json +++ b/tests/packagedcode/data/rpm_installed/end-to-end/bdb-fedora-rootfs.tar.xz-expected.json @@ -31,17 +31,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -300,17 +303,20 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "Public Domain" } @@ -407,17 +413,20 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "Public Domain" } @@ -475,17 +484,20 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "Public Domain" } @@ -17196,43 +17208,50 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND gpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" } @@ -17290,43 +17309,50 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND gpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" } @@ -17801,17 +17827,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+" } @@ -18817,17 +18846,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -18933,17 +18965,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_24.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_24.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_24.RULE", "matched_text": "license zlib and Boost" } @@ -19040,17 +19075,20 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "rule_identifier": "mpl-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "mpl-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_93.RULE", "matched_text": "MPLv2.0" } @@ -19108,17 +19146,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -19404,17 +19445,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -19484,17 +19528,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_bare_single_word.RULE", "matched_text": "GPLv2" } @@ -19618,17 +19665,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -19698,17 +19748,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -20084,30 +20137,35 @@ "license_detections": [ { "license_expression": "lgpl-3.0-plus AND gpl-2.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "LGPLv3+ or GPLv2+" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "LGPLv3+ or GPLv2+" } @@ -20204,17 +20262,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_bare_single_word.RULE", "matched_text": "GPLv2" } @@ -21067,30 +21128,35 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND lgpl-3.0-plus", + "license_expression_spdx": "GPL-2.0-or-later AND LGPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLV2+ or LGPLv3+" }, { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "GPLV2+ or LGPLv3+" } @@ -21196,30 +21262,35 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND lgpl-3.0-plus", + "license_expression_spdx": "GPL-2.0-or-later AND LGPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2+ or LGPLv3+" }, { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "GPLv2+ or LGPLv3+" } @@ -21352,17 +21423,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -21441,17 +21515,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+" } @@ -21944,17 +22021,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -22042,17 +22122,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -22122,17 +22205,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -22274,30 +22360,35 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND gpl-3.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and GPLv3+" }, { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "LGPLv2+ and GPLv3+" } @@ -22430,17 +22521,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -22519,17 +22613,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2+ and BSD" } @@ -22617,17 +22714,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -22724,17 +22824,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -22792,22 +22895,25 @@ "license_detections": [ { "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", "matches": [ { - "score": 100.0, + "license_expression": "openssl-ssleay", + "spdx_license_expression": "OpenSSL", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "openssl-ssleay", - "rule_identifier": "spdx-license-identifier-openssl-ssleay-03d817701afe404cc2df5eb4625e37d9869edb1e", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-openssl_ssleay-03d817701afe404cc2df5eb4625e37d9869edb1e", "rule_url": null, "matched_text": "OpenSSL" } ], - "identifier": "openssl_ssleay-24502a74-d43d-88be-d77b-ff594c818ddd" + "identifier": "openssl_ssleay-84d820dd-f1ab-1bf0-0c65-5743d8ae36f1" } ], "other_license_expression": null, @@ -22899,17 +23005,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -22997,30 +23106,35 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND lgpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later AND LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2+, LGPLv2+, MIT" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "GPLv2+, LGPLv2+, MIT" } @@ -23090,17 +23204,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -23170,17 +23287,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -23673,17 +23793,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "BSD or GPLv2+" } @@ -24239,30 +24362,35 @@ "license_detections": [ { "license_expression": "lgpl-3.0-plus AND gpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later AND GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "LGPLv3+ and GPLv3+ and GFDL" }, { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "LGPLv3+ and GPLv3+ and GFDL" } @@ -24395,30 +24523,35 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus AND lgpl-2.0-plus", + "license_expression_spdx": "GPL-3.0-or-later AND LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+ and LGPLv2+" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "GPLv3+ and LGPLv2+" } @@ -24668,43 +24801,50 @@ "license_detections": [ { "license_expression": "lgpl-3.0-plus AND gpl-2.0-plus AND gpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later AND GPL-2.0-or-later AND GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "(LGPLv3+ or GPLv2+) and GPLv3+" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "(LGPLv3+ or GPLv2+) and GPLv3+" }, { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "(LGPLv3+ or GPLv2+) and GPLv3+" } @@ -24837,17 +24977,20 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "rule_identifier": "mpl-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "mpl-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_93.RULE", "matched_text": "MPLv2.0" } @@ -24962,17 +25105,20 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "rule_identifier": "mpl-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "mpl-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_93.RULE", "matched_text": "MPLv2.0" } @@ -25096,17 +25242,20 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "rule_identifier": "mpl-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "mpl-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_93.RULE", "matched_text": "MPLv2.0" } @@ -25392,17 +25541,20 @@ "license_detections": [ { "license_expression": "lgpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "LGPLv3+" } @@ -25472,17 +25624,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "MIT or LGPLv2+ or BSD" } @@ -25588,17 +25743,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "BSD and GPLv2+" } @@ -28539,17 +28697,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2+" } @@ -28655,30 +28816,35 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND lgpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later AND LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2+ and LGPLv2+" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "GPLv2+ and LGPLv2+" } @@ -28757,17 +28923,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2+" } @@ -28882,17 +29051,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -29097,17 +29269,20 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { - "score": 100.0, + "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "5-undetected", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "5-undetected", - "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-1468f5c04ce66bed92859f134fea3273baa9ba43", "rule_relevance": 100, + "rule_identifier": "package-manifest-unknown-1468f5c04ce66bed92859f134fea3273baa9ba43", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-1468f5c04ce66bed92859f134fea3273baa9ba43", "matched_text": "license OpenLDAP" } @@ -29258,17 +29433,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -29338,17 +29516,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2+" } @@ -29418,17 +29599,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2+" } @@ -30272,56 +30456,65 @@ "license_detections": [ { "license_expression": "lgpl-3.0-plus AND gpl-2.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "LGPLv3+ or GPLv2+ or (LGPLv3+ and GPLv2+)" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "LGPLv3+ or GPLv2+ or (LGPLv3+ and GPLv2+)" }, { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "LGPLv3+ or GPLv2+ or (LGPLv3+ and GPLv2+)" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "LGPLv3+ or GPLv2+ or (LGPLv3+ and GPLv2+)" } @@ -30391,17 +30584,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -30543,17 +30739,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -30650,17 +30849,20 @@ "license_detections": [ { "license_expression": "lgpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "LGPLv3+" } @@ -30809,17 +31011,20 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { - "score": 100.0, + "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "5-undetected", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "5-undetected", - "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-b9931200c2f732e2ea95da8f66af5f41a403ecf7", "rule_relevance": 100, + "rule_identifier": "package-manifest-unknown-b9931200c2f732e2ea95da8f66af5f41a403ecf7", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-b9931200c2f732e2ea95da8f66af5f41a403ecf7", "matched_text": "license pubkey" } @@ -30877,56 +31082,65 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus AND gpl-2.0-plus AND lgpl-2.0-plus", + "license_expression_spdx": "GPL-3.0-or-later AND GPL-2.0-or-later AND LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD" }, { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD" } @@ -31005,17 +31219,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -31175,17 +31392,20 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "Public Domain" } @@ -185020,17 +185240,20 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "rule_identifier": "mpl-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "mpl-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_93.RULE", "matched_text": "MPLv2.0" } @@ -185088,17 +185311,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -185177,43 +185403,50 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND gpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" } @@ -185319,17 +185552,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -185570,17 +185806,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -185638,17 +185877,20 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "Public Domain" } @@ -185718,17 +185960,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+" } @@ -185834,17 +186079,20 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "rule_identifier": "mpl-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "mpl-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_93.RULE", "matched_text": "MPLv2.0" } @@ -185902,17 +186150,20 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "Public Domain" } @@ -185991,17 +186242,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0", + "license_expression_spdx": "LGPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0", + "spdx_license_expression": "LGPL-2.0-only", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0", - "rule_identifier": "lgpl-2.0_35.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0_35.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0_35.RULE", "matched_text": "BSD and LGPLv2 and Sleepycat" } @@ -186089,43 +186343,50 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND gpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" } @@ -186222,17 +186483,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -186302,17 +186566,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -186400,17 +186667,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -186561,17 +186831,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+" } @@ -187136,43 +187409,50 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND lgpl-3.0-plus AND gpl-3.0-plus", + "license_expression_spdx": "GPL-2.0-or-later AND LGPL-3.0-or-later AND GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "(GPLv2+ or LGPLv3+) and GPLv3+" }, { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "(GPLv2+ or LGPLv3+) and GPLv3+" }, { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "(GPLv2+ or LGPLv3+) and GPLv3+" } @@ -187296,17 +187576,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -187376,17 +187659,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+" } @@ -187456,17 +187742,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -187617,17 +187906,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -187697,17 +187989,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -188794,17 +189089,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -188910,17 +189208,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+" } @@ -189062,17 +189363,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -189178,17 +189482,20 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "Public Domain" } @@ -189276,30 +189583,35 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus AND lgpl-2.0-plus", + "license_expression_spdx": "GPL-3.0-or-later AND LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+ and LGPLv2+" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "GPLv3+ and LGPLv2+" } @@ -189414,17 +189726,20 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "Public Domain" } @@ -189557,17 +189872,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -189673,17 +189991,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and MIT" } @@ -189762,17 +190083,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -190517,17 +190841,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+ and GFDL" } @@ -190759,17 +191086,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "BSD and GPLv2+" } @@ -193449,17 +193779,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -193529,30 +193862,35 @@ "license_detections": [ { "license_expression": "lgpl-3.0-plus AND gpl-2.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "LGPLv3+ or GPLv2+" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "LGPLv3+ or GPLv2+" } @@ -193685,17 +194023,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0", + "license_expression_spdx": "LGPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0", + "spdx_license_expression": "LGPL-2.0-only", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0", - "rule_identifier": "lgpl-2.0_35.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0_35.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0_35.RULE", "matched_text": "BSD and LGPLv2 and Sleepycat" } @@ -193891,17 +194232,20 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "rule_identifier": "mpl-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "mpl-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_93.RULE", "matched_text": "MPLv2.0" } @@ -193959,17 +194303,20 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { - "score": 100.0, + "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "5-undetected", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "5-undetected", - "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-13009f1da345988b791cd1c802dc90f361c90176", "rule_relevance": 100, + "rule_identifier": "package-manifest-unknown-13009f1da345988b791cd1c802dc90f361c90176", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-13009f1da345988b791cd1c802dc90f361c90176", "matched_text": "license MPLv1.1" } @@ -194027,17 +194374,20 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "rule_identifier": "mpl-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "mpl-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_93.RULE", "matched_text": "MPLv2.0" } @@ -194116,17 +194466,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -194196,17 +194549,20 @@ "license_detections": [ { "license_expression": "lgpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "LGPLv3+" } @@ -194276,17 +194632,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -194356,17 +194715,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -194454,17 +194816,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -194579,17 +194944,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -194704,43 +195072,50 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus AND gpl-2.0-plus AND lgpl-2.0-plus", + "license_expression_spdx": "GPL-3.0-or-later AND GPL-2.0-or-later AND LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+ and GPLv2+ and LGPLv2+ and BSD" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv3+ and GPLv2+ and LGPLv2+ and BSD" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "GPLv3+ and GPLv2+ and LGPLv2+ and BSD" } @@ -195152,17 +195527,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD with advertising" } @@ -195439,17 +195817,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -195519,17 +195900,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -195689,30 +196073,35 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND lgpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later AND LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2+ and LGPLv2+ with exceptions" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "GPLv2+ and LGPLv2+ with exceptions" } @@ -195818,17 +196207,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -195907,17 +196299,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+" } @@ -196914,17 +197309,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -197003,17 +197401,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+" } @@ -197092,56 +197493,65 @@ "license_detections": [ { "license_expression": "gpl-2.0 AND gpl-2.0-plus AND lgpl-2.0-plus AND public-domain", + "license_expression_spdx": "GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.0-or-later AND LicenseRef-scancode-public-domain", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_bare_single_word.RULE", "matched_text": "GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain" }, { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain" } @@ -216662,17 +217072,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -217024,17 +217437,20 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "Public Domain" } @@ -217377,17 +217793,20 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "Public Domain" } @@ -217441,17 +217860,20 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "Public Domain" } @@ -234174,43 +234596,50 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND gpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" } @@ -234264,43 +234693,50 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND gpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" } @@ -237235,17 +237671,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+" } @@ -238443,17 +238882,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -238598,17 +239040,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_24.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_24.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_24.RULE", "matched_text": "license zlib and Boost" } @@ -238726,17 +239171,20 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "rule_identifier": "mpl-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "mpl-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_93.RULE", "matched_text": "MPLv2.0" } @@ -238836,17 +239284,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -239171,17 +239622,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -239272,17 +239726,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_bare_single_word.RULE", "matched_text": "GPLv2" } @@ -239472,17 +239929,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -239582,17 +240042,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -239998,30 +240461,35 @@ "license_detections": [ { "license_expression": "lgpl-3.0-plus AND gpl-2.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "LGPLv3+ or GPLv2+" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "LGPLv3+ or GPLv2+" } @@ -240166,17 +240634,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_bare_single_word.RULE", "matched_text": "GPLv2" } @@ -241158,30 +241629,35 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND lgpl-3.0-plus", + "license_expression_spdx": "GPL-2.0-or-later AND LGPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLV2+ or LGPLv3+" }, { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "GPLV2+ or LGPLv3+" } @@ -241317,30 +241793,35 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND lgpl-3.0-plus", + "license_expression_spdx": "GPL-2.0-or-later AND LGPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2+ or LGPLv3+" }, { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "GPLv2+ or LGPLv3+" } @@ -241503,17 +241984,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -241586,17 +242070,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+" } @@ -242110,17 +242597,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -242211,17 +242701,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -242321,17 +242814,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -242512,30 +243008,35 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND gpl-3.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and GPLv3+" }, { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "LGPLv2+ and GPLv3+" } @@ -242698,17 +243199,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -242799,17 +243303,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2+ and BSD" } @@ -242900,17 +243407,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -243037,17 +243547,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -243147,22 +243660,25 @@ "license_detections": [ { "license_expression": "openssl-ssleay", + "license_expression_spdx": "OpenSSL", "matches": [ { - "score": 100.0, + "license_expression": "openssl-ssleay", + "spdx_license_expression": "OpenSSL", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "openssl-ssleay", - "rule_identifier": "spdx-license-identifier-openssl-ssleay-03d817701afe404cc2df5eb4625e37d9869edb1e", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-openssl_ssleay-03d817701afe404cc2df5eb4625e37d9869edb1e", "rule_url": null, "matched_text": "OpenSSL" } ], - "identifier": "openssl_ssleay-24502a74-d43d-88be-d77b-ff594c818ddd" + "identifier": "openssl_ssleay-84d820dd-f1ab-1bf0-0c65-5743d8ae36f1" } ], "other_license_expression": null, @@ -243383,17 +243899,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -243502,30 +244021,35 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND lgpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later AND LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2+, LGPLv2+, MIT" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "GPLv2+, LGPLv2+, MIT" } @@ -243778,17 +244302,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -243888,17 +244415,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -244475,17 +245005,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "BSD or GPLv2+" } @@ -245107,30 +245640,35 @@ "license_detections": [ { "license_expression": "lgpl-3.0-plus AND gpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later AND GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "LGPLv3+ and GPLv3+ and GFDL" }, { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "LGPLv3+ and GPLv3+ and GFDL" } @@ -245293,30 +245831,35 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus AND lgpl-2.0-plus", + "license_expression_spdx": "GPL-3.0-or-later AND LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+ and LGPLv2+" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "GPLv3+ and LGPLv2+" } @@ -245605,43 +246148,50 @@ "license_detections": [ { "license_expression": "lgpl-3.0-plus AND gpl-2.0-plus AND gpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later AND GPL-2.0-or-later AND GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "(LGPLv3+ or GPLv2+) and GPLv3+" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "(LGPLv3+ or GPLv2+) and GPLv3+" }, { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "(LGPLv3+ or GPLv2+) and GPLv3+" } @@ -245822,17 +246372,20 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "rule_identifier": "mpl-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "mpl-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_93.RULE", "matched_text": "MPLv2.0" } @@ -245995,17 +246548,20 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "rule_identifier": "mpl-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "mpl-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_93.RULE", "matched_text": "MPLv2.0" } @@ -246240,17 +246796,20 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "rule_identifier": "mpl-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "mpl-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_93.RULE", "matched_text": "MPLv2.0" } @@ -246602,17 +247161,20 @@ "license_detections": [ { "license_expression": "lgpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "LGPLv3+" } @@ -246712,17 +247274,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "MIT or LGPLv2+ or BSD" } @@ -246876,17 +247441,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "BSD and GPLv2+" } @@ -250073,17 +250641,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2+" } @@ -250210,30 +250781,35 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND lgpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later AND LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2+ and LGPLv2+" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "GPLv2+ and LGPLv2+" } @@ -250333,17 +250909,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2+" } @@ -250470,17 +251049,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -250904,17 +251486,20 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { - "score": 100.0, + "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "5-undetected", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "5-undetected", - "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-1468f5c04ce66bed92859f134fea3273baa9ba43", "rule_relevance": 100, + "rule_identifier": "package-manifest-unknown-1468f5c04ce66bed92859f134fea3273baa9ba43", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-1468f5c04ce66bed92859f134fea3273baa9ba43", "matched_text": "license OpenLDAP" } @@ -251158,17 +251743,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -251259,17 +251847,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2+" } @@ -251333,17 +251924,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2+" } @@ -253648,56 +254242,65 @@ "license_detections": [ { "license_expression": "lgpl-3.0-plus AND gpl-2.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "LGPLv3+ or GPLv2+ or (LGPLv3+ and GPLv2+)" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "LGPLv3+ or GPLv2+ or (LGPLv3+ and GPLv2+)" }, { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "LGPLv3+ or GPLv2+ or (LGPLv3+ and GPLv2+)" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "LGPLv3+ or GPLv2+ or (LGPLv3+ and GPLv2+)" } @@ -253797,17 +254400,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -253979,17 +254585,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -254116,17 +254725,20 @@ "license_detections": [ { "license_expression": "lgpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "LGPLv3+" } @@ -254386,17 +254998,20 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { - "score": 100.0, + "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "5-undetected", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "5-undetected", - "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-b9931200c2f732e2ea95da8f66af5f41a403ecf7", "rule_relevance": 100, + "rule_identifier": "package-manifest-unknown-b9931200c2f732e2ea95da8f66af5f41a403ecf7", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-b9931200c2f732e2ea95da8f66af5f41a403ecf7", "matched_text": "license pubkey" } @@ -254450,56 +255065,65 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus AND gpl-2.0-plus AND lgpl-2.0-plus", + "license_expression_spdx": "GPL-3.0-or-later AND GPL-2.0-or-later AND LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD" }, { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD" } @@ -254626,17 +255250,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -254871,17 +255498,20 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "Public Domain" } @@ -410204,17 +410834,20 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "rule_identifier": "mpl-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "mpl-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_93.RULE", "matched_text": "MPLv2.0" } @@ -410305,17 +410938,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -411846,43 +412482,50 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND gpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" } @@ -412306,17 +412949,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -412551,17 +413197,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -412643,17 +413292,20 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "Public Domain" } @@ -412762,17 +413414,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+" } @@ -412917,17 +413572,20 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "rule_identifier": "mpl-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "mpl-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_93.RULE", "matched_text": "MPLv2.0" } @@ -413009,17 +413667,20 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "Public Domain" } @@ -413101,17 +413762,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0", + "license_expression_spdx": "LGPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0", + "spdx_license_expression": "LGPL-2.0-only", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0", - "rule_identifier": "lgpl-2.0_35.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0_35.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0_35.RULE", "matched_text": "BSD and LGPLv2 and Sleepycat" } @@ -413229,43 +413893,50 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus AND gpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "LGPLv2+ and LGPLv2+ with exceptions and GPLv2+" } @@ -413356,17 +414027,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -413457,17 +414131,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -413576,17 +414253,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -413821,17 +414501,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+" } @@ -414444,43 +415127,50 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND lgpl-3.0-plus AND gpl-3.0-plus", + "license_expression_spdx": "GPL-2.0-or-later AND LGPL-3.0-or-later AND GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "(GPLv2+ or LGPLv3+) and GPLv3+" }, { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "(GPLv2+ or LGPLv3+) and GPLv3+" }, { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "(GPLv2+ or LGPLv3+) and GPLv3+" } @@ -414661,17 +415351,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -414753,17 +415446,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+" } @@ -415790,17 +416486,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -416323,17 +417022,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -416397,17 +417099,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -417686,17 +418391,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -417841,17 +418549,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+" } @@ -418023,17 +418734,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -418160,17 +418874,20 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "Public Domain" } @@ -418261,30 +418978,35 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus AND lgpl-2.0-plus", + "license_expression_spdx": "GPL-3.0-or-later AND LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+ and LGPLv2+" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "GPLv3+ and LGPLv2+" } @@ -418429,17 +419151,20 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "Public Domain" } @@ -418881,17 +419606,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -419018,17 +419746,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+ and MIT" } @@ -419164,17 +419895,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -419976,17 +420710,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+ and GFDL" } @@ -420374,17 +421111,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "BSD and GPLv2+" } @@ -423868,17 +424608,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -423969,30 +424712,35 @@ "license_detections": [ { "license_expression": "lgpl-3.0-plus AND gpl-2.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "LGPLv3+ or GPLv2+" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "LGPLv3+ or GPLv2+" } @@ -424209,17 +424957,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0", + "license_expression_spdx": "LGPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0", + "spdx_license_expression": "LGPL-2.0-only", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0", - "rule_identifier": "lgpl-2.0_35.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0_35.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0_35.RULE", "matched_text": "BSD and LGPLv2 and Sleepycat" } @@ -424544,17 +425295,20 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "rule_identifier": "mpl-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "mpl-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_93.RULE", "matched_text": "MPLv2.0" } @@ -424708,17 +425462,20 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { - "score": 100.0, + "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "5-undetected", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "5-undetected", - "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-13009f1da345988b791cd1c802dc90f361c90176", "rule_relevance": 100, + "rule_identifier": "package-manifest-unknown-13009f1da345988b791cd1c802dc90f361c90176", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-13009f1da345988b791cd1c802dc90f361c90176", "matched_text": "license MPLv1.1" } @@ -424800,17 +425557,20 @@ "license_detections": [ { "license_expression": "mpl-2.0", + "license_expression_spdx": "MPL-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mpl-2.0", + "spdx_license_expression": "MPL-2.0", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mpl-2.0", - "rule_identifier": "mpl-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "mpl-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mpl-2.0_93.RULE", "matched_text": "MPLv2.0" } @@ -424901,17 +425661,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -425011,17 +425774,20 @@ "license_detections": [ { "license_expression": "lgpl-3.0-plus", + "license_expression_spdx": "LGPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-3.0-plus", + "spdx_license_expression": "LGPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-3.0-plus", - "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-3.0-plus_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-3.0-plus_14.RULE", "matched_text": "LGPLv3+" } @@ -425121,17 +425887,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -425267,17 +426036,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -425404,17 +426176,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -425550,17 +426325,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -425696,43 +426474,50 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus AND gpl-2.0-plus AND lgpl-2.0-plus", + "license_expression_spdx": "GPL-3.0-or-later AND GPL-2.0-or-later AND LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+ and GPLv2+ and LGPLv2+ and BSD" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv3+ and GPLv2+ and LGPLv2+ and BSD" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "GPLv3+ and GPLv2+ and LGPLv2+ and BSD" } @@ -426570,17 +427355,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD with advertising" } @@ -426932,17 +427720,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -427033,17 +427824,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -427224,30 +428018,35 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus AND lgpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later AND LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2+ and LGPLv2+ with exceptions" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "GPLv2+ and LGPLv2+ with exceptions" } @@ -427347,17 +428146,20 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { - "score": 99.0, + "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 99.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "bsd-new", - "rule_identifier": "bsd-new_89.RULE", "rule_relevance": 99, + "rule_identifier": "bsd-new_89.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_89.RULE", "matched_text": "license BSD" } @@ -427466,17 +428268,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+" } @@ -428701,17 +429506,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0-plus", + "license_expression_spdx": "LGPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "LGPLv2+" } @@ -428811,17 +429619,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_28.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_28.RULE", "matched_text": "GPLv3+" } @@ -428921,56 +429732,65 @@ "license_detections": [ { "license_expression": "gpl-2.0 AND gpl-2.0-plus AND lgpl-2.0-plus AND public-domain", + "license_expression_spdx": "GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.0-or-later AND LicenseRef-scancode-public-domain", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_bare_single_word.RULE", "matched_text": "GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain" }, { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_bare_single_word.RULE", "matched_text": "GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain" }, { - "score": 100.0, + "license_expression": "lgpl-2.0-plus", + "spdx_license_expression": "LGPL-2.0-or-later", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0-plus", - "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.0-plus_68.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0-plus_68.RULE", "matched_text": "GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain" }, { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "rootfs/var/lib/rpm/Packages", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain" } diff --git a/tests/packagedcode/data/rpm_installed/xmlish/centos-5-rpms.xmlish-expected.json b/tests/packagedcode/data/rpm_installed/xmlish/centos-5-rpms.xmlish-expected.json index 53cb0af2c0..9a683e5c5c 100644 --- a/tests/packagedcode/data/rpm_installed/xmlish/centos-5-rpms.xmlish-expected.json +++ b/tests/packagedcode/data/rpm_installed/xmlish/centos-5-rpms.xmlish-expected.json @@ -30,15 +30,18 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { "score": 70.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", @@ -347,15 +350,18 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { "score": 70.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", diff --git a/tests/packagedcode/data/rpm_installed/xmlish/centos-5-rpms.xmlish-with-license-expected.json b/tests/packagedcode/data/rpm_installed/xmlish/centos-5-rpms.xmlish-with-license-expected.json index 53cb0af2c0..9a683e5c5c 100644 --- a/tests/packagedcode/data/rpm_installed/xmlish/centos-5-rpms.xmlish-with-license-expected.json +++ b/tests/packagedcode/data/rpm_installed/xmlish/centos-5-rpms.xmlish-with-license-expected.json @@ -30,15 +30,18 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { "score": 70.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", @@ -347,15 +350,18 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { "score": 70.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", diff --git a/tests/packagedcode/data/rubygems/gem/action_tracker-1.0.2.gem.json b/tests/packagedcode/data/rubygems/gem/action_tracker-1.0.2.gem.json index f6bd91e3c5..d220462fe6 100644 --- a/tests/packagedcode/data/rubygems/gem/action_tracker-1.0.2.gem.json +++ b/tests/packagedcode/data/rubygems/gem/action_tracker-1.0.2.gem.json @@ -43,15 +43,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/rubygems/gem/m2r-2.1.0.gem.json b/tests/packagedcode/data/rubygems/gem/m2r-2.1.0.gem.json index 67d6276432..321cc181d8 100644 --- a/tests/packagedcode/data/rubygems/gem/m2r-2.1.0.gem.json +++ b/tests/packagedcode/data/rubygems/gem/m2r-2.1.0.gem.json @@ -57,15 +57,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/rubygems/gem/new/dependabot-omnibus-0.87.15.gem.json b/tests/packagedcode/data/rubygems/gem/new/dependabot-omnibus-0.87.15.gem.json index 223f656dc7..a6662221bc 100644 --- a/tests/packagedcode/data/rubygems/gem/new/dependabot-omnibus-0.87.15.gem.json +++ b/tests/packagedcode/data/rubygems/gem/new/dependabot-omnibus-0.87.15.gem.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "proprietary-license", + "license_expression_spdx": "LicenseRef-scancode-proprietary-license", "matches": [ { "score": 99.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "proprietary-license", + "spdx_license_expression": "LicenseRef-scancode-proprietary-license", "rule_identifier": "proprietary-license_507.RULE", "rule_relevance": 99, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/proprietary-license_507.RULE", diff --git a/tests/packagedcode/data/rubygems/gem/new/hiredis-0.6.3-java.gem.json b/tests/packagedcode/data/rubygems/gem/new/hiredis-0.6.3-java.gem.json index 8249a3420b..b349e15f11 100644 --- a/tests/packagedcode/data/rubygems/gem/new/hiredis-0.6.3-java.gem.json +++ b/tests/packagedcode/data/rubygems/gem/new/hiredis-0.6.3-java.gem.json @@ -38,15 +38,18 @@ "license_detections": [ { "license_expression": "bsd-new", + "license_expression_spdx": "BSD-3-Clause", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "bsd-new", + "spdx_license_expression": "BSD-3-Clause", "rule_identifier": "bsd-new_10.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-new_10.RULE", diff --git a/tests/packagedcode/data/rubygems/gem/new/int_time-0.0.2.gem.json b/tests/packagedcode/data/rubygems/gem/new/int_time-0.0.2.gem.json index 29c7b22698..21bbaa12dc 100644 --- a/tests/packagedcode/data/rubygems/gem/new/int_time-0.0.2.gem.json +++ b/tests/packagedcode/data/rubygems/gem/new/int_time-0.0.2.gem.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/rubygems/gem/new/jaro_winkler-1.5.1-java.gem.json b/tests/packagedcode/data/rubygems/gem/new/jaro_winkler-1.5.1-java.gem.json index 38c10bae04..15b07e3f92 100644 --- a/tests/packagedcode/data/rubygems/gem/new/jaro_winkler-1.5.1-java.gem.json +++ b/tests/packagedcode/data/rubygems/gem/new/jaro_winkler-1.5.1-java.gem.json @@ -38,15 +38,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/rubygems/gem/new/rubocop-0.62.0.gem.json b/tests/packagedcode/data/rubygems/gem/new/rubocop-0.62.0.gem.json index 4976b06288..73e6888efd 100644 --- a/tests/packagedcode/data/rubygems/gem/new/rubocop-0.62.0.gem.json +++ b/tests/packagedcode/data/rubygems/gem/new/rubocop-0.62.0.gem.json @@ -50,15 +50,18 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 1, "match_coverage": 100.0, "matcher": "1-spdx-id", "license_expression": "mit", + "spdx_license_expression": "MIT", "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_relevance": 100, "rule_url": null, diff --git a/tests/packagedcode/data/win_pe/Microsoft.Practices.EnterpriseLibrary.Caching.dll.package-expected.json b/tests/packagedcode/data/win_pe/Microsoft.Practices.EnterpriseLibrary.Caching.dll.package-expected.json index a7bb31b504..c9f46cad95 100644 --- a/tests/packagedcode/data/win_pe/Microsoft.Practices.EnterpriseLibrary.Caching.dll.package-expected.json +++ b/tests/packagedcode/data/win_pe/Microsoft.Practices.EnterpriseLibrary.Caching.dll.package-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { "score": 75.0, "start_line": 1, "end_line": 3, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", "rule_identifier": "package-manifest-unknown-ad65678ddd5bed50985f1d896d812061269049b0", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ad65678ddd5bed50985f1d896d812061269049b0", diff --git a/tests/packagedcode/data/win_pe/Moq.Silverlight.dll.package-expected.json b/tests/packagedcode/data/win_pe/Moq.Silverlight.dll.package-expected.json index 3f8dce3987..5e4548e14f 100644 --- a/tests/packagedcode/data/win_pe/Moq.Silverlight.dll.package-expected.json +++ b/tests/packagedcode/data/win_pe/Moq.Silverlight.dll.package-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { "score": 75.0, "start_line": 1, "end_line": 3, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", "rule_identifier": "package-manifest-unknown-ad65678ddd5bed50985f1d896d812061269049b0", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ad65678ddd5bed50985f1d896d812061269049b0", diff --git a/tests/packagedcode/data/win_pe/Windows.AI.winmd.package-expected.json b/tests/packagedcode/data/win_pe/Windows.AI.winmd.package-expected.json index 34b6fd1ed8..34090a5517 100644 --- a/tests/packagedcode/data/win_pe/Windows.AI.winmd.package-expected.json +++ b/tests/packagedcode/data/win_pe/Windows.AI.winmd.package-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { "score": 88.89, "start_line": 1, "end_line": 3, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", diff --git a/tests/packagedcode/data/win_pe/_ctypes_test.pyd.package-expected.json b/tests/packagedcode/data/win_pe/_ctypes_test.pyd.package-expected.json index ccb14a0a74..ae66ab3e67 100644 --- a/tests/packagedcode/data/win_pe/_ctypes_test.pyd.package-expected.json +++ b/tests/packagedcode/data/win_pe/_ctypes_test.pyd.package-expected.json @@ -28,15 +28,18 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { "score": 75.0, "start_line": 1, "end_line": 3, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", "rule_identifier": "package-manifest-unknown-ad65678ddd5bed50985f1d896d812061269049b0", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ad65678ddd5bed50985f1d896d812061269049b0", diff --git a/tests/packagedcode/data/win_pe/chcp.com.package-expected.json b/tests/packagedcode/data/win_pe/chcp.com.package-expected.json index fc58940f8b..99d253eae6 100644 --- a/tests/packagedcode/data/win_pe/chcp.com.package-expected.json +++ b/tests/packagedcode/data/win_pe/chcp.com.package-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { "score": 88.89, "start_line": 1, "end_line": 3, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", diff --git a/tests/packagedcode/data/win_pe/clfs.sys.mui.package-expected.json b/tests/packagedcode/data/win_pe/clfs.sys.mui.package-expected.json index 22eca18d57..7dcc66f099 100644 --- a/tests/packagedcode/data/win_pe/clfs.sys.mui.package-expected.json +++ b/tests/packagedcode/data/win_pe/clfs.sys.mui.package-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { "score": 88.89, "start_line": 1, "end_line": 3, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", diff --git a/tests/packagedcode/data/win_pe/crypt32.dll.mun.package-expected.json b/tests/packagedcode/data/win_pe/crypt32.dll.mun.package-expected.json index 55ddfcff86..e1e169d2a6 100644 --- a/tests/packagedcode/data/win_pe/crypt32.dll.mun.package-expected.json +++ b/tests/packagedcode/data/win_pe/crypt32.dll.mun.package-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { "score": 88.89, "start_line": 1, "end_line": 3, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", diff --git a/tests/packagedcode/data/win_pe/euc-jp.so.package-expected.json b/tests/packagedcode/data/win_pe/euc-jp.so.package-expected.json index ccb14a0a74..ae66ab3e67 100644 --- a/tests/packagedcode/data/win_pe/euc-jp.so.package-expected.json +++ b/tests/packagedcode/data/win_pe/euc-jp.so.package-expected.json @@ -28,15 +28,18 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { "score": 75.0, "start_line": 1, "end_line": 3, + "from_file": null, "matched_length": 3, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", "rule_identifier": "package-manifest-unknown-ad65678ddd5bed50985f1d896d812061269049b0", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ad65678ddd5bed50985f1d896d812061269049b0", diff --git a/tests/packagedcode/data/win_pe/file.exe.package-expected.json b/tests/packagedcode/data/win_pe/file.exe.package-expected.json index 3b4b626b8f..6795157fe1 100644 --- a/tests/packagedcode/data/win_pe/file.exe.package-expected.json +++ b/tests/packagedcode/data/win_pe/file.exe.package-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "bsd-simplified-darwin", + "license_expression_spdx": "LicenseRef-scancode-bsd-simplified-darwin", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 217, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "bsd-simplified-darwin", + "spdx_license_expression": "LicenseRef-scancode-bsd-simplified-darwin", "rule_identifier": "bsd-simplified-darwin.LICENSE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-simplified-darwin.LICENSE", diff --git a/tests/packagedcode/data/win_pe/libiconv2.dll.package-expected.json b/tests/packagedcode/data/win_pe/libiconv2.dll.package-expected.json index 019c23c5ed..49497958a9 100644 --- a/tests/packagedcode/data/win_pe/libiconv2.dll.package-expected.json +++ b/tests/packagedcode/data/win_pe/libiconv2.dll.package-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 30, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", "rule_identifier": "lgpl-2.1-plus_455.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_455.RULE", diff --git a/tests/packagedcode/data/win_pe/libintl3.dll.package-expected.json b/tests/packagedcode/data/win_pe/libintl3.dll.package-expected.json index 86a817c8ab..7f02b987d9 100644 --- a/tests/packagedcode/data/win_pe/libintl3.dll.package-expected.json +++ b/tests/packagedcode/data/win_pe/libintl3.dll.package-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 29, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", "rule_identifier": "gpl-1.0-plus_569.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_569.RULE", diff --git a/tests/packagedcode/data/win_pe/stdole2.tlb.package-expected.json b/tests/packagedcode/data/win_pe/stdole2.tlb.package-expected.json index 90c7e2696d..45b9362271 100644 --- a/tests/packagedcode/data/win_pe/stdole2.tlb.package-expected.json +++ b/tests/packagedcode/data/win_pe/stdole2.tlb.package-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { "score": 88.89, "start_line": 1, "end_line": 3, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", diff --git a/tests/packagedcode/data/win_pe/tbs.sys.package-expected.json b/tests/packagedcode/data/win_pe/tbs.sys.package-expected.json index 141004ae02..bc5f21b152 100644 --- a/tests/packagedcode/data/win_pe/tbs.sys.package-expected.json +++ b/tests/packagedcode/data/win_pe/tbs.sys.package-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { "score": 88.89, "start_line": 1, "end_line": 3, + "from_file": null, "matched_length": 8, "match_coverage": 100.0, "matcher": "5-undetected", "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", "rule_identifier": "package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-ac5b72bda2754025edd093f0f8161168689d3065", diff --git a/tests/packagedcode/data/win_pe/tre4.dll.package-expected.json b/tests/packagedcode/data/win_pe/tre4.dll.package-expected.json index 663bc995ef..d589588e63 100644 --- a/tests/packagedcode/data/win_pe/tre4.dll.package-expected.json +++ b/tests/packagedcode/data/win_pe/tre4.dll.package-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 29, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", "rule_identifier": "gpl-1.0-plus_569.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-1.0-plus_569.RULE", diff --git a/tests/packagedcode/data/win_pe/zlib1.dll.package-expected.json b/tests/packagedcode/data/win_pe/zlib1.dll.package-expected.json index 8f2569b9b2..d48b4fb8f3 100644 --- a/tests/packagedcode/data/win_pe/zlib1.dll.package-expected.json +++ b/tests/packagedcode/data/win_pe/zlib1.dll.package-expected.json @@ -36,15 +36,18 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { "score": 66.67, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 2, "match_coverage": 100.0, "matcher": "1-hash", "license_expression": "zlib", + "spdx_license_expression": "Zlib", "rule_identifier": "zlib_24.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_24.RULE", @@ -55,15 +58,18 @@ }, { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { "score": 100.0, "start_line": 1, "end_line": 1, + "from_file": null, "matched_length": 144, "match_coverage": 100.0, "matcher": "2-aho", "license_expression": "zlib", + "spdx_license_expression": "Zlib", "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE", diff --git a/tests/packagedcode/test_license_detection.py b/tests/packagedcode/test_license_detection.py index ccb2ac6227..ffced68a1f 100644 --- a/tests/packagedcode/test_license_detection.py +++ b/tests/packagedcode/test_license_detection.py @@ -19,7 +19,7 @@ test_env.test_data_dir = os.path.join(os.path.dirname(__file__), 'data') -def test_license_reference_detection_in_manifest_unknown(): +def test_license_reference_detection_in_manifest_unknown_with_license(): test_dir = test_env.get_test_loc('license_detection/reference-at-manifest/flutter_playtabs_bridge/', copy=True) result_file = test_env.get_temp_file('json') args = [ @@ -96,6 +96,23 @@ def test_license_reference_detection_in_manifest_licence_comment(): def test_license_reference_detection_in_manifest_siblings(): + test_dir = test_env.get_test_loc('license_detection/license-beside-manifest/google-built-collection/', copy=True) + result_file = test_env.get_temp_file('json') + args = [ + '--license', + '--license-text', + '--package', + '--strip-root', + '--verbose', + '--json', result_file, + test_dir, + ] + run_scan_click(args) + test_loc = test_env.get_test_loc('license_detection/license-beside-manifest/google-built-collection.expected.json') + check_json_scan(test_loc, result_file, regen=REGEN_TEST_FIXTURES) + + +def test_license_reference_detection_in_manifest_siblings_with_diag(): test_dir = test_env.get_test_loc('license_detection/license-beside-manifest/google-built-collection/', copy=True) result_file = test_env.get_temp_file('json') args = [ @@ -110,7 +127,7 @@ def test_license_reference_detection_in_manifest_siblings(): test_dir, ] run_scan_click(args) - test_loc = test_env.get_test_loc('license_detection/license-beside-manifest/google-built-collection.expected.json') + test_loc = test_env.get_test_loc('license_detection/license-beside-manifest/google-built-collection-diag.expected.json') check_json_scan(test_loc, result_file, regen=REGEN_TEST_FIXTURES) @@ -173,6 +190,23 @@ def test_license_reference_detection_in_manifest_siblings_without_license(): test_loc = test_env.get_test_loc('license_detection/license-beside-manifest/google-built-collection_without_license.expected.json') check_json_scan(test_loc, result_file, regen=REGEN_TEST_FIXTURES) + +def test_license_reference_detection_in_manifest_siblings_without_license_text(): + test_dir = test_env.get_test_loc('license_detection/license-beside-manifest/google-built-collection/', copy=True) + result_file = test_env.get_temp_file('json') + args = [ + '--package', + '--license', + '--strip-root', + '--verbose', + '--json', result_file, + test_dir, + ] + run_scan_click(args) + test_loc = test_env.get_test_loc('license_detection/license-beside-manifest/google-built-collection_without_license_text.expected.json') + check_json_scan(test_loc, result_file, regen=REGEN_TEST_FIXTURES) + + def test_license_reference_to_unknown_package_complex_package(): test_dir = test_env.get_test_loc('license_detection/reference-to-package/google_appengine_sdk/') result_file = test_env.get_temp_file('json') diff --git a/tests/scancode/data/composer/composer.expected.json b/tests/scancode/data/composer/composer.expected.json index 67da4977e3..1aa28272bc 100644 --- a/tests/scancode/data/composer/composer.expected.json +++ b/tests/scancode/data/composer/composer.expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "composer.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -231,17 +234,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "composer.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } diff --git a/tests/scancode/data/info/all.expected.json b/tests/scancode/data/info/all.expected.json index 0008cfa0fb..31ff697c27 100644 --- a/tests/scancode/data/info/all.expected.json +++ b/tests/scancode/data/info/all.expected.json @@ -3,12 +3,46 @@ { "identifier": "bsd_original_uc-f28cb4d4-6336-ee60-f186-4c1929d3a4b0", "license_expression": "bsd-original-uc", - "detection_count": 1 + "license_expression_spdx": "BSD-4-Clause-UC", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "bsd-original-uc", + "license_expression_spdx": "BSD-4-Clause-UC", + "from_file": "basic.tgz/basic/dir2/subdir/bcopy.s", + "start_line": 25, + "end_line": 51, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 243, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-original-uc_3.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE" + } + ] }, { "identifier": "gpl_2_0_or_bsd_new-1aafbf52-fc7a-3ded-e4ce-3a96e276a0f9", "license_expression": "gpl-2.0 OR bsd-new", - "detection_count": 1 + "license_expression_spdx": "GPL-2.0-only OR BSD-3-Clause", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "gpl-2.0 OR bsd-new", + "license_expression_spdx": "GPL-2.0-only OR BSD-3-Clause", + "from_file": "basic.tgz/basic/main.c", + "start_line": 5, + "end_line": 12, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 50, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0_or_bsd-new_aes_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_or_bsd-new_aes_1.RULE" + } + ] } ], "files": [ @@ -301,17 +335,20 @@ "license_detections": [ { "license_expression": "bsd-original-uc", + "license_expression_spdx": "BSD-4-Clause-UC", "matches": [ { - "score": 100.0, + "license_expression": "bsd-original-uc", + "spdx_license_expression": "BSD-4-Clause-UC", + "from_file": "basic.tgz/basic/dir2/subdir/bcopy.s", "start_line": 25, "end_line": 51, + "matcher": "2-aho", + "score": 100.0, "matched_length": 243, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-original-uc", - "rule_identifier": "bsd-original-uc_3.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-original-uc_3.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE" } ], @@ -404,17 +441,20 @@ "license_detections": [ { "license_expression": "gpl-2.0 OR bsd-new", + "license_expression_spdx": "GPL-2.0-only OR BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0 OR bsd-new", + "spdx_license_expression": "GPL-2.0-only OR BSD-3-Clause", + "from_file": "basic.tgz/basic/main.c", "start_line": 5, "end_line": 12, + "matcher": "2-aho", + "score": 100.0, "matched_length": 50, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0 OR bsd-new", - "rule_identifier": "gpl-2.0_or_bsd-new_aes_1.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_or_bsd-new_aes_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_or_bsd-new_aes_1.RULE" } ], diff --git a/tests/scancode/data/info/all.rooted.expected.json b/tests/scancode/data/info/all.rooted.expected.json index e582756303..cb95d6da51 100644 --- a/tests/scancode/data/info/all.rooted.expected.json +++ b/tests/scancode/data/info/all.rooted.expected.json @@ -3,12 +3,46 @@ { "identifier": "bsd_original_uc-f28cb4d4-6336-ee60-f186-4c1929d3a4b0", "license_expression": "bsd-original-uc", - "detection_count": 1 + "license_expression_spdx": "BSD-4-Clause-UC", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "bsd-original-uc", + "license_expression_spdx": "BSD-4-Clause-UC", + "from_file": "basic.tgz/basic/dir2/subdir/bcopy.s", + "start_line": 25, + "end_line": 51, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 243, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-original-uc_3.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE" + } + ] }, { "identifier": "gpl_2_0_or_bsd_new-1aafbf52-fc7a-3ded-e4ce-3a96e276a0f9", "license_expression": "gpl-2.0 OR bsd-new", - "detection_count": 1 + "license_expression_spdx": "GPL-2.0-only OR BSD-3-Clause", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "gpl-2.0 OR bsd-new", + "license_expression_spdx": "GPL-2.0-only OR BSD-3-Clause", + "from_file": "basic.tgz/basic/main.c", + "start_line": 5, + "end_line": 12, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 50, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0_or_bsd-new_aes_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_or_bsd-new_aes_1.RULE" + } + ] } ], "files": [ @@ -155,17 +189,20 @@ "license_detections": [ { "license_expression": "bsd-original-uc", + "license_expression_spdx": "BSD-4-Clause-UC", "matches": [ { - "score": 100.0, + "license_expression": "bsd-original-uc", + "spdx_license_expression": "BSD-4-Clause-UC", + "from_file": "basic.tgz/basic/dir2/subdir/bcopy.s", "start_line": 25, "end_line": 51, + "matcher": "2-aho", + "score": 100.0, "matched_length": 243, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-original-uc", - "rule_identifier": "bsd-original-uc_3.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-original-uc_3.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE" } ], @@ -240,17 +277,20 @@ "license_detections": [ { "license_expression": "gpl-2.0 OR bsd-new", + "license_expression_spdx": "GPL-2.0-only OR BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0 OR bsd-new", + "spdx_license_expression": "GPL-2.0-only OR BSD-3-Clause", + "from_file": "basic.tgz/basic/main.c", "start_line": 5, "end_line": 12, + "matcher": "2-aho", + "score": 100.0, "matched_length": 50, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0 OR bsd-new", - "rule_identifier": "gpl-2.0_or_bsd-new_aes_1.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_or_bsd-new_aes_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_or_bsd-new_aes_1.RULE" } ], diff --git a/tests/scancode/data/license_text/test.expected b/tests/scancode/data/license_text/test.expected index 2483a3ad53..f604590b32 100644 --- a/tests/scancode/data/license_text/test.expected +++ b/tests/scancode/data/license_text/test.expected @@ -3,8 +3,27 @@ { "identifier": "lgpl_2_1-694bd705-92dd-1a63-d099-ca6c411c469a", "license_expression": "lgpl-2.1", + "license_expression_spdx": "LGPL-2.1-only", "detection_count": 1, - "detection_log": [] + "detection_log": [], + "reference_matches": [ + { + "license_expression": "lgpl-2.1", + "license_expression_spdx": "LGPL-2.1-only", + "from_file": "test.txt", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1_38.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_38.RULE", + "matched_text": "foo bar this that license: LGPL-2.1 bar", + "matched_text_diagnostics": "license: LGPL-2.1" + } + ] } ], "files": [ @@ -16,19 +35,23 @@ "license_detections": [ { "license_expression": "lgpl-2.1", + "license_expression_spdx": "LGPL-2.1-only", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1", + "spdx_license_expression": "LGPL-2.1-only", + "from_file": "test.txt", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1", - "rule_identifier": "lgpl-2.1_38.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1_38.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1_38.RULE", - "matched_text": "license: LGPL-2.1" + "matched_text": "foo bar this that license: LGPL-2.1 bar", + "matched_text_diagnostics": "license: LGPL-2.1" } ], "detection_log": [], diff --git a/tests/scancode/data/plugin_only_findings/basic.expected.json b/tests/scancode/data/plugin_only_findings/basic.expected.json index 85675322dd..ccb240aca4 100644 --- a/tests/scancode/data/plugin_only_findings/basic.expected.json +++ b/tests/scancode/data/plugin_only_findings/basic.expected.json @@ -5,12 +5,46 @@ { "identifier": "bsd_original_uc-f28cb4d4-6336-ee60-f186-4c1929d3a4b0", "license_expression": "bsd-original-uc", - "detection_count": 1 + "license_expression_spdx": "BSD-4-Clause-UC", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "bsd-original-uc", + "license_expression_spdx": "BSD-4-Clause-UC", + "from_file": "basic.tgz/basic/dir2/subdir/bcopy.s", + "start_line": 25, + "end_line": 51, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 243, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "bsd-original-uc_3.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE" + } + ] }, { "identifier": "gpl_2_0_or_bsd_new-1aafbf52-fc7a-3ded-e4ce-3a96e276a0f9", "license_expression": "gpl-2.0 OR bsd-new", - "detection_count": 1 + "license_expression_spdx": "GPL-2.0-only OR BSD-3-Clause", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "gpl-2.0 OR bsd-new", + "license_expression_spdx": "GPL-2.0-only OR BSD-3-Clause", + "from_file": "basic.tgz/basic/main.c", + "start_line": 5, + "end_line": 12, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 50, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0_or_bsd-new_aes_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_or_bsd-new_aes_1.RULE" + } + ] } ], "files": [ @@ -40,17 +74,20 @@ "license_detections": [ { "license_expression": "bsd-original-uc", + "license_expression_spdx": "BSD-4-Clause-UC", "matches": [ { - "score": 100.0, + "license_expression": "bsd-original-uc", + "spdx_license_expression": "BSD-4-Clause-UC", + "from_file": "basic.tgz/basic/dir2/subdir/bcopy.s", "start_line": 25, "end_line": 51, + "matcher": "2-aho", + "score": 100.0, "matched_length": 243, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "bsd-original-uc", - "rule_identifier": "bsd-original-uc_3.RULE", "rule_relevance": 100, + "rule_identifier": "bsd-original-uc_3.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/bsd-original-uc_3.RULE" } ], @@ -111,17 +148,20 @@ "license_detections": [ { "license_expression": "gpl-2.0 OR bsd-new", + "license_expression_spdx": "GPL-2.0-only OR BSD-3-Clause", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0 OR bsd-new", + "spdx_license_expression": "GPL-2.0-only OR BSD-3-Clause", + "from_file": "basic.tgz/basic/main.c", "start_line": 5, "end_line": 12, + "matcher": "2-aho", + "score": 100.0, "matched_length": 50, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0 OR bsd-new", - "rule_identifier": "gpl-2.0_or_bsd-new_aes_1.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_or_bsd-new_aes_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_or_bsd-new_aes_1.RULE" } ], diff --git a/tests/scancode/data/rpm/fping-2.4-0.b2.rhfc1.dag.i386.rpm.expected.json b/tests/scancode/data/rpm/fping-2.4-0.b2.rhfc1.dag.i386.rpm.expected.json index 5c336ed8ce..eed438c210 100644 --- a/tests/scancode/data/rpm/fping-2.4-0.b2.rhfc1.dag.i386.rpm.expected.json +++ b/tests/scancode/data/rpm/fping-2.4-0.b2.rhfc1.dag.i386.rpm.expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { - "score": 100.0, + "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", + "from_file": "fping-2.4-0.b2.rhfc1.dag.i386.rpm", "start_line": 1, "end_line": 1, + "matcher": "5-undetected", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "5-undetected", - "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-195220dbe86398dd9a8e945a50757302c09fb0dc", "rule_relevance": 100, + "rule_identifier": "package-manifest-unknown-195220dbe86398dd9a8e945a50757302c09fb0dc", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-195220dbe86398dd9a8e945a50757302c09fb0dc", "matched_text": "license distributable" } @@ -120,17 +123,20 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { - "score": 100.0, + "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", + "from_file": "fping-2.4-0.b2.rhfc1.dag.i386.rpm", "start_line": 1, "end_line": 1, + "matcher": "5-undetected", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "5-undetected", - "license_expression": "unknown", - "rule_identifier": "package-manifest-unknown-195220dbe86398dd9a8e945a50757302c09fb0dc", "rule_relevance": 100, + "rule_identifier": "package-manifest-unknown-195220dbe86398dd9a8e945a50757302c09fb0dc", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/package-manifest-unknown-195220dbe86398dd9a8e945a50757302c09fb0dc", "matched_text": "license distributable" } diff --git a/tests/summarycode/data/classify/with_package_data.expected.json b/tests/summarycode/data/classify/with_package_data.expected.json index b627df979b..9c84444516 100644 --- a/tests/summarycode/data/classify/with_package_data.expected.json +++ b/tests/summarycode/data/classify/with_package_data.expected.json @@ -29,30 +29,35 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jar/META-INF/maven/org.jboss.logging/jboss-logging/pom.xml", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "- name: Apache License, version 2.0" }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jar/META-INF/maven/org.jboss.logging/jboss-logging/pom.xml", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_42.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", "matched_text": " url: http://www.apache.org/licenses/LICENSE-2.0.txt" } @@ -648,30 +653,35 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jar/META-INF/maven/org.jboss.logging/jboss-logging/pom.xml", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "- name: Apache License, version 2.0" }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jar/META-INF/maven/org.jboss.logging/jboss-logging/pom.xml", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_42.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", "matched_text": " url: http://www.apache.org/licenses/LICENSE-2.0.txt" } diff --git a/tests/summarycode/data/plugin_consolidate/component-package-build-expected.json b/tests/summarycode/data/plugin_consolidate/component-package-build-expected.json index ce7e7d4ae2..50a4552be0 100644 --- a/tests/summarycode/data/plugin_consolidate/component-package-build-expected.json +++ b/tests/summarycode/data/plugin_consolidate/component-package-build-expected.json @@ -75,17 +75,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "component-package-build/package/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "apache-2.0" } @@ -118,22 +121,90 @@ { "identifier": "apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8", "license_expression": "apache-2.0", - "detection_count": 5 + "license_expression_spdx": "Apache-2.0", + "detection_count": 5, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "component-package-build/component/src1", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" + } + ] }, { "identifier": "apache_2_0-ec759ae0-ea5a-f138-793e-388520e080c0", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "component-package-build/package/package.json", + "start_line": 5, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" + } + ] }, { "identifier": "gpl_2_0-864c0c2e-be17-d035-c591-df0235f46a09", "license_expression": "gpl-2.0", - "detection_count": 1 + "license_expression_spdx": "GPL-2.0-only", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", + "from_file": "component-package-build/package/src2", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 9, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0_1336.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1336.RULE" + } + ] }, { "identifier": "lgpl_2_0-3903e697-0f73-0feb-d95d-198a91825d0f", "license_expression": "lgpl-2.0", - "detection_count": 1 + "license_expression_spdx": "LGPL-2.0-only", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "lgpl-2.0", + "license_expression_spdx": "LGPL-2.0-only", + "from_file": "component-package-build/component/src4", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 80.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 80, + "rule_identifier": "lgpl-2.0_bare_id.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0_bare_id.RULE" + } + ] } ], "consolidated_components": [ @@ -402,17 +473,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "component-package-build/component/src1", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], @@ -470,17 +544,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "component-package-build/component/src2", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], @@ -538,17 +615,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "component-package-build/component/src3", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], @@ -606,17 +686,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0", + "license_expression_spdx": "LGPL-2.0-only", "matches": [ { - "score": 80.0, + "license_expression": "lgpl-2.0", + "spdx_license_expression": "LGPL-2.0-only", + "from_file": "component-package-build/component/src4", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 80.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0", - "rule_identifier": "lgpl-2.0_bare_id.RULE", "rule_relevance": 80, + "rule_identifier": "lgpl-2.0_bare_id.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0_bare_id.RULE" } ], @@ -734,17 +817,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "component-package-build/package/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "apache-2.0" } @@ -776,17 +862,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "component-package-build/package/package.json", "start_line": 5, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_65.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" } ], @@ -844,17 +933,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "component-package-build/package/src1", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], @@ -912,17 +1004,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "component-package-build/package/src2", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_1336.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_1336.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1336.RULE" } ], diff --git a/tests/summarycode/data/plugin_consolidate/component-package-expected.json b/tests/summarycode/data/plugin_consolidate/component-package-expected.json index 25db40bc63..c9eb2a724f 100644 --- a/tests/summarycode/data/plugin_consolidate/component-package-expected.json +++ b/tests/summarycode/data/plugin_consolidate/component-package-expected.json @@ -29,17 +29,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "component-package/package/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "apache-2.0" } @@ -72,22 +75,90 @@ { "identifier": "apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8", "license_expression": "apache-2.0", - "detection_count": 5 + "license_expression_spdx": "Apache-2.0", + "detection_count": 5, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "component-package/component/src1", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" + } + ] }, { "identifier": "apache_2_0-ec759ae0-ea5a-f138-793e-388520e080c0", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "component-package/package/package.json", + "start_line": 5, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" + } + ] }, { "identifier": "gpl_2_0-864c0c2e-be17-d035-c591-df0235f46a09", "license_expression": "gpl-2.0", - "detection_count": 1 + "license_expression_spdx": "GPL-2.0-only", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", + "from_file": "component-package/package/src2", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 9, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0_1336.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1336.RULE" + } + ] }, { "identifier": "lgpl_2_0-3903e697-0f73-0feb-d95d-198a91825d0f", "license_expression": "lgpl-2.0", - "detection_count": 1 + "license_expression_spdx": "LGPL-2.0-only", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "lgpl-2.0", + "license_expression_spdx": "LGPL-2.0-only", + "from_file": "component-package/component/src4", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 80.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 80, + "rule_identifier": "lgpl-2.0_bare_id.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0_bare_id.RULE" + } + ] } ], "consolidated_components": [ @@ -241,17 +312,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "component-package/component/src1", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], @@ -309,17 +383,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "component-package/component/src2", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], @@ -377,17 +454,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "component-package/component/src3", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], @@ -445,17 +525,20 @@ "license_detections": [ { "license_expression": "lgpl-2.0", + "license_expression_spdx": "LGPL-2.0-only", "matches": [ { - "score": 80.0, + "license_expression": "lgpl-2.0", + "spdx_license_expression": "LGPL-2.0-only", + "from_file": "component-package/component/src4", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 80.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.0", - "rule_identifier": "lgpl-2.0_bare_id.RULE", "rule_relevance": 80, + "rule_identifier": "lgpl-2.0_bare_id.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.0_bare_id.RULE" } ], @@ -573,17 +656,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "component-package/package/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "apache-2.0" } @@ -615,17 +701,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "component-package/package/package.json", "start_line": 5, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_65.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" } ], @@ -683,17 +772,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "component-package/package/src1", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], @@ -751,17 +843,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "component-package/package/src2", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_1336.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_1336.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1336.RULE" } ], diff --git a/tests/summarycode/data/plugin_consolidate/license-holder-rollup-expected.json b/tests/summarycode/data/plugin_consolidate/license-holder-rollup-expected.json index 1ca20154a3..1ce37ee564 100644 --- a/tests/summarycode/data/plugin_consolidate/license-holder-rollup-expected.json +++ b/tests/summarycode/data/plugin_consolidate/license-holder-rollup-expected.json @@ -5,12 +5,74 @@ { "identifier": "apache_2_0-b955b3e8-dd31-4357-9227-7a93de3b06a1", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "license-holder-rollup/no-majority/foo/baz", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 50.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 50, + "rule_identifier": "license-intro_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_2.RULE" + }, + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "license-holder-rollup/no-majority/foo/baz", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" + } + ] }, { "identifier": "gpl_1_0_plus_and_gpl_2_0-1e023d4a-9b9a-a032-f999-6d506ad4bcde", "license_expression": "gpl-1.0-plus AND gpl-2.0", - "detection_count": 2 + "license_expression_spdx": "GPL-1.0-or-later AND GPL-2.0-only", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "license-holder-rollup/clear-majority/dir1/file1", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl_208.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_208.RULE" + }, + { + "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", + "from_file": "license-holder-rollup/clear-majority/dir1/file1", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0_840.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_840.RULE" + } + ] } ], "consolidated_components": [ @@ -198,29 +260,34 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus AND gpl-2.0", + "license_expression_spdx": "GPL-1.0-or-later AND GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "license-holder-rollup/clear-majority/dir1/file1", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_208.RULE", "rule_relevance": 100, + "rule_identifier": "gpl_208.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_208.RULE" }, { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "license-holder-rollup/clear-majority/dir1/file1", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_840.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_840.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_840.RULE" } ], @@ -350,29 +417,34 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus AND gpl-2.0", + "license_expression_spdx": "GPL-1.0-or-later AND GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "license-holder-rollup/no-majority/bar/qux", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_208.RULE", "rule_relevance": 100, + "rule_identifier": "gpl_208.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_208.RULE" }, { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "license-holder-rollup/no-majority/bar/qux", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_840.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_840.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_840.RULE" } ], @@ -467,29 +539,34 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 50.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "license-holder-rollup/no-majority/foo/baz", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 50.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "license-intro_2.RULE", "rule_relevance": 50, + "rule_identifier": "license-intro_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_2.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "license-holder-rollup/no-majority/foo/baz", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], diff --git a/tests/summarycode/data/plugin_consolidate/multiple-same-holder-and-license-expected.json b/tests/summarycode/data/plugin_consolidate/multiple-same-holder-and-license-expected.json index d837c37e06..738de8695c 100644 --- a/tests/summarycode/data/plugin_consolidate/multiple-same-holder-and-license-expected.json +++ b/tests/summarycode/data/plugin_consolidate/multiple-same-holder-and-license-expected.json @@ -5,7 +5,38 @@ { "identifier": "gpl_2_0-20789449-d01b-5c54-146e-d0c746e6368a", "license_expression": "gpl-2.0", - "detection_count": 2 + "license_expression_spdx": "GPL-2.0-only", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", + "from_file": "multiple-same-holder-and-license/bar", + "start_line": 4, + "end_line": 4, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0_1074.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1074.RULE" + }, + { + "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", + "from_file": "multiple-same-holder-and-license/bar", + "start_line": 5, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0_1074.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1074.RULE" + } + ] } ], "consolidated_components": [ @@ -91,29 +122,34 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "multiple-same-holder-and-license/bar", "start_line": 4, "end_line": 4, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_1074.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_1074.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1074.RULE" }, { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "multiple-same-holder-and-license/bar", "start_line": 5, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_1074.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_1074.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1074.RULE" } ], @@ -181,29 +217,34 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "multiple-same-holder-and-license/foo", "start_line": 4, "end_line": 4, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_1074.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_1074.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1074.RULE" }, { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "multiple-same-holder-and-license/foo", "start_line": 5, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_1074.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_1074.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_1074.RULE" } ], diff --git a/tests/summarycode/data/plugin_consolidate/package-files-not-counted-in-license-holders-expected.json b/tests/summarycode/data/plugin_consolidate/package-files-not-counted-in-license-holders-expected.json index cbd656db35..0fd1104ee1 100644 --- a/tests/summarycode/data/plugin_consolidate/package-files-not-counted-in-license-holders-expected.json +++ b/tests/summarycode/data/plugin_consolidate/package-files-not-counted-in-license-holders-expected.json @@ -29,17 +29,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package-files-not-counted-in-license-holders/package/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "apache-2.0" } @@ -72,12 +75,46 @@ { "identifier": "apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8", "license_expression": "apache-2.0", - "detection_count": 6 + "license_expression_spdx": "Apache-2.0", + "detection_count": 6, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "package-files-not-counted-in-license-holders/src1", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" + } + ] }, { "identifier": "apache_2_0-ec759ae0-ea5a-f138-793e-388520e080c0", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "package-files-not-counted-in-license-holders/package/package.json", + "start_line": 5, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" + } + ] } ], "consolidated_components": [ @@ -221,17 +258,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package-files-not-counted-in-license-holders/package/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "apache-2.0" } @@ -263,17 +303,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package-files-not-counted-in-license-holders/package/package.json", "start_line": 5, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_65.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" } ], @@ -333,17 +376,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package-files-not-counted-in-license-holders/package/src1", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], @@ -403,17 +449,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package-files-not-counted-in-license-holders/package/src2", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], @@ -473,17 +522,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package-files-not-counted-in-license-holders/package/src3", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], @@ -541,17 +593,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package-files-not-counted-in-license-holders/src1", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], @@ -609,17 +664,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package-files-not-counted-in-license-holders/src2", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], diff --git a/tests/summarycode/data/plugin_consolidate/package-fileset-expected.json b/tests/summarycode/data/plugin_consolidate/package-fileset-expected.json index e5bc7e28a0..e7577a3fdb 100644 --- a/tests/summarycode/data/plugin_consolidate/package-fileset-expected.json +++ b/tests/summarycode/data/plugin_consolidate/package-fileset-expected.json @@ -29,17 +29,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "apache-2.0" } @@ -72,12 +75,46 @@ { "identifier": "apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8", "license_expression": "apache-2.0", - "detection_count": 4 + "license_expression_spdx": "Apache-2.0", + "detection_count": 4, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "package/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" + } + ] }, { "identifier": "apache_2_0-ec759ae0-ea5a-f138-793e-388520e080c0", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "package/package.json", + "start_line": 4, + "end_line": 4, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" + } + ] } ], "consolidated_components": [ @@ -186,17 +223,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "apache-2.0" } @@ -228,17 +268,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package/package.json", "start_line": 4, "end_line": 4, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_65.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" } ], @@ -284,17 +327,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package/src1", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], @@ -354,17 +400,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package/src2", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], @@ -424,17 +473,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package/src3", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], diff --git a/tests/summarycode/data/plugin_consolidate/package-manifest-expected.json b/tests/summarycode/data/plugin_consolidate/package-manifest-expected.json index 9b62719fba..ef1f04428e 100644 --- a/tests/summarycode/data/plugin_consolidate/package-manifest-expected.json +++ b/tests/summarycode/data/plugin_consolidate/package-manifest-expected.json @@ -29,17 +29,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package-manifest/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "apache-2.0" } @@ -72,12 +75,46 @@ { "identifier": "apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "package-manifest/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" + } + ] }, { "identifier": "apache_2_0-ec759ae0-ea5a-f138-793e-388520e080c0", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "package-manifest/package.json", + "start_line": 4, + "end_line": 4, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" + } + ] } ], "consolidated_components": [], @@ -167,17 +204,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package-manifest/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "apache-2.0" } @@ -209,17 +249,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "package-manifest/package.json", "start_line": 4, "end_line": 4, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_65.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" } ], diff --git a/tests/summarycode/data/plugin_consolidate/report-subdirectory-with-minority-origin-expected.json b/tests/summarycode/data/plugin_consolidate/report-subdirectory-with-minority-origin-expected.json index fac3bf6246..96885a9491 100644 --- a/tests/summarycode/data/plugin_consolidate/report-subdirectory-with-minority-origin-expected.json +++ b/tests/summarycode/data/plugin_consolidate/report-subdirectory-with-minority-origin-expected.json @@ -5,7 +5,24 @@ { "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", "license_expression": "mit", - "detection_count": 4 + "license_expression_spdx": "MIT", + "detection_count": 4, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "report-subdirectory-with-minority-origin/b", + "start_line": 3, + "end_line": 7, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] } ], "consolidated_components": [ @@ -107,17 +124,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "report-subdirectory-with-minority-origin/b", "start_line": 3, "end_line": 7, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -175,17 +195,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "report-subdirectory-with-minority-origin/c", "start_line": 3, "end_line": 7, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -243,17 +266,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "report-subdirectory-with-minority-origin/d", "start_line": 3, "end_line": 7, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -348,17 +374,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "report-subdirectory-with-minority-origin/minority_holder/a", "start_line": 3, "end_line": 7, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], diff --git a/tests/summarycode/data/plugin_consolidate/return-nested-local-majority-expected.json b/tests/summarycode/data/plugin_consolidate/return-nested-local-majority-expected.json index 114413820d..6c60674fa1 100644 --- a/tests/summarycode/data/plugin_consolidate/return-nested-local-majority-expected.json +++ b/tests/summarycode/data/plugin_consolidate/return-nested-local-majority-expected.json @@ -5,12 +5,74 @@ { "identifier": "apache_2_0-b955b3e8-dd31-4357-9227-7a93de3b06a1", "license_expression": "apache-2.0", - "detection_count": 3 + "license_expression_spdx": "Apache-2.0", + "detection_count": 3, + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "return-nested-local-majority/foo/bar", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 50.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 50, + "rule_identifier": "license-intro_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_2.RULE" + }, + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "return-nested-local-majority/foo/bar", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" + } + ] }, { "identifier": "gpl_1_0_plus_and_gpl_2_0-1e023d4a-9b9a-a032-f999-6d506ad4bcde", "license_expression": "gpl-1.0-plus AND gpl-2.0", - "detection_count": 1 + "license_expression_spdx": "GPL-1.0-or-later AND GPL-2.0-only", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "return-nested-local-majority/foo/local-majority/baz", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl_208.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_208.RULE" + }, + { + "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", + "from_file": "return-nested-local-majority/foo/local-majority/baz", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0_840.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_840.RULE" + } + ] } ], "consolidated_components": [ @@ -147,29 +209,34 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 50.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "return-nested-local-majority/foo/bar", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 50.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "license-intro_2.RULE", "rule_relevance": 50, + "rule_identifier": "license-intro_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_2.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "return-nested-local-majority/foo/bar", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], @@ -227,29 +294,34 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 50.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "return-nested-local-majority/foo/bax", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 50.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "license-intro_2.RULE", "rule_relevance": 50, + "rule_identifier": "license-intro_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_2.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "return-nested-local-majority/foo/bax", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], @@ -344,29 +416,34 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus AND gpl-2.0", + "license_expression_spdx": "GPL-1.0-or-later AND GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "return-nested-local-majority/foo/local-majority/baz", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_208.RULE", "rule_relevance": 100, + "rule_identifier": "gpl_208.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_208.RULE" }, { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "return-nested-local-majority/foo/local-majority/baz", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_840.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_840.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_840.RULE" } ], @@ -424,29 +501,34 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 50.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "return-nested-local-majority/foo/qux", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 50.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "license-intro_2.RULE", "rule_relevance": 50, + "rule_identifier": "license-intro_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/license-intro_2.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "return-nested-local-majority/foo/qux", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" } ], diff --git a/tests/summarycode/data/score/basic-expected.json b/tests/summarycode/data/score/basic-expected.json index 3a096e044b..2ff869fe2c 100644 --- a/tests/summarycode/data/score/basic-expected.json +++ b/tests/summarycode/data/score/basic-expected.json @@ -49,17 +49,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "basic/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -275,17 +278,68 @@ { "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", "license_expression": "mit", - "detection_count": 2 + "license_expression_spdx": "MIT", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "basic/index.js", + "start_line": 2, + "end_line": 19, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] }, { "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "basic/package.json", + "start_line": 7, + "end_line": 7, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" + } + ] }, { "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "basic/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_url": null + } + ] } ], "files": [ @@ -361,17 +415,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "basic/README.md", "start_line": 20, "end_line": 37, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -433,17 +490,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "basic/index.js", "start_line": 2, "end_line": 19, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -529,17 +589,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "basic/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -707,17 +770,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "basic/package.json", "start_line": 7, "end_line": 7, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_30.RULE", "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" } ], diff --git a/tests/summarycode/data/score/inconsistent_licenses_copyleft-expected.json b/tests/summarycode/data/score/inconsistent_licenses_copyleft-expected.json index 5c4a52da39..392f617005 100644 --- a/tests/summarycode/data/score/inconsistent_licenses_copyleft-expected.json +++ b/tests/summarycode/data/score/inconsistent_licenses_copyleft-expected.json @@ -49,17 +49,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "inconsistent_licenses_copyleft/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -273,24 +276,92 @@ ], "license_detections": [ { - "identifier": "gpl_2_0_plus-1db96703-cb36-48f4-1493-265d3d85eb9e", + "identifier": "gpl_2_0_plus-cdfb149f-ba4a-2c30-a8a0-76aa75a6ccf5", "license_expression": "gpl-2.0-plus", - "detection_count": 1 + "license_expression_spdx": "GPL-2.0-or-later", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", + "from_file": "inconsistent_licenses_copyleft/util.js", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 8, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_plus-d77dcfd90692f92e4c8cd586b28797e4f3d067f3", + "rule_url": null + } + ] }, { "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", "license_expression": "mit", - "detection_count": 2 + "license_expression_spdx": "MIT", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "inconsistent_licenses_copyleft/index.js", + "start_line": 2, + "end_line": 19, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] }, { "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "inconsistent_licenses_copyleft/package.json", + "start_line": 7, + "end_line": 7, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" + } + ] }, { "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "inconsistent_licenses_copyleft/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_url": null + } + ] } ], "files": [ @@ -366,17 +437,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "inconsistent_licenses_copyleft/README.md", "start_line": 20, "end_line": 37, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -438,17 +512,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "inconsistent_licenses_copyleft/index.js", "start_line": 2, "end_line": 19, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -534,17 +611,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "inconsistent_licenses_copyleft/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -712,17 +792,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "inconsistent_licenses_copyleft/package.json", "start_line": 7, "end_line": 7, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_30.RULE", "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" } ], @@ -778,21 +861,24 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "inconsistent_licenses_copyleft/util.js", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "matched_length": 8, "match_coverage": 100.0, - "matcher": "1-spdx-id", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "spdx-license-identifier-gpl-2.0-plus-3f844e1a237b3ca425edf1127a3c075a0a0c1de6", "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-gpl_2_0_plus-a72d250698ecf7ac942b919f4caaaef61adb1ead", "rule_url": null } ], - "identifier": "gpl_2_0_plus-1db96703-cb36-48f4-1493-265d3d85eb9e" + "identifier": "gpl_2_0_plus-cdfb149f-ba4a-2c30-a8a0-76aa75a6ccf5" } ], "license_clues": [], diff --git a/tests/summarycode/data/score/jar-expected.json b/tests/summarycode/data/score/jar-expected.json index 3407c091ef..4d8ecd90aa 100644 --- a/tests/summarycode/data/score/jar-expected.json +++ b/tests/summarycode/data/score/jar-expected.json @@ -41,30 +41,35 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jar/META-INF/maven/org.jboss.logging/jboss-logging/pom.xml", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "- name: Apache License, version 2.0" }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jar/META-INF/maven/org.jboss.logging/jboss-logging/pom.xml", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_42.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", "matched_text": " url: http://www.apache.org/licenses/LICENSE-2.0.txt" } @@ -226,22 +231,104 @@ { "identifier": "apache_2_0-ab23f79b-ec38-9a8a-9b23-85059407f34d", "license_expression": "apache-2.0", - "detection_count": 2 + "license_expression_spdx": "Apache-2.0", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "jar/META-INF/LICENSE.txt", + "start_line": 2, + "end_line": 202, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 1584, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE" + } + ] }, { "identifier": "apache_2_0-c4e30bcd-ccfd-bbc3-d2f1-196ab911e47d", "license_expression": "apache-2.0", - "detection_count": 2 + "license_expression_spdx": "Apache-2.0", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "jar/org/jboss/logging/AbstractLoggerProvider.java", + "start_line": 6, + "end_line": 16, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 85, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_7.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_7.RULE" + } + ] }, { "identifier": "apache_2_0-4800df2e-4a56-bac0-cac1-9fd31da23344", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "jar/META-INF/maven/org.jboss.logging/jboss-logging/pom.xml", + "start_line": 24, + "end_line": 30, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 25, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_1227.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1227.RULE" + } + ] }, { "identifier": "apache_2_0-efc1b129-3bcc-a9c0-71ea-964bc53d5512", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "jar/META-INF/maven/org.jboss.logging/jboss-logging/pom.xml", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE" + }, + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "jar/META-INF/maven/org.jboss.logging/jboss-logging/pom.xml", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 9, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_42.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE" + } + ] } ], "files": [ @@ -401,17 +488,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jar/META-INF/LICENSE.txt", "start_line": 2, "end_line": 202, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1584, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0.LICENSE", "rule_relevance": 100, + "rule_identifier": "apache-2.0.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE" } ], @@ -482,17 +572,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jar/META-INF/LICENSE.txt", "start_line": 2, "end_line": 202, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1584, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0.LICENSE", "rule_relevance": 100, + "rule_identifier": "apache-2.0.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE" } ], @@ -792,30 +885,35 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jar/META-INF/maven/org.jboss.logging/jboss-logging/pom.xml", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_48.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_48.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_48.RULE", "matched_text": "- name: Apache License, version 2.0" }, { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jar/META-INF/maven/org.jboss.logging/jboss-logging/pom.xml", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 9, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_42.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_42.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_42.RULE", "matched_text": " url: http://www.apache.org/licenses/LICENSE-2.0.txt" } @@ -945,17 +1043,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jar/META-INF/maven/org.jboss.logging/jboss-logging/pom.xml", "start_line": 24, "end_line": 30, + "matcher": "2-aho", + "score": 100.0, "matched_length": 25, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1227.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1227.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1227.RULE" } ], @@ -1128,17 +1229,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jar/org/jboss/logging/AbstractLoggerProvider.java", "start_line": 6, "end_line": 16, + "matcher": "2-aho", + "score": 100.0, "matched_length": 85, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_7.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_7.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_7.RULE" } ], @@ -1200,17 +1304,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "jar/org/jboss/logging/AbstractMdcLoggerProvider.java", "start_line": 6, "end_line": 16, + "matcher": "2-aho", + "score": 100.0, "matched_length": 85, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_7.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_7.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_7.RULE" } ], diff --git a/tests/summarycode/data/score/no_license_ambiguity-expected.json b/tests/summarycode/data/score/no_license_ambiguity-expected.json index baaa02dedf..478adb3be9 100644 --- a/tests/summarycode/data/score/no_license_ambiguity-expected.json +++ b/tests/summarycode/data/score/no_license_ambiguity-expected.json @@ -56,17 +56,20 @@ "license_detections": [ { "license_expression": "mit OR apache-2.0", + "license_expression_spdx": "MIT OR Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mit OR apache-2.0", + "spdx_license_expression": "MIT OR Apache-2.0", + "from_file": "no_license_ambiguity/Cargo.toml", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit OR apache-2.0", - "rule_identifier": "mit_or_apache-2.0_15.RULE", "rule_relevance": 100, + "rule_identifier": "mit_or_apache-2.0_15.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_15.RULE", "matched_text": "MIT OR Apache-2.0" } @@ -99,32 +102,176 @@ { "identifier": "apache_2_0-e3938c59-cc73-037c-3372-e20c26c25f48", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "no_license_ambiguity/LICENSE-APACHE", + "start_line": 1, + "end_line": 176, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 1410, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_875.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_875.RULE" + } + ] }, { "identifier": "apache_2_0_and__apache_2_0_or_mit-7ff6dd9d-b5e8-3fa4-dd61-c5a634c9b300", "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "no_license_ambiguity/COPYRIGHT", + "start_line": 1, + "end_line": 7, + "matcher": "3-seq", + "score": 94.12, + "matched_length": 48, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_1060.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1060.RULE" + }, + { + "license_expression": "apache-2.0 OR mit", + "license_expression_spdx": "Apache-2.0 OR MIT", + "from_file": "no_license_ambiguity/COPYRIGHT", + "start_line": 6, + "end_line": 9, + "matcher": "3-seq", + "score": 97.83, + "matched_length": 45, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_47.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_47.RULE" + } + ] }, { "identifier": "mit-a9138d4e-bc0e-0a20-76fd-237047e6d41c", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit OR apache-2.0", + "license_expression_spdx": "MIT OR Apache-2.0", + "from_file": "no_license_ambiguity/README.md", + "start_line": 152, + "end_line": 157, + "matcher": "3-seq", + "score": 57.69, + "matched_length": 15, + "match_coverage": 57.69, + "rule_relevance": 100, + "rule_identifier": "mit_or_apache-2.0_9.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_9.RULE" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "no_license_ambiguity/README.md", + "start_line": 157, + "end_line": 157, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_154.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_154.RULE" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "no_license_ambiguity/LICENSE-MIT", + "start_line": 4, + "end_line": 26, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] }, { "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "no_license_ambiguity/LICENSE-MIT", + "start_line": 4, + "end_line": 26, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] }, { "identifier": "mit_or_apache_2_0-480eec53-1a80-0150-7c7e-39cf79c9f3a8", "license_expression": "mit OR apache-2.0", - "detection_count": 1 + "license_expression_spdx": "MIT OR Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit OR apache-2.0", + "license_expression_spdx": "MIT OR Apache-2.0", + "from_file": "no_license_ambiguity/Cargo.toml", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_or_apache-2.0_15.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_15.RULE" + } + ] }, { "identifier": "mit_or_apache_2_0-719f8427-422e-8023-c20e-9f8dd0af13b9", "license_expression": "mit OR apache-2.0", - "detection_count": 1 + "license_expression_spdx": "MIT OR Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit OR apache-2.0", + "license_expression_spdx": "MIT OR Apache-2.0", + "from_file": "no_license_ambiguity/Cargo.toml", + "start_line": 5, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 6, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_or_apache-2.0_14.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_14.RULE" + } + ] } ], "files": [ @@ -237,29 +384,34 @@ "license_detections": [ { "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", "matches": [ { - "score": 94.12, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "no_license_ambiguity/COPYRIGHT", "start_line": 1, "end_line": 7, + "matcher": "3-seq", + "score": 94.12, "matched_length": 48, "match_coverage": 100.0, - "matcher": "3-seq", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_1060.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_1060.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_1060.RULE" }, { - "score": 97.83, + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": "no_license_ambiguity/COPYRIGHT", "start_line": 6, "end_line": 9, + "matcher": "3-seq", + "score": 97.83, "matched_length": 45, "match_coverage": 100.0, - "matcher": "3-seq", - "license_expression": "apache-2.0 OR mit", - "rule_identifier": "apache-2.0_or_mit_47.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_47.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_47.RULE" } ], @@ -340,17 +492,20 @@ "license_detections": [ { "license_expression": "mit OR apache-2.0", + "license_expression_spdx": "MIT OR Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mit OR apache-2.0", + "spdx_license_expression": "MIT OR Apache-2.0", + "from_file": "no_license_ambiguity/Cargo.toml", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit OR apache-2.0", - "rule_identifier": "mit_or_apache-2.0_15.RULE", "rule_relevance": 100, + "rule_identifier": "mit_or_apache-2.0_15.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_15.RULE", "matched_text": "MIT OR Apache-2.0" } @@ -387,17 +542,20 @@ "license_detections": [ { "license_expression": "mit OR apache-2.0", + "license_expression_spdx": "MIT OR Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "mit OR apache-2.0", + "spdx_license_expression": "MIT OR Apache-2.0", + "from_file": "no_license_ambiguity/Cargo.toml", "start_line": 5, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 6, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit OR apache-2.0", - "rule_identifier": "mit_or_apache-2.0_14.RULE", "rule_relevance": 100, + "rule_identifier": "mit_or_apache-2.0_14.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_14.RULE" } ], @@ -463,17 +621,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "no_license_ambiguity/LICENSE-APACHE", "start_line": 1, "end_line": 176, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1410, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_875.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_875.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_875.RULE" } ], @@ -521,17 +682,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "no_license_ambiguity/LICENSE-MIT", "start_line": 4, "end_line": 26, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -596,41 +760,48 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 57.69, + "license_expression": "mit OR apache-2.0", + "spdx_license_expression": "MIT OR Apache-2.0", + "from_file": "no_license_ambiguity/README.md", "start_line": 152, "end_line": 157, + "matcher": "3-seq", + "score": 57.69, "matched_length": 15, "match_coverage": 57.69, - "matcher": "3-seq", - "license_expression": "mit OR apache-2.0", - "rule_identifier": "mit_or_apache-2.0_9.RULE", "rule_relevance": 100, + "rule_identifier": "mit_or_apache-2.0_9.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_or_apache-2.0_9.RULE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "no_license_ambiguity/README.md", "start_line": 157, "end_line": 157, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_154.RULE", "rule_relevance": 100, + "rule_identifier": "mit_154.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_154.RULE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "no_license_ambiguity/LICENSE-MIT", "start_line": 4, "end_line": 26, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], diff --git a/tests/summarycode/data/score/no_license_text-expected.json b/tests/summarycode/data/score/no_license_text-expected.json index 635e96c8c5..d65e1d172a 100644 --- a/tests/summarycode/data/score/no_license_text-expected.json +++ b/tests/summarycode/data/score/no_license_text-expected.json @@ -49,17 +49,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "no_license_text/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -275,12 +278,46 @@ { "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "no_license_text/package.json", + "start_line": 7, + "end_line": 7, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" + } + ] }, { "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "no_license_text/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_url": null + } + ] } ], "files": [ @@ -474,17 +511,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "no_license_text/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -652,17 +692,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "no_license_text/package.json", "start_line": 7, "end_line": 7, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_30.RULE", "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" } ], diff --git a/tests/summarycode/data/summary/conflicting_license_categories/conflicting_license_categories.expected.json b/tests/summarycode/data/summary/conflicting_license_categories/conflicting_license_categories.expected.json index e918ee60ee..44dc1cc7cf 100644 --- a/tests/summarycode/data/summary/conflicting_license_categories/conflicting_license_categories.expected.json +++ b/tests/summarycode/data/summary/conflicting_license_categories/conflicting_license_categories.expected.json @@ -52,22 +52,132 @@ { "identifier": "apache_2_0-9804422e-94ac-ad40-b53a-ee6f8ddb7a3b", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "codebase/apache-2.0.LICENSE", + "start_line": 1, + "end_line": 176, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 1410, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_93.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_93.RULE" + } + ] }, { "identifier": "apache_2_0_and__apache_2_0_or_mit-9b638e72-e872-a67f-3447-eec297ef7b39", "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "codebase/src/a.py", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 80.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 80, + "rule_identifier": "apache-2.0_73.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE" + }, + { + "license_expression": "apache-2.0 OR mit", + "license_expression_spdx": "Apache-2.0 OR MIT", + "from_file": "codebase/src/a.py", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" + } + ] }, { "identifier": "gpl_1_0_plus_and_gpl_2_0_and_gpl_2_0_plus-d3814696-f4d1-6a85-1134-6baea31b797a", "license_expression": "gpl-1.0-plus AND gpl-2.0 AND gpl-2.0-plus", - "detection_count": 1 + "license_expression_spdx": "GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "gpl-1.0-plus", + "license_expression_spdx": "GPL-1.0-or-later", + "from_file": "codebase/tests/test_a.py", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl_208.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_208.RULE" + }, + { + "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", + "from_file": "codebase/tests/test_a.py", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0_840.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_840.RULE" + }, + { + "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", + "from_file": "codebase/tests/test_a.py", + "start_line": 2, + "end_line": 2, + "matcher": "2-aho", + "score": 50.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 50, + "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE" + } + ] }, { "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "codebase/mit.LICENSE", + "start_line": 1, + "end_line": 18, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] } ], "files": [ @@ -192,17 +302,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "codebase/apache-2.0.LICENSE", "start_line": 1, "end_line": 176, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1410, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_93.RULE" } ], @@ -250,17 +363,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "codebase/mit.LICENSE", "start_line": 1, "end_line": 18, + "matcher": "1-hash", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -347,29 +463,34 @@ "license_detections": [ { "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", "matches": [ { - "score": 80.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "codebase/src/a.py", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 80.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_73.RULE", "rule_relevance": 80, + "rule_identifier": "apache-2.0_73.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": "codebase/src/a.py", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0 OR mit", - "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" } ], @@ -478,41 +599,48 @@ "license_detections": [ { "license_expression": "gpl-1.0-plus AND gpl-2.0 AND gpl-2.0-plus", + "license_expression_spdx": "GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-1.0-plus", + "spdx_license_expression": "GPL-1.0-or-later", + "from_file": "codebase/tests/test_a.py", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-1.0-plus", - "rule_identifier": "gpl_208.RULE", "rule_relevance": 100, + "rule_identifier": "gpl_208.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl_208.RULE" }, { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "codebase/tests/test_a.py", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_840.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_840.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_840.RULE" }, { - "score": 50.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "codebase/tests/test_a.py", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 50.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_relevance": 50, + "rule_identifier": "spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_gpl-2.0-or-later_for_gpl-2.0-plus.RULE" } ], diff --git a/tests/summarycode/data/summary/end-2-end/bug-1141.expected.json b/tests/summarycode/data/summary/end-2-end/bug-1141.expected.json index 510fb59f75..1603b97fe3 100644 --- a/tests/summarycode/data/summary/end-2-end/bug-1141.expected.json +++ b/tests/summarycode/data/summary/end-2-end/bug-1141.expected.json @@ -40,12 +40,46 @@ { "identifier": "gpl_2_0_plus-9b44ef18-69db-1b2d-f6ce-dd439fc51603", "license_expression": "gpl-2.0-plus", - "detection_count": 1 + "license_expression_spdx": "GPL-2.0-or-later", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", + "from_file": "bug-1141.tar.gz/bug/sub/sub2/src/benchmark.c", + "start_line": 8, + "end_line": 19, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 102, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_119.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_119.RULE" + } + ] }, { "identifier": "gpl_3_0_plus-494d0068-7138-a14f-4cbb-fd2137263a4f", "license_expression": "gpl-3.0-plus", - "detection_count": 1 + "license_expression_spdx": "GPL-3.0-or-later", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", + "from_file": "bug-1141.tar.gz/bug/sub/sub2/COPYING", + "start_line": 1, + "end_line": 12, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 102, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_290.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_290.RULE" + } + ] } ], "files": [ @@ -236,17 +270,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "bug-1141.tar.gz/bug/sub/sub2/COPYING", "start_line": 1, "end_line": 12, + "matcher": "1-hash", + "score": 100.0, "matched_length": 102, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_290.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_290.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_290.RULE" } ], @@ -450,17 +487,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "bug-1141.tar.gz/bug/sub/sub2/src/benchmark.c", "start_line": 8, "end_line": 19, + "matcher": "2-aho", + "score": 100.0, "matched_length": 102, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_119.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_119.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_119.RULE" } ], diff --git a/tests/summarycode/data/summary/holders/clear_holder.expected.json b/tests/summarycode/data/summary/holders/clear_holder.expected.json index 9d0fae37d5..031e9449ed 100644 --- a/tests/summarycode/data/summary/holders/clear_holder.expected.json +++ b/tests/summarycode/data/summary/holders/clear_holder.expected.json @@ -40,17 +40,82 @@ { "identifier": "apache_2_0-9804422e-94ac-ad40-b53a-ee6f8ddb7a3b", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "clear_holder/apache-2.0.LICENSE", + "start_line": 1, + "end_line": 176, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 1410, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_93.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_93.RULE" + } + ] }, { "identifier": "apache_2_0_and__apache_2_0_or_mit-9b638e72-e872-a67f-3447-eec297ef7b39", "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", - "detection_count": 3 + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", + "detection_count": 3, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "clear_holder/README.txt", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 80.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 80, + "rule_identifier": "apache-2.0_73.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE" + }, + { + "license_expression": "apache-2.0 OR mit", + "license_expression_spdx": "Apache-2.0 OR MIT", + "from_file": "clear_holder/README.txt", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" + } + ] }, { "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "clear_holder/mit.LICENSE", + "start_line": 1, + "end_line": 18, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] } ], "files": [ @@ -124,29 +189,34 @@ "license_detections": [ { "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", "matches": [ { - "score": 80.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "clear_holder/README.txt", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 80.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_73.RULE", "rule_relevance": 80, + "rule_identifier": "apache-2.0_73.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": "clear_holder/README.txt", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0 OR mit", - "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" } ], @@ -216,17 +286,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "clear_holder/apache-2.0.LICENSE", "start_line": 1, "end_line": 176, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1410, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_93.RULE" } ], @@ -274,17 +347,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "clear_holder/mit.LICENSE", "start_line": 1, "end_line": 18, + "matcher": "1-hash", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -371,29 +447,34 @@ "license_detections": [ { "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", "matches": [ { - "score": 80.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "clear_holder/src/a.py", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 80.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_73.RULE", "rule_relevance": 80, + "rule_identifier": "apache-2.0_73.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": "clear_holder/src/a.py", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0 OR mit", - "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" } ], @@ -492,29 +573,34 @@ "license_detections": [ { "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", "matches": [ { - "score": 80.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "clear_holder/tests/test_a.py", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 80.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_73.RULE", "rule_relevance": 80, + "rule_identifier": "apache-2.0_73.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": "clear_holder/tests/test_a.py", "start_line": 2, "end_line": 2, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0 OR mit", - "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" } ], diff --git a/tests/summarycode/data/summary/holders/combined_holders.expected.json b/tests/summarycode/data/summary/holders/combined_holders.expected.json index c07d5b16d0..3a038bc348 100644 --- a/tests/summarycode/data/summary/holders/combined_holders.expected.json +++ b/tests/summarycode/data/summary/holders/combined_holders.expected.json @@ -36,17 +36,82 @@ { "identifier": "apache_2_0-9804422e-94ac-ad40-b53a-ee6f8ddb7a3b", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "combined_holders/apache-2.0.LICENSE", + "start_line": 1, + "end_line": 176, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 1410, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_93.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_93.RULE" + } + ] }, { "identifier": "apache_2_0_and__apache_2_0_or_mit-9b638e72-e872-a67f-3447-eec297ef7b39", "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", - "detection_count": 3 + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", + "detection_count": 3, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "combined_holders/README.txt", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 80.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 80, + "rule_identifier": "apache-2.0_73.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE" + }, + { + "license_expression": "apache-2.0 OR mit", + "license_expression_spdx": "Apache-2.0 OR MIT", + "from_file": "combined_holders/README.txt", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" + } + ] }, { "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "combined_holders/mit.LICENSE", + "start_line": 1, + "end_line": 18, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] } ], "files": [ @@ -120,29 +185,34 @@ "license_detections": [ { "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", "matches": [ { - "score": 80.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "combined_holders/README.txt", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 80.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_73.RULE", "rule_relevance": 80, + "rule_identifier": "apache-2.0_73.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": "combined_holders/README.txt", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0 OR mit", - "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" } ], @@ -212,17 +282,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "combined_holders/apache-2.0.LICENSE", "start_line": 1, "end_line": 176, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1410, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_93.RULE" } ], @@ -270,17 +343,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "combined_holders/mit.LICENSE", "start_line": 1, "end_line": 18, + "matcher": "1-hash", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -367,29 +443,34 @@ "license_detections": [ { "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", "matches": [ { - "score": 80.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "combined_holders/src/a.py", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 80.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_73.RULE", "rule_relevance": 80, + "rule_identifier": "apache-2.0_73.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": "combined_holders/src/a.py", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0 OR mit", - "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" } ], @@ -476,29 +557,34 @@ "license_detections": [ { "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", "matches": [ { - "score": 80.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "combined_holders/tests/test_a.py", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 80.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_73.RULE", "rule_relevance": 80, + "rule_identifier": "apache-2.0_73.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": "combined_holders/tests/test_a.py", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0 OR mit", - "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" } ], diff --git a/tests/summarycode/data/summary/license_ambiguity/ambiguous.expected.json b/tests/summarycode/data/summary/license_ambiguity/ambiguous.expected.json index 738b4d3078..318db8db4d 100644 --- a/tests/summarycode/data/summary/license_ambiguity/ambiguous.expected.json +++ b/tests/summarycode/data/summary/license_ambiguity/ambiguous.expected.json @@ -40,12 +40,46 @@ { "identifier": "apache_2_0-9804422e-94ac-ad40-b53a-ee6f8ddb7a3b", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "ambiguous/apache-2.0.LICENSE", + "start_line": 1, + "end_line": 176, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 1410, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_93.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_93.RULE" + } + ] }, { "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "ambiguous/mit.LICENSE", + "start_line": 1, + "end_line": 18, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] } ], "files": [ @@ -170,17 +204,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "ambiguous/apache-2.0.LICENSE", "start_line": 1, "end_line": 176, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1410, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_93.RULE" } ], @@ -228,17 +265,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "ambiguous/mit.LICENSE", "start_line": 1, "end_line": 18, + "matcher": "1-hash", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], diff --git a/tests/summarycode/data/summary/license_ambiguity/unambiguous.expected.json b/tests/summarycode/data/summary/license_ambiguity/unambiguous.expected.json index e182be7f85..c79eb04ae1 100644 --- a/tests/summarycode/data/summary/license_ambiguity/unambiguous.expected.json +++ b/tests/summarycode/data/summary/license_ambiguity/unambiguous.expected.json @@ -36,17 +36,82 @@ { "identifier": "apache_2_0-9804422e-94ac-ad40-b53a-ee6f8ddb7a3b", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "unambiguous/apache-2.0.LICENSE", + "start_line": 1, + "end_line": 176, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 1410, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_93.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_93.RULE" + } + ] }, { "identifier": "apache_2_0_and__apache_2_0_or_mit-9b638e72-e872-a67f-3447-eec297ef7b39", "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "unambiguous/README.txt", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 80.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 80, + "rule_identifier": "apache-2.0_73.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE" + }, + { + "license_expression": "apache-2.0 OR mit", + "license_expression_spdx": "Apache-2.0 OR MIT", + "from_file": "unambiguous/README.txt", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" + } + ] }, { "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "unambiguous/mit.LICENSE", + "start_line": 1, + "end_line": 18, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] } ], "files": [ @@ -120,29 +185,34 @@ "license_detections": [ { "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", "matches": [ { - "score": 80.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "unambiguous/README.txt", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 80.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_73.RULE", "rule_relevance": 80, + "rule_identifier": "apache-2.0_73.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": "unambiguous/README.txt", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0 OR mit", - "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" } ], @@ -202,17 +272,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "unambiguous/apache-2.0.LICENSE", "start_line": 1, "end_line": 176, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1410, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_93.RULE" } ], @@ -260,17 +333,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "unambiguous/mit.LICENSE", "start_line": 1, "end_line": 18, + "matcher": "1-hash", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], diff --git a/tests/summarycode/data/summary/multiple_package_data/multiple_package_data.expected.json b/tests/summarycode/data/summary/multiple_package_data/multiple_package_data.expected.json index af15c3de51..c9d955b661 100644 --- a/tests/summarycode/data/summary/multiple_package_data/multiple_package_data.expected.json +++ b/tests/summarycode/data/summary/multiple_package_data/multiple_package_data.expected.json @@ -72,17 +72,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "codebase/cargo.toml", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -146,17 +149,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "codebase/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "apache-2.0" } @@ -189,37 +195,170 @@ { "identifier": "apache_2_0-9804422e-94ac-ad40-b53a-ee6f8ddb7a3b", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "codebase/apache-2.0.LICENSE", + "start_line": 1, + "end_line": 176, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 1410, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_93.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_93.RULE" + } + ] }, { "identifier": "apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "codebase/setup.py", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" + } + ] }, { "identifier": "apache_2_0-ec759ae0-ea5a-f138-793e-388520e080c0", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "codebase/setup.py", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" + } + ] }, { "identifier": "apache_2_0_and__apache_2_0_or_mit-9b638e72-e872-a67f-3447-eec297ef7b39", "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "codebase/README.txt", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 80.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 80, + "rule_identifier": "apache-2.0_73.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE" + }, + { + "license_expression": "apache-2.0 OR mit", + "license_expression_spdx": "Apache-2.0 OR MIT", + "from_file": "codebase/README.txt", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" + } + ] }, { "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "codebase/cargo.toml", + "start_line": 4, + "end_line": 4, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" + } + ] }, { "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "codebase/cargo.toml", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_url": null + } + ] }, { "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "codebase/mit.LICENSE", + "start_line": 1, + "end_line": 18, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] } ], "files": [ @@ -295,29 +434,34 @@ "license_detections": [ { "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", "matches": [ { - "score": 80.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "codebase/README.txt", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 80.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_73.RULE", "rule_relevance": 80, + "rule_identifier": "apache-2.0_73.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": "codebase/README.txt", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0 OR mit", - "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" } ], @@ -379,17 +523,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "codebase/apache-2.0.LICENSE", "start_line": 1, "end_line": 176, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1410, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_93.RULE" } ], @@ -463,17 +610,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "codebase/cargo.toml", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -511,17 +661,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "codebase/cargo.toml", "start_line": 4, "end_line": 4, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_30.RULE", "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" } ], @@ -577,17 +730,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "codebase/mit.LICENSE", "start_line": 1, "end_line": 18, + "matcher": "1-hash", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -661,17 +817,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "codebase/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "apache-2.0" } @@ -708,17 +867,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "codebase/setup.py", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_65.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" } ], diff --git a/tests/summarycode/data/summary/single_file/single_file.expected.json b/tests/summarycode/data/summary/single_file/single_file.expected.json index 863c9de707..f2e8d96b72 100644 --- a/tests/summarycode/data/summary/single_file/single_file.expected.json +++ b/tests/summarycode/data/summary/single_file/single_file.expected.json @@ -22,7 +22,24 @@ { "identifier": "jetty-a0130d29-e7f1-bc37-111a-fccd6b1c6b58", "license_expression": "jetty", - "detection_count": 1 + "license_expression_spdx": "LicenseRef-scancode-jetty", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "jetty", + "license_expression_spdx": "LicenseRef-scancode-jetty", + "from_file": "codebase/jetty.LICENSE", + "start_line": 1, + "end_line": 132, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 996, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "jetty.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/jetty.LICENSE" + } + ] } ], "files": [ @@ -96,17 +113,20 @@ "license_detections": [ { "license_expression": "jetty", + "license_expression_spdx": "LicenseRef-scancode-jetty", "matches": [ { - "score": 100.0, + "license_expression": "jetty", + "spdx_license_expression": "LicenseRef-scancode-jetty", + "from_file": "codebase/jetty.LICENSE", "start_line": 1, "end_line": 132, + "matcher": "1-hash", + "score": 100.0, "matched_length": 996, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "jetty", - "rule_identifier": "jetty.LICENSE", "rule_relevance": 100, + "rule_identifier": "jetty.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/jetty.LICENSE" } ], diff --git a/tests/summarycode/data/summary/summary_without_holder/summary-without-holder-pypi.expected.json b/tests/summarycode/data/summary/summary_without_holder/summary-without-holder-pypi.expected.json index b74c99bbd0..72927f9a55 100644 --- a/tests/summarycode/data/summary/summary_without_holder/summary-without-holder-pypi.expected.json +++ b/tests/summarycode/data/summary/summary_without_holder/summary-without-holder-pypi.expected.json @@ -64,17 +64,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -83,17 +86,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } @@ -129,37 +135,212 @@ { "identifier": "mit-24a5293c-14d7-5403-efac-1a8b7532c0e8", "license_expression": "mit", - "detection_count": 3 + "license_expression_spdx": "MIT", + "detection_count": 3, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", + "start_line": 13, + "end_line": 13, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE" + } + ] }, { "identifier": "mit-707ccf7a-5c60-0e4c-5844-349c989a00f5", "license_expression": "mit", - "detection_count": 2 + "license_expression_spdx": "MIT", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "pip-22.0.4/setup.cfg", + "start_line": 87, + "end_line": 87, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_2.RULE" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", + "start_line": 3, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", + "start_line": 3, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] }, { "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", "license_expression": "mit", - "detection_count": 2 + "license_expression_spdx": "MIT", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_url": null + } + ] }, { "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", "license_expression": "mit", - "detection_count": 2 + "license_expression_spdx": "MIT", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", + "start_line": 3, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] }, { "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", + "start_line": 6, + "end_line": 6, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" + } + ] }, { "identifier": "mit-59433771-4926-870e-d21a-8162cfa060a3", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "unknown-license-reference", + "license_expression_spdx": "LicenseRef-scancode-unknown-license-reference", + "from_file": "pip-22.0.4/PKG-INFO", + "start_line": 25, + "end_line": 25, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_2.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_2.RULE" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", + "start_line": 3, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] }, { "identifier": "mit-6e6256c5-00ca-dcb6-8033-2fc4b6ff86be", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pip-22.0.4/setup.py", + "start_line": 31, + "end_line": 31, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "pip-22.0.4/setup.py", + "start_line": 35, + "end_line": 35, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE" + } + ] } ], "files": [ @@ -216,17 +397,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -321,17 +505,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -340,17 +527,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } @@ -390,17 +580,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", "start_line": 6, "end_line": 6, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_30.RULE", "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" } ], @@ -408,17 +601,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/PKG-INFO", "start_line": 13, "end_line": 13, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE" } ], @@ -426,29 +622,34 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "pip-22.0.4/PKG-INFO", "start_line": 25, "end_line": 25, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_see_license_at_manifest_2.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_2.RULE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -762,17 +963,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -843,41 +1047,48 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "pip-22.0.4/setup.cfg", "start_line": 87, "end_line": 87, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_see_license_at_manifest_2.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_2.RULE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -916,41 +1127,48 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "unknown-license-reference", + "spdx_license_expression": "LicenseRef-scancode-unknown-license-reference", + "from_file": "pip-22.0.4/setup.cfg", "start_line": 87, "end_line": 87, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "unknown-license-reference", - "rule_identifier": "unknown-license-reference_see_license_at_manifest_2.RULE", "rule_relevance": 100, + "rule_identifier": "unknown-license-reference_see_license_at_manifest_2.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_see_license_at_manifest_2.RULE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/LICENSE.txt", "start_line": 3, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -1010,17 +1228,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -1029,17 +1250,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE", "matched_text": "- 'License :: OSI Approved :: MIT License'" } @@ -1080,29 +1304,34 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/setup.py", "start_line": 31, "end_line": 31, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_30.RULE", "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "pip-22.0.4/setup.py", "start_line": 35, "end_line": 35, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "pypi_mit_license.RULE", "rule_relevance": 100, + "rule_identifier": "pypi_mit_license.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/pypi_mit_license.RULE" } ], diff --git a/tests/summarycode/data/summary/use_holder_from_package_resource/use_holder_from_package_resource.expected.json b/tests/summarycode/data/summary/use_holder_from_package_resource/use_holder_from_package_resource.expected.json index 6061fa835f..a82e487c02 100644 --- a/tests/summarycode/data/summary/use_holder_from_package_resource/use_holder_from_package_resource.expected.json +++ b/tests/summarycode/data/summary/use_holder_from_package_resource/use_holder_from_package_resource.expected.json @@ -64,17 +64,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "codebase/setup.py", "start_line": 4, "end_line": 14, + "matcher": "2-aho", + "score": 100.0, "matched_length": 85, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_7.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_7.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_7.RULE" } ], @@ -121,7 +124,24 @@ { "identifier": "apache_2_0-c4e30bcd-ccfd-bbc3-d2f1-196ab911e47d", "license_expression": "apache-2.0", - "detection_count": 2 + "license_expression_spdx": "Apache-2.0", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "codebase/setup.py", + "start_line": 4, + "end_line": 14, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 85, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_7.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_7.RULE" + } + ] } ], "files": [ @@ -274,17 +294,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "codebase/setup.py", "start_line": 4, "end_line": 14, + "matcher": "2-aho", + "score": 100.0, "matched_length": 85, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_7.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_7.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_7.RULE" } ], @@ -331,17 +354,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "codebase/setup.py", "start_line": 4, "end_line": 14, + "matcher": "2-aho", + "score": 100.0, "matched_length": 85, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_7.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_7.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_7.RULE" } ], diff --git a/tests/summarycode/data/summary/with_package_data/with_package_data.expected.json b/tests/summarycode/data/summary/with_package_data/with_package_data.expected.json index 66dfab610b..180ea9844c 100644 --- a/tests/summarycode/data/summary/with_package_data/with_package_data.expected.json +++ b/tests/summarycode/data/summary/with_package_data/with_package_data.expected.json @@ -68,17 +68,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "codebase/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "apache-2.0" } @@ -111,27 +114,126 @@ { "identifier": "apache_2_0-9804422e-94ac-ad40-b53a-ee6f8ddb7a3b", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "codebase/apache-2.0.LICENSE", + "start_line": 1, + "end_line": 176, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 1410, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_93.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_93.RULE" + } + ] }, { "identifier": "apache_2_0-d66ab77d-a5cc-7104-e702-dc7df61fe9e8", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "codebase/setup.py", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE" + } + ] }, { "identifier": "apache_2_0-ec759ae0-ea5a-f138-793e-388520e080c0", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "codebase/setup.py", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" + } + ] }, { "identifier": "apache_2_0_and__apache_2_0_or_mit-9b638e72-e872-a67f-3447-eec297ef7b39", "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "codebase/README.txt", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 80.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 80, + "rule_identifier": "apache-2.0_73.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE" + }, + { + "license_expression": "apache-2.0 OR mit", + "license_expression_spdx": "Apache-2.0 OR MIT", + "from_file": "codebase/README.txt", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" + } + ] }, { "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "codebase/mit.LICENSE", + "start_line": 1, + "end_line": 18, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] } ], "files": [ @@ -207,29 +309,34 @@ "license_detections": [ { "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", "matches": [ { - "score": 80.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "codebase/README.txt", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 80.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_73.RULE", "rule_relevance": 80, + "rule_identifier": "apache-2.0_73.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": "codebase/README.txt", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0 OR mit", - "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" } ], @@ -291,17 +398,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "codebase/apache-2.0.LICENSE", "start_line": 1, "end_line": 176, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1410, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_93.RULE" } ], @@ -351,17 +461,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "codebase/mit.LICENSE", "start_line": 1, "end_line": 18, + "matcher": "1-hash", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -435,17 +548,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "codebase/setup.py", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_relevance": 100, + "rule_identifier": "spdx_license_id_apache-2.0_for_apache-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_apache-2.0_for_apache-2.0.RULE", "matched_text": "apache-2.0" } @@ -482,17 +598,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "codebase/setup.py", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_65.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_65.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_65.RULE" } ], diff --git a/tests/summarycode/data/summary/without_package_data/without_package_data.expected.json b/tests/summarycode/data/summary/without_package_data/without_package_data.expected.json index bcb84a3b6b..384de11f4f 100644 --- a/tests/summarycode/data/summary/without_package_data/without_package_data.expected.json +++ b/tests/summarycode/data/summary/without_package_data/without_package_data.expected.json @@ -36,17 +36,82 @@ { "identifier": "apache_2_0-9804422e-94ac-ad40-b53a-ee6f8ddb7a3b", "license_expression": "apache-2.0", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "codebase/apache-2.0.LICENSE", + "start_line": 1, + "end_line": 176, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 1410, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_93.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_93.RULE" + } + ] }, { "identifier": "apache_2_0_and__apache_2_0_or_mit-9b638e72-e872-a67f-3447-eec297ef7b39", "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", - "detection_count": 1 + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", + "from_file": "codebase/README.txt", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 80.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 80, + "rule_identifier": "apache-2.0_73.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE" + }, + { + "license_expression": "apache-2.0 OR mit", + "license_expression_spdx": "Apache-2.0 OR MIT", + "from_file": "codebase/README.txt", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" + } + ] }, { "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "codebase/mit.LICENSE", + "start_line": 1, + "end_line": 18, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] } ], "files": [ @@ -120,29 +185,34 @@ "license_detections": [ { "license_expression": "apache-2.0 AND (apache-2.0 OR mit)", + "license_expression_spdx": "Apache-2.0 AND (Apache-2.0 OR MIT)", "matches": [ { - "score": 80.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "codebase/README.txt", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 80.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_73.RULE", "rule_relevance": 80, + "rule_identifier": "apache-2.0_73.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_73.RULE" }, { - "score": 100.0, + "license_expression": "apache-2.0 OR mit", + "spdx_license_expression": "Apache-2.0 OR MIT", + "from_file": "codebase/README.txt", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "apache-2.0 OR mit", - "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_or_mit_36.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_mit_36.RULE" } ], @@ -202,17 +272,20 @@ "license_detections": [ { "license_expression": "apache-2.0", + "license_expression_spdx": "Apache-2.0", "matches": [ { - "score": 100.0, + "license_expression": "apache-2.0", + "spdx_license_expression": "Apache-2.0", + "from_file": "codebase/apache-2.0.LICENSE", "start_line": 1, "end_line": 176, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1410, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "apache-2.0", - "rule_identifier": "apache-2.0_93.RULE", "rule_relevance": 100, + "rule_identifier": "apache-2.0_93.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_93.RULE" } ], @@ -260,17 +333,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "codebase/mit.LICENSE", "start_line": 1, "end_line": 18, + "matcher": "1-hash", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], diff --git a/tests/summarycode/data/tallies/end-2-end/bug-1141.expected.json b/tests/summarycode/data/tallies/end-2-end/bug-1141.expected.json index 5b6fecfad4..1d7482c350 100644 --- a/tests/summarycode/data/tallies/end-2-end/bug-1141.expected.json +++ b/tests/summarycode/data/tallies/end-2-end/bug-1141.expected.json @@ -5,12 +5,46 @@ { "identifier": "gpl_2_0_plus-9b44ef18-69db-1b2d-f6ce-dd439fc51603", "license_expression": "gpl-2.0-plus", - "detection_count": 1 + "license_expression_spdx": "GPL-2.0-or-later", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", + "from_file": "bug-1141.tar.gz/bug/sub/sub2/src/benchmark.c", + "start_line": 8, + "end_line": 19, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 102, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_119.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_119.RULE" + } + ] }, { "identifier": "gpl_3_0_plus-494d0068-7138-a14f-4cbb-fd2137263a4f", "license_expression": "gpl-3.0-plus", - "detection_count": 1 + "license_expression_spdx": "GPL-3.0-or-later", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", + "from_file": "bug-1141.tar.gz/bug/sub/sub2/COPYING", + "start_line": 1, + "end_line": 12, + "matcher": "1-hash", + "score": 100.0, + "matched_length": 102, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_290.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_290.RULE" + } + ] } ], "tallies": { @@ -269,17 +303,20 @@ "license_detections": [ { "license_expression": "gpl-3.0-plus", + "license_expression_spdx": "GPL-3.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-3.0-plus", + "spdx_license_expression": "GPL-3.0-or-later", + "from_file": "bug-1141.tar.gz/bug/sub/sub2/COPYING", "start_line": 1, "end_line": 12, + "matcher": "1-hash", + "score": 100.0, "matched_length": 102, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-3.0-plus", - "rule_identifier": "gpl-3.0-plus_290.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-3.0-plus_290.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-3.0-plus_290.RULE" } ], @@ -492,17 +529,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus", + "license_expression_spdx": "GPL-2.0-or-later", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus", + "spdx_license_expression": "GPL-2.0-or-later", + "from_file": "bug-1141.tar.gz/bug/sub/sub2/src/benchmark.c", "start_line": 8, "end_line": 19, + "matcher": "2-aho", + "score": 100.0, "matched_length": 102, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus", - "rule_identifier": "gpl-2.0-plus_119.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_119.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_119.RULE" } ], diff --git a/tests/summarycode/data/tallies/full_tallies/tallies.expected.json b/tests/summarycode/data/tallies/full_tallies/tallies.expected.json index 5a0e017358..506f25c416 100644 --- a/tests/summarycode/data/tallies/full_tallies/tallies.expected.json +++ b/tests/summarycode/data/tallies/full_tallies/tallies.expected.json @@ -2212,17 +2212,20 @@ "license_detections": [ { "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", "matches": [ { - "score": 50.0, + "license_expression": "artistic-2.0", + "spdx_license_expression": "Artistic-2.0", + "from_file": "scan/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 50.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "artistic-2.0", - "rule_identifier": "spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "rule_relevance": 50, + "rule_identifier": "spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "matched_text": "Artistic-2.0" } @@ -3334,62 +3337,280 @@ { "identifier": "artistic_2_0-2ca48deb-7b37-fc93-edd9-b349ad073774", "license_expression": "artistic-2.0", - "detection_count": 1 + "license_expression_spdx": "Artistic-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", + "from_file": "scan/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 50.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 50, + "rule_identifier": "spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_artistic-2.0_for_artistic-2.0.RULE" + } + ] }, { "identifier": "artistic_2_0-c1ede1c6-eb3d-61cc-53ad-abba5e17c732", "license_expression": "artistic-2.0", - "detection_count": 1 + "license_expression_spdx": "Artistic-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", + "from_file": "scan/package.json", + "start_line": 198, + "end_line": 198, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "artistic-2.0_46.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_46.RULE" + } + ] }, { "identifier": "boost_1_0-7d91c102-4b73-b55e-398c-cca7ae1e7bf5", "license_expression": "boost-1.0", - "detection_count": 1 + "license_expression_spdx": "BSL-1.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "boost-1.0", + "license_expression_spdx": "BSL-1.0", + "from_file": "scan/zlib/dotzlib/ChecksumImpl.cs", + "start_line": 4, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 32, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "boost-1.0_21.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/boost-1.0_21.RULE" + } + ] }, { "identifier": "cc_by_2_5-2664cdba-0ee6-a527-2588-8a3a1be3ecae", "license_expression": "cc-by-2.5", - "detection_count": 1 + "license_expression_spdx": "CC-BY-2.5", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "cc-by-2.5", + "license_expression_spdx": "CC-BY-2.5", + "from_file": "scan/JGroups/src/GuardedBy.java", + "start_line": 4, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 14, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "cc-by-2.5_4.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-2.5_4.RULE" + } + ] }, { "identifier": "cc0_1_0-4be2dd81-b884-28ac-690a-75aff1b0e963", "license_expression": "cc0-1.0", - "detection_count": 1 + "license_expression_spdx": "CC0-1.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "cc0-1.0", + "license_expression_spdx": "CC0-1.0", + "from_file": "scan/cc0-1.0.LICENSE", + "start_line": 1, + "end_line": 98, + "matcher": "3-seq", + "score": 99.69, + "matched_length": 978, + "match_coverage": 99.69, + "rule_relevance": 100, + "rule_identifier": "cc0-1.0_155.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_155.RULE" + } + ] }, { "identifier": "gpl_2_0_plus_with_ada_linking_exception-ca27fab9-344b-58b2-3c05-f3ca150dad7e", "license_expression": "gpl-2.0-plus WITH ada-linking-exception", - "detection_count": 1 + "license_expression_spdx": "GPL-2.0-or-later WITH GNAT-exception", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "license_expression_spdx": "GPL-2.0-or-later WITH GNAT-exception", + "from_file": "scan/zlib/ada/zlib.ads", + "start_line": 6, + "end_line": 25, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 176, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_ada-linking-exception_1.RULE" + } + ] }, { "identifier": "lgpl_2_1_plus-3fe3e5e6-cb18-c0a1-f831-f08fab3612c1", "license_expression": "lgpl-2.1-plus", - "detection_count": 3 + "license_expression_spdx": "LGPL-2.1-or-later", + "detection_count": 3, + "reference_matches": [ + { + "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/FixedMembershipToken.java", + "start_line": 7, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 125, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" + } + ] }, { "identifier": "mit_old_style-578ee504-a9b5-6c26-1bb4-fd7b80a664f0", "license_expression": "mit-old-style", - "detection_count": 1 + "license_expression_spdx": "LicenseRef-scancode-mit-old-style", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit-old-style", + "license_expression_spdx": "LicenseRef-scancode-mit-old-style", + "from_file": "scan/zlib/iostream2/zstream.h", + "start_line": 9, + "end_line": 15, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 71, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit-old-style_cmr-no_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style_cmr-no_1.RULE" + } + ] }, { "identifier": "zlib-663c0d51-510f-fca6-b163-671ecb188ff9", "license_expression": "zlib", - "detection_count": 7 + "license_expression_spdx": "Zlib", + "detection_count": 7, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/arch/adler32.c", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" + }, + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/arch/zlib.h", + "start_line": 6, + "end_line": 23, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 144, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" + } + ] }, { "identifier": "zlib-27de81f4-f6ce-2bf5-ab37-9a4c71f4b296", "license_expression": "zlib", - "detection_count": 2 + "license_expression_spdx": "Zlib", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/zlib/infback9/infback9.c", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" + } + ] }, { "identifier": "zlib-b04102d0-a663-78b5-de18-9677ee48ce9c", "license_expression": "zlib", - "detection_count": 2 + "license_expression_spdx": "Zlib", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/arch/zlib.h", + "start_line": 6, + "end_line": 23, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 144, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" + } + ] }, { "identifier": "zlib-f32ae987-c66a-44ce-bd13-c90e0c59aab8", "license_expression": "zlib", - "detection_count": 1 + "license_expression_spdx": "Zlib", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/zlib/gcc_gvmat64/gvmat64.S", + "start_line": 17, + "end_line": 31, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 132, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE" + } + ] } ], "tallies": { @@ -3707,17 +3928,20 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/FixedMembershipToken.java", "start_line": 7, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 125, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" } ], @@ -3774,17 +3998,20 @@ "license_detections": [ { "license_expression": "cc-by-2.5", + "license_expression_spdx": "CC-BY-2.5", "matches": [ { - "score": 100.0, + "license_expression": "cc-by-2.5", + "spdx_license_expression": "CC-BY-2.5", + "from_file": "scan/JGroups/src/GuardedBy.java", "start_line": 4, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 14, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cc-by-2.5", - "rule_identifier": "cc-by-2.5_4.RULE", "rule_relevance": 100, + "rule_identifier": "cc-by-2.5_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-2.5_4.RULE" } ], @@ -3847,17 +4074,20 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/ImmutableReference.java", "start_line": 7, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 125, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" } ], @@ -3998,17 +4228,20 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/RouterStubManager.java", "start_line": 7, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 125, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" } ], @@ -4179,29 +4412,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/adler32.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -4261,17 +4499,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -4328,29 +4569,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zutil.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -4410,17 +4656,20 @@ "license_detections": [ { "license_expression": "cc0-1.0", + "license_expression_spdx": "CC0-1.0", "matches": [ { - "score": 99.69, + "license_expression": "cc0-1.0", + "spdx_license_expression": "CC0-1.0", + "from_file": "scan/cc0-1.0.LICENSE", "start_line": 1, "end_line": 98, + "matcher": "3-seq", + "score": 99.69, "matched_length": 978, "match_coverage": 99.69, - "matcher": "3-seq", - "license_expression": "cc0-1.0", - "rule_identifier": "cc0-1.0_155.RULE", "rule_relevance": 100, + "rule_identifier": "cc0-1.0_155.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_155.RULE" } ], @@ -6669,17 +6918,20 @@ "license_detections": [ { "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", "matches": [ { - "score": 50.0, + "license_expression": "artistic-2.0", + "spdx_license_expression": "Artistic-2.0", + "from_file": "scan/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 50.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "artistic-2.0", - "rule_identifier": "spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "rule_relevance": 50, + "rule_identifier": "spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "matched_text": "Artistic-2.0" } @@ -7482,17 +7734,20 @@ "license_detections": [ { "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", "matches": [ { - "score": 100.0, + "license_expression": "artistic-2.0", + "spdx_license_expression": "Artistic-2.0", + "from_file": "scan/package.json", "start_line": 198, "end_line": 198, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "artistic-2.0", - "rule_identifier": "artistic-2.0_46.RULE", "rule_relevance": 100, + "rule_identifier": "artistic-2.0_46.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_46.RULE" } ], @@ -7615,17 +7870,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "license_expression_spdx": "GPL-2.0-or-later WITH GNAT-exception", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "spdx_license_expression": "GPL-2.0-or-later WITH GNAT-exception", + "from_file": "scan/zlib/ada/zlib.ads", "start_line": 6, "end_line": 25, + "matcher": "2-aho", + "score": 100.0, "matched_length": 176, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus WITH ada-linking-exception", - "rule_identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_ada-linking-exception_1.RULE" } ], @@ -7682,29 +7940,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/adler32.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -7764,29 +8027,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/deflate.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -7846,29 +8114,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/deflate.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -8012,17 +8285,20 @@ "license_detections": [ { "license_expression": "boost-1.0", + "license_expression_spdx": "BSL-1.0", "matches": [ { - "score": 100.0, + "license_expression": "boost-1.0", + "spdx_license_expression": "BSL-1.0", + "from_file": "scan/zlib/dotzlib/ChecksumImpl.cs", "start_line": 4, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 32, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "boost-1.0", - "rule_identifier": "boost-1.0_21.RULE", "rule_relevance": 100, + "rule_identifier": "boost-1.0_21.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/boost-1.0_21.RULE" } ], @@ -8115,17 +8391,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/gcc_gvmat64/gvmat64.S", "start_line": 17, "end_line": 31, + "matcher": "2-aho", + "score": 100.0, "matched_length": 132, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib.LICENSE", "rule_relevance": 100, + "rule_identifier": "zlib.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE" } ], @@ -8224,17 +8503,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/infback9/infback9.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" } ], @@ -8291,17 +8573,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/infback9/infback9.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" } ], @@ -8394,17 +8679,20 @@ "license_detections": [ { "license_expression": "mit-old-style", + "license_expression_spdx": "LicenseRef-scancode-mit-old-style", "matches": [ { - "score": 100.0, + "license_expression": "mit-old-style", + "spdx_license_expression": "LicenseRef-scancode-mit-old-style", + "from_file": "scan/zlib/iostream2/zstream.h", "start_line": 9, "end_line": 15, + "matcher": "2-aho", + "score": 100.0, "matched_length": 71, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit-old-style", - "rule_identifier": "mit-old-style_cmr-no_1.RULE", "rule_relevance": 100, + "rule_identifier": "mit-old-style_cmr-no_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style_cmr-no_1.RULE" } ], @@ -8461,17 +8749,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -8528,29 +8819,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zutil.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -8610,29 +8906,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zutil.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], diff --git a/tests/summarycode/data/tallies/full_tallies/tallies_by_facet.expected.json b/tests/summarycode/data/tallies/full_tallies/tallies_by_facet.expected.json index 11edf8dc14..d1b8484a56 100644 --- a/tests/summarycode/data/tallies/full_tallies/tallies_by_facet.expected.json +++ b/tests/summarycode/data/tallies/full_tallies/tallies_by_facet.expected.json @@ -2212,17 +2212,20 @@ "license_detections": [ { "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", "matches": [ { - "score": 50.0, + "license_expression": "artistic-2.0", + "spdx_license_expression": "Artistic-2.0", + "from_file": "scan/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 50.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "artistic-2.0", - "rule_identifier": "spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "rule_relevance": 50, + "rule_identifier": "spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "matched_text": "Artistic-2.0" } @@ -3334,62 +3337,280 @@ { "identifier": "artistic_2_0-2ca48deb-7b37-fc93-edd9-b349ad073774", "license_expression": "artistic-2.0", - "detection_count": 1 + "license_expression_spdx": "Artistic-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", + "from_file": "scan/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 50.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 50, + "rule_identifier": "spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_artistic-2.0_for_artistic-2.0.RULE" + } + ] }, { "identifier": "artistic_2_0-c1ede1c6-eb3d-61cc-53ad-abba5e17c732", "license_expression": "artistic-2.0", - "detection_count": 1 + "license_expression_spdx": "Artistic-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", + "from_file": "scan/package.json", + "start_line": 198, + "end_line": 198, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "artistic-2.0_46.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_46.RULE" + } + ] }, { "identifier": "boost_1_0-7d91c102-4b73-b55e-398c-cca7ae1e7bf5", "license_expression": "boost-1.0", - "detection_count": 1 + "license_expression_spdx": "BSL-1.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "boost-1.0", + "license_expression_spdx": "BSL-1.0", + "from_file": "scan/zlib/dotzlib/ChecksumImpl.cs", + "start_line": 4, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 32, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "boost-1.0_21.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/boost-1.0_21.RULE" + } + ] }, { "identifier": "cc_by_2_5-2664cdba-0ee6-a527-2588-8a3a1be3ecae", "license_expression": "cc-by-2.5", - "detection_count": 1 + "license_expression_spdx": "CC-BY-2.5", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "cc-by-2.5", + "license_expression_spdx": "CC-BY-2.5", + "from_file": "scan/JGroups/src/GuardedBy.java", + "start_line": 4, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 14, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "cc-by-2.5_4.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-2.5_4.RULE" + } + ] }, { "identifier": "cc0_1_0-4be2dd81-b884-28ac-690a-75aff1b0e963", "license_expression": "cc0-1.0", - "detection_count": 1 + "license_expression_spdx": "CC0-1.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "cc0-1.0", + "license_expression_spdx": "CC0-1.0", + "from_file": "scan/cc0-1.0.LICENSE", + "start_line": 1, + "end_line": 98, + "matcher": "3-seq", + "score": 99.69, + "matched_length": 978, + "match_coverage": 99.69, + "rule_relevance": 100, + "rule_identifier": "cc0-1.0_155.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_155.RULE" + } + ] }, { "identifier": "gpl_2_0_plus_with_ada_linking_exception-ca27fab9-344b-58b2-3c05-f3ca150dad7e", "license_expression": "gpl-2.0-plus WITH ada-linking-exception", - "detection_count": 1 + "license_expression_spdx": "GPL-2.0-or-later WITH GNAT-exception", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "license_expression_spdx": "GPL-2.0-or-later WITH GNAT-exception", + "from_file": "scan/zlib/ada/zlib.ads", + "start_line": 6, + "end_line": 25, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 176, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_ada-linking-exception_1.RULE" + } + ] }, { "identifier": "lgpl_2_1_plus-3fe3e5e6-cb18-c0a1-f831-f08fab3612c1", "license_expression": "lgpl-2.1-plus", - "detection_count": 3 + "license_expression_spdx": "LGPL-2.1-or-later", + "detection_count": 3, + "reference_matches": [ + { + "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/FixedMembershipToken.java", + "start_line": 7, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 125, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" + } + ] }, { "identifier": "mit_old_style-578ee504-a9b5-6c26-1bb4-fd7b80a664f0", "license_expression": "mit-old-style", - "detection_count": 1 + "license_expression_spdx": "LicenseRef-scancode-mit-old-style", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit-old-style", + "license_expression_spdx": "LicenseRef-scancode-mit-old-style", + "from_file": "scan/zlib/iostream2/zstream.h", + "start_line": 9, + "end_line": 15, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 71, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit-old-style_cmr-no_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style_cmr-no_1.RULE" + } + ] }, { "identifier": "zlib-663c0d51-510f-fca6-b163-671ecb188ff9", "license_expression": "zlib", - "detection_count": 7 + "license_expression_spdx": "Zlib", + "detection_count": 7, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/arch/adler32.c", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" + }, + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/arch/zlib.h", + "start_line": 6, + "end_line": 23, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 144, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" + } + ] }, { "identifier": "zlib-27de81f4-f6ce-2bf5-ab37-9a4c71f4b296", "license_expression": "zlib", - "detection_count": 2 + "license_expression_spdx": "Zlib", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/zlib/infback9/infback9.c", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" + } + ] }, { "identifier": "zlib-b04102d0-a663-78b5-de18-9677ee48ce9c", "license_expression": "zlib", - "detection_count": 2 + "license_expression_spdx": "Zlib", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/arch/zlib.h", + "start_line": 6, + "end_line": 23, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 144, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" + } + ] }, { "identifier": "zlib-f32ae987-c66a-44ce-bd13-c90e0c59aab8", "license_expression": "zlib", - "detection_count": 1 + "license_expression_spdx": "Zlib", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/zlib/gcc_gvmat64/gvmat64.S", + "start_line": 17, + "end_line": 31, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 132, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE" + } + ] } ], "tallies": { @@ -3969,17 +4190,20 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/FixedMembershipToken.java", "start_line": 7, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 125, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" } ], @@ -4047,17 +4271,20 @@ "license_detections": [ { "license_expression": "cc-by-2.5", + "license_expression_spdx": "CC-BY-2.5", "matches": [ { - "score": 100.0, + "license_expression": "cc-by-2.5", + "spdx_license_expression": "CC-BY-2.5", + "from_file": "scan/JGroups/src/GuardedBy.java", "start_line": 4, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 14, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cc-by-2.5", - "rule_identifier": "cc-by-2.5_4.RULE", "rule_relevance": 100, + "rule_identifier": "cc-by-2.5_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-2.5_4.RULE" } ], @@ -4136,17 +4363,20 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/ImmutableReference.java", "start_line": 7, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 125, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" } ], @@ -4308,17 +4538,20 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/RouterStubManager.java", "start_line": 7, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 125, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" } ], @@ -4524,29 +4757,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/adler32.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -4611,17 +4849,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -4700,29 +4941,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zutil.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -4787,17 +5033,20 @@ "license_detections": [ { "license_expression": "cc0-1.0", + "license_expression_spdx": "CC0-1.0", "matches": [ { - "score": 99.69, + "license_expression": "cc0-1.0", + "spdx_license_expression": "CC0-1.0", + "from_file": "scan/cc0-1.0.LICENSE", "start_line": 1, "end_line": 98, + "matcher": "3-seq", + "score": 99.69, "matched_length": 978, "match_coverage": 99.69, - "matcher": "3-seq", - "license_expression": "cc0-1.0", - "rule_identifier": "cc0-1.0_155.RULE", "rule_relevance": 100, + "rule_identifier": "cc0-1.0_155.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_155.RULE" } ], @@ -7051,17 +7300,20 @@ "license_detections": [ { "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", "matches": [ { - "score": 50.0, + "license_expression": "artistic-2.0", + "spdx_license_expression": "Artistic-2.0", + "from_file": "scan/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 50.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "artistic-2.0", - "rule_identifier": "spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "rule_relevance": 50, + "rule_identifier": "spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "matched_text": "Artistic-2.0" } @@ -7864,17 +8116,20 @@ "license_detections": [ { "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", "matches": [ { - "score": 100.0, + "license_expression": "artistic-2.0", + "spdx_license_expression": "Artistic-2.0", + "from_file": "scan/package.json", "start_line": 198, "end_line": 198, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "artistic-2.0", - "rule_identifier": "artistic-2.0_46.RULE", "rule_relevance": 100, + "rule_identifier": "artistic-2.0_46.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_46.RULE" } ], @@ -8290,17 +8545,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "license_expression_spdx": "GPL-2.0-or-later WITH GNAT-exception", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "spdx_license_expression": "GPL-2.0-or-later WITH GNAT-exception", + "from_file": "scan/zlib/ada/zlib.ads", "start_line": 6, "end_line": 25, + "matcher": "2-aho", + "score": 100.0, "matched_length": 176, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus WITH ada-linking-exception", - "rule_identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_ada-linking-exception_1.RULE" } ], @@ -8362,29 +8620,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/adler32.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -8449,29 +8712,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/deflate.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -8536,29 +8804,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/deflate.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -8715,17 +8988,20 @@ "license_detections": [ { "license_expression": "boost-1.0", + "license_expression_spdx": "BSL-1.0", "matches": [ { - "score": 100.0, + "license_expression": "boost-1.0", + "spdx_license_expression": "BSL-1.0", + "from_file": "scan/zlib/dotzlib/ChecksumImpl.cs", "start_line": 4, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 32, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "boost-1.0", - "rule_identifier": "boost-1.0_21.RULE", "rule_relevance": 100, + "rule_identifier": "boost-1.0_21.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/boost-1.0_21.RULE" } ], @@ -8832,17 +9108,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/gcc_gvmat64/gvmat64.S", "start_line": 17, "end_line": 31, + "matcher": "2-aho", + "score": 100.0, "matched_length": 132, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib.LICENSE", "rule_relevance": 100, + "rule_identifier": "zlib.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE" } ], @@ -8965,17 +9244,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/infback9/infback9.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" } ], @@ -9037,17 +9319,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/infback9/infback9.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" } ], @@ -9148,17 +9433,20 @@ "license_detections": [ { "license_expression": "mit-old-style", + "license_expression_spdx": "LicenseRef-scancode-mit-old-style", "matches": [ { - "score": 100.0, + "license_expression": "mit-old-style", + "spdx_license_expression": "LicenseRef-scancode-mit-old-style", + "from_file": "scan/zlib/iostream2/zstream.h", "start_line": 9, "end_line": 15, + "matcher": "2-aho", + "score": 100.0, "matched_length": 71, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit-old-style", - "rule_identifier": "mit-old-style_cmr-no_1.RULE", "rule_relevance": 100, + "rule_identifier": "mit-old-style_cmr-no_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style_cmr-no_1.RULE" } ], @@ -9226,17 +9514,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -9309,29 +9600,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zutil.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -9396,29 +9692,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zutil.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], diff --git a/tests/summarycode/data/tallies/full_tallies/tallies_details.expected.json b/tests/summarycode/data/tallies/full_tallies/tallies_details.expected.json index c6b5c2dd48..d3ceaf9d06 100644 --- a/tests/summarycode/data/tallies/full_tallies/tallies_details.expected.json +++ b/tests/summarycode/data/tallies/full_tallies/tallies_details.expected.json @@ -2212,17 +2212,20 @@ "license_detections": [ { "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", "matches": [ { - "score": 50.0, + "license_expression": "artistic-2.0", + "spdx_license_expression": "Artistic-2.0", + "from_file": "scan/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 50.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "artistic-2.0", - "rule_identifier": "spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "rule_relevance": 50, + "rule_identifier": "spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "matched_text": "Artistic-2.0" } @@ -3334,62 +3337,280 @@ { "identifier": "artistic_2_0-2ca48deb-7b37-fc93-edd9-b349ad073774", "license_expression": "artistic-2.0", - "detection_count": 1 + "license_expression_spdx": "Artistic-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", + "from_file": "scan/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-hash", + "score": 50.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 50, + "rule_identifier": "spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_artistic-2.0_for_artistic-2.0.RULE" + } + ] }, { "identifier": "artistic_2_0-c1ede1c6-eb3d-61cc-53ad-abba5e17c732", "license_expression": "artistic-2.0", - "detection_count": 1 + "license_expression_spdx": "Artistic-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", + "from_file": "scan/package.json", + "start_line": 198, + "end_line": 198, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "artistic-2.0_46.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_46.RULE" + } + ] }, { "identifier": "boost_1_0-7d91c102-4b73-b55e-398c-cca7ae1e7bf5", "license_expression": "boost-1.0", - "detection_count": 1 + "license_expression_spdx": "BSL-1.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "boost-1.0", + "license_expression_spdx": "BSL-1.0", + "from_file": "scan/zlib/dotzlib/ChecksumImpl.cs", + "start_line": 4, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 32, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "boost-1.0_21.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/boost-1.0_21.RULE" + } + ] }, { "identifier": "cc_by_2_5-2664cdba-0ee6-a527-2588-8a3a1be3ecae", "license_expression": "cc-by-2.5", - "detection_count": 1 + "license_expression_spdx": "CC-BY-2.5", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "cc-by-2.5", + "license_expression_spdx": "CC-BY-2.5", + "from_file": "scan/JGroups/src/GuardedBy.java", + "start_line": 4, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 14, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "cc-by-2.5_4.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-2.5_4.RULE" + } + ] }, { "identifier": "cc0_1_0-4be2dd81-b884-28ac-690a-75aff1b0e963", "license_expression": "cc0-1.0", - "detection_count": 1 + "license_expression_spdx": "CC0-1.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "cc0-1.0", + "license_expression_spdx": "CC0-1.0", + "from_file": "scan/cc0-1.0.LICENSE", + "start_line": 1, + "end_line": 98, + "matcher": "3-seq", + "score": 99.69, + "matched_length": 978, + "match_coverage": 99.69, + "rule_relevance": 100, + "rule_identifier": "cc0-1.0_155.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_155.RULE" + } + ] }, { "identifier": "gpl_2_0_plus_with_ada_linking_exception-ca27fab9-344b-58b2-3c05-f3ca150dad7e", "license_expression": "gpl-2.0-plus WITH ada-linking-exception", - "detection_count": 1 + "license_expression_spdx": "GPL-2.0-or-later WITH GNAT-exception", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "license_expression_spdx": "GPL-2.0-or-later WITH GNAT-exception", + "from_file": "scan/zlib/ada/zlib.ads", + "start_line": 6, + "end_line": 25, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 176, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_ada-linking-exception_1.RULE" + } + ] }, { "identifier": "lgpl_2_1_plus-3fe3e5e6-cb18-c0a1-f831-f08fab3612c1", "license_expression": "lgpl-2.1-plus", - "detection_count": 3 + "license_expression_spdx": "LGPL-2.1-or-later", + "detection_count": 3, + "reference_matches": [ + { + "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/FixedMembershipToken.java", + "start_line": 7, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 125, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" + } + ] }, { "identifier": "mit_old_style-578ee504-a9b5-6c26-1bb4-fd7b80a664f0", "license_expression": "mit-old-style", - "detection_count": 1 + "license_expression_spdx": "LicenseRef-scancode-mit-old-style", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit-old-style", + "license_expression_spdx": "LicenseRef-scancode-mit-old-style", + "from_file": "scan/zlib/iostream2/zstream.h", + "start_line": 9, + "end_line": 15, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 71, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit-old-style_cmr-no_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style_cmr-no_1.RULE" + } + ] }, { "identifier": "zlib-663c0d51-510f-fca6-b163-671ecb188ff9", "license_expression": "zlib", - "detection_count": 7 + "license_expression_spdx": "Zlib", + "detection_count": 7, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/arch/adler32.c", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" + }, + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/arch/zlib.h", + "start_line": 6, + "end_line": 23, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 144, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" + } + ] }, { "identifier": "zlib-27de81f4-f6ce-2bf5-ab37-9a4c71f4b296", "license_expression": "zlib", - "detection_count": 2 + "license_expression_spdx": "Zlib", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/zlib/infback9/infback9.c", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" + } + ] }, { "identifier": "zlib-b04102d0-a663-78b5-de18-9677ee48ce9c", "license_expression": "zlib", - "detection_count": 2 + "license_expression_spdx": "Zlib", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/arch/zlib.h", + "start_line": 6, + "end_line": 23, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 144, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" + } + ] }, { "identifier": "zlib-f32ae987-c66a-44ce-bd13-c90e0c59aab8", "license_expression": "zlib", - "detection_count": 1 + "license_expression_spdx": "Zlib", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/zlib/gcc_gvmat64/gvmat64.S", + "start_line": 17, + "end_line": 31, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 132, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE" + } + ] } ], "tallies": { @@ -4039,17 +4260,20 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/FixedMembershipToken.java", "start_line": 7, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 125, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" } ], @@ -4138,17 +4362,20 @@ "license_detections": [ { "license_expression": "cc-by-2.5", + "license_expression_spdx": "CC-BY-2.5", "matches": [ { - "score": 100.0, + "license_expression": "cc-by-2.5", + "spdx_license_expression": "CC-BY-2.5", + "from_file": "scan/JGroups/src/GuardedBy.java", "start_line": 4, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 14, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cc-by-2.5", - "rule_identifier": "cc-by-2.5_4.RULE", "rule_relevance": 100, + "rule_identifier": "cc-by-2.5_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-2.5_4.RULE" } ], @@ -4243,17 +4470,20 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/ImmutableReference.java", "start_line": 7, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 125, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" } ], @@ -4490,17 +4720,20 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/RouterStubManager.java", "start_line": 7, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 125, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" } ], @@ -4815,29 +5048,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/adler32.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -4929,17 +5167,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -5028,29 +5269,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zutil.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -5142,17 +5388,20 @@ "license_detections": [ { "license_expression": "cc0-1.0", + "license_expression_spdx": "CC0-1.0", "matches": [ { - "score": 99.69, + "license_expression": "cc0-1.0", + "spdx_license_expression": "CC0-1.0", + "from_file": "scan/cc0-1.0.LICENSE", "start_line": 1, "end_line": 98, + "matcher": "3-seq", + "score": 99.69, "matched_length": 978, "match_coverage": 99.69, - "matcher": "3-seq", - "license_expression": "cc0-1.0", - "rule_identifier": "cc0-1.0_155.RULE", "rule_relevance": 100, + "rule_identifier": "cc0-1.0_155.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_155.RULE" } ], @@ -7433,17 +7682,20 @@ "license_detections": [ { "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", "matches": [ { - "score": 50.0, + "license_expression": "artistic-2.0", + "spdx_license_expression": "Artistic-2.0", + "from_file": "scan/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 50.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "artistic-2.0", - "rule_identifier": "spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "rule_relevance": 50, + "rule_identifier": "spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/spdx_license_id_artistic-2.0_for_artistic-2.0.RULE", "matched_text": "Artistic-2.0" } @@ -8246,17 +8498,20 @@ "license_detections": [ { "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", "matches": [ { - "score": 100.0, + "license_expression": "artistic-2.0", + "spdx_license_expression": "Artistic-2.0", + "from_file": "scan/package.json", "start_line": 198, "end_line": 198, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "artistic-2.0", - "rule_identifier": "artistic-2.0_46.RULE", "rule_relevance": 100, + "rule_identifier": "artistic-2.0_46.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_46.RULE" } ], @@ -8550,17 +8805,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "license_expression_spdx": "GPL-2.0-or-later WITH GNAT-exception", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "spdx_license_expression": "GPL-2.0-or-later WITH GNAT-exception", + "from_file": "scan/zlib/ada/zlib.ads", "start_line": 6, "end_line": 25, + "matcher": "2-aho", + "score": 100.0, "matched_length": 176, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus WITH ada-linking-exception", - "rule_identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_ada-linking-exception_1.RULE" } ], @@ -8649,29 +8907,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/adler32.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -8763,29 +9026,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/deflate.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -8877,29 +9145,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/deflate.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -9147,17 +9420,20 @@ "license_detections": [ { "license_expression": "boost-1.0", + "license_expression_spdx": "BSL-1.0", "matches": [ { - "score": 100.0, + "license_expression": "boost-1.0", + "spdx_license_expression": "BSL-1.0", + "from_file": "scan/zlib/dotzlib/ChecksumImpl.cs", "start_line": 4, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 32, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "boost-1.0", - "rule_identifier": "boost-1.0_21.RULE", "rule_relevance": 100, + "rule_identifier": "boost-1.0_21.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/boost-1.0_21.RULE" } ], @@ -9314,17 +9590,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/gcc_gvmat64/gvmat64.S", "start_line": 17, "end_line": 31, + "matcher": "2-aho", + "score": 100.0, "matched_length": 132, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib.LICENSE", "rule_relevance": 100, + "rule_identifier": "zlib.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE" } ], @@ -9487,17 +9766,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/infback9/infback9.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" } ], @@ -9586,17 +9868,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/infback9/infback9.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" } ], @@ -9753,17 +10038,20 @@ "license_detections": [ { "license_expression": "mit-old-style", + "license_expression_spdx": "LicenseRef-scancode-mit-old-style", "matches": [ { - "score": 100.0, + "license_expression": "mit-old-style", + "spdx_license_expression": "LicenseRef-scancode-mit-old-style", + "from_file": "scan/zlib/iostream2/zstream.h", "start_line": 9, "end_line": 15, + "matcher": "2-aho", + "score": 100.0, "matched_length": 71, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit-old-style", - "rule_identifier": "mit-old-style_cmr-no_1.RULE", "rule_relevance": 100, + "rule_identifier": "mit-old-style_cmr-no_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style_cmr-no_1.RULE" } ], @@ -9852,17 +10140,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -9951,29 +10242,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zutil.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -10065,29 +10361,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zutil.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], diff --git a/tests/summarycode/data/tallies/full_tallies/tallies_key_files-details.expected.json-lines b/tests/summarycode/data/tallies/full_tallies/tallies_key_files-details.expected.json-lines index d6cbedd5f9..36585556eb 100644 --- a/tests/summarycode/data/tallies/full_tallies/tallies_key_files-details.expected.json-lines +++ b/tests/summarycode/data/tallies/full_tallies/tallies_key_files-details.expected.json-lines @@ -22,11 +22,11 @@ "system_environment": { "operating_system": "linux", "cpu_architecture": "64", - "platform": "Linux-5.15.0-73-generic-x86_64-with-glibc2.29", - "platform_version": "#80~20.04.1-Ubuntu SMP Wed May 17 14:58:14 UTC 2023", - "python_version": "3.8.10 (default, May 26 2023, 14:05:08) \n[GCC 9.4.0]" + "platform": "Linux-5.15.0-89-generic-x86_64-with-glibc2.29", + "platform_version": "#99~20.04.1-Ubuntu SMP Thu Nov 2 15:16:47 UTC 2023", + "python_version": "3.8.10 (default, Nov 22 2023, 10:22:35) \n[GCC 9.4.0]" }, - "spdx_license_list_version": "3.20", + "spdx_license_list_version": "3.22", "files_count": 26 } } @@ -37,57 +37,258 @@ { "identifier": "artistic_2_0-c1ede1c6-eb3d-61cc-53ad-abba5e17c732", "license_expression": "artistic-2.0", - "detection_count": 1 + "license_expression_spdx": "Artistic-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", + "from_file": "scan/package.json", + "start_line": 198, + "end_line": 198, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "artistic-2.0_46.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_46.RULE" + } + ] }, { "identifier": "boost_1_0-7d91c102-4b73-b55e-398c-cca7ae1e7bf5", "license_expression": "boost-1.0", - "detection_count": 1 + "license_expression_spdx": "BSL-1.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "boost-1.0", + "license_expression_spdx": "BSL-1.0", + "from_file": "scan/zlib/dotzlib/ChecksumImpl.cs", + "start_line": 4, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 32, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "boost-1.0_21.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/boost-1.0_21.RULE" + } + ] }, { "identifier": "cc_by_2_5-2664cdba-0ee6-a527-2588-8a3a1be3ecae", "license_expression": "cc-by-2.5", - "detection_count": 1 + "license_expression_spdx": "CC-BY-2.5", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "cc-by-2.5", + "license_expression_spdx": "CC-BY-2.5", + "from_file": "scan/JGroups/src/GuardedBy.java", + "start_line": 4, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 14, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "cc-by-2.5_4.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-2.5_4.RULE" + } + ] }, { "identifier": "cc0_1_0-4be2dd81-b884-28ac-690a-75aff1b0e963", "license_expression": "cc0-1.0", - "detection_count": 1 + "license_expression_spdx": "CC0-1.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "cc0-1.0", + "license_expression_spdx": "CC0-1.0", + "from_file": "scan/cc0-1.0.LICENSE", + "start_line": 1, + "end_line": 98, + "matcher": "3-seq", + "score": 99.69, + "matched_length": 978, + "match_coverage": 99.69, + "rule_relevance": 100, + "rule_identifier": "cc0-1.0_155.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_155.RULE" + } + ] }, { "identifier": "gpl_2_0_plus_with_ada_linking_exception-ca27fab9-344b-58b2-3c05-f3ca150dad7e", "license_expression": "gpl-2.0-plus WITH ada-linking-exception", - "detection_count": 1 + "license_expression_spdx": "GPL-2.0-or-later WITH GNAT-exception", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "license_expression_spdx": "GPL-2.0-or-later WITH GNAT-exception", + "from_file": "scan/zlib/ada/zlib.ads", + "start_line": 6, + "end_line": 25, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 176, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_ada-linking-exception_1.RULE" + } + ] }, { "identifier": "lgpl_2_1_plus-3fe3e5e6-cb18-c0a1-f831-f08fab3612c1", "license_expression": "lgpl-2.1-plus", - "detection_count": 3 + "license_expression_spdx": "LGPL-2.1-or-later", + "detection_count": 3, + "reference_matches": [ + { + "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/FixedMembershipToken.java", + "start_line": 7, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 125, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" + } + ] }, { "identifier": "mit_old_style-578ee504-a9b5-6c26-1bb4-fd7b80a664f0", "license_expression": "mit-old-style", - "detection_count": 1 + "license_expression_spdx": "LicenseRef-scancode-mit-old-style", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit-old-style", + "license_expression_spdx": "LicenseRef-scancode-mit-old-style", + "from_file": "scan/zlib/iostream2/zstream.h", + "start_line": 9, + "end_line": 15, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 71, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit-old-style_cmr-no_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style_cmr-no_1.RULE" + } + ] }, { "identifier": "zlib-663c0d51-510f-fca6-b163-671ecb188ff9", "license_expression": "zlib", - "detection_count": 7 + "license_expression_spdx": "Zlib", + "detection_count": 7, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/arch/adler32.c", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" + }, + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/arch/zlib.h", + "start_line": 6, + "end_line": 23, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 144, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" + } + ] }, { "identifier": "zlib-27de81f4-f6ce-2bf5-ab37-9a4c71f4b296", "license_expression": "zlib", - "detection_count": 2 + "license_expression_spdx": "Zlib", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/zlib/infback9/infback9.c", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" + } + ] }, { "identifier": "zlib-b04102d0-a663-78b5-de18-9677ee48ce9c", "license_expression": "zlib", - "detection_count": 2 + "license_expression_spdx": "Zlib", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/arch/zlib.h", + "start_line": 6, + "end_line": 23, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 144, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" + } + ] }, { "identifier": "zlib-f32ae987-c66a-44ce-bd13-c90e0c59aab8", "license_expression": "zlib", - "detection_count": 1 + "license_expression_spdx": "Zlib", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/zlib/gcc_gvmat64/gvmat64.S", + "start_line": 17, + "end_line": 31, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 132, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE" + } + ] } ] }, @@ -368,17 +569,20 @@ "license_detections": [ { "license_expression": "cc0-1.0", + "license_expression_spdx": "CC0-1.0", "matches": [ { - "score": 99.69, + "license_expression": "cc0-1.0", + "spdx_license_expression": "CC0-1.0", + "from_file": "scan/cc0-1.0.LICENSE", "start_line": 1, "end_line": 98, + "matcher": "3-seq", + "score": 99.69, "matched_length": 978, "match_coverage": 99.69, - "matcher": "3-seq", - "license_expression": "cc0-1.0", - "rule_identifier": "cc0-1.0_155.RULE", "rule_relevance": 100, + "rule_identifier": "cc0-1.0_155.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_155.RULE" } ], @@ -428,17 +632,20 @@ "license_detections": [ { "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", "matches": [ { - "score": 100.0, + "license_expression": "artistic-2.0", + "spdx_license_expression": "Artistic-2.0", + "from_file": "scan/package.json", "start_line": 198, "end_line": 198, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "artistic-2.0", - "rule_identifier": "artistic-2.0_46.RULE", "rule_relevance": 100, + "rule_identifier": "artistic-2.0_46.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_46.RULE" } ], @@ -576,29 +783,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/adler32.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -663,17 +875,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -735,29 +950,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zutil.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -904,17 +1124,20 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/FixedMembershipToken.java", "start_line": 7, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 125, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" } ], @@ -976,17 +1199,20 @@ "license_detections": [ { "license_expression": "cc-by-2.5", + "license_expression_spdx": "CC-BY-2.5", "matches": [ { - "score": 100.0, + "license_expression": "cc-by-2.5", + "spdx_license_expression": "CC-BY-2.5", + "from_file": "scan/JGroups/src/GuardedBy.java", "start_line": 4, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 14, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cc-by-2.5", - "rule_identifier": "cc-by-2.5_4.RULE", "rule_relevance": 100, + "rule_identifier": "cc-by-2.5_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-2.5_4.RULE" } ], @@ -1054,17 +1280,20 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/ImmutableReference.java", "start_line": 7, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 125, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" } ], @@ -1220,17 +1449,20 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/RouterStubManager.java", "start_line": 7, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 125, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" } ], @@ -1380,29 +1612,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/adler32.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -1467,29 +1704,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/deflate.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -1554,29 +1796,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/deflate.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -1641,17 +1888,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -1713,29 +1963,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zutil.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -1800,29 +2055,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zutil.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -1928,17 +2188,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "license_expression_spdx": "GPL-2.0-or-later WITH GNAT-exception", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "spdx_license_expression": "GPL-2.0-or-later WITH GNAT-exception", + "from_file": "scan/zlib/ada/zlib.ads", "start_line": 6, "end_line": 25, + "matcher": "2-aho", + "score": 100.0, "matched_length": 176, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus WITH ada-linking-exception", - "rule_identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_ada-linking-exception_1.RULE" } ], @@ -2094,17 +2357,20 @@ "license_detections": [ { "license_expression": "boost-1.0", + "license_expression_spdx": "BSL-1.0", "matches": [ { - "score": 100.0, + "license_expression": "boost-1.0", + "spdx_license_expression": "BSL-1.0", + "from_file": "scan/zlib/dotzlib/ChecksumImpl.cs", "start_line": 4, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 32, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "boost-1.0", - "rule_identifier": "boost-1.0_21.RULE", "rule_relevance": 100, + "rule_identifier": "boost-1.0_21.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/boost-1.0_21.RULE" } ], @@ -2207,17 +2473,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/gcc_gvmat64/gvmat64.S", "start_line": 17, "end_line": 31, + "matcher": "2-aho", + "score": 100.0, "matched_length": 132, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib.LICENSE", "rule_relevance": 100, + "rule_identifier": "zlib.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE" } ], @@ -2326,17 +2595,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/infback9/infback9.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" } ], @@ -2398,17 +2670,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/infback9/infback9.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" } ], @@ -2511,17 +2786,20 @@ "license_detections": [ { "license_expression": "mit-old-style", + "license_expression_spdx": "LicenseRef-scancode-mit-old-style", "matches": [ { - "score": 100.0, + "license_expression": "mit-old-style", + "spdx_license_expression": "LicenseRef-scancode-mit-old-style", + "from_file": "scan/zlib/iostream2/zstream.h", "start_line": 9, "end_line": 15, + "matcher": "2-aho", + "score": 100.0, "matched_length": 71, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit-old-style", - "rule_identifier": "mit-old-style_cmr-no_1.RULE", "rule_relevance": 100, + "rule_identifier": "mit-old-style_cmr-no_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style_cmr-no_1.RULE" } ], diff --git a/tests/summarycode/data/tallies/full_tallies/tallies_key_files.expected.json b/tests/summarycode/data/tallies/full_tallies/tallies_key_files.expected.json index 33e798b379..417fd47968 100644 --- a/tests/summarycode/data/tallies/full_tallies/tallies_key_files.expected.json +++ b/tests/summarycode/data/tallies/full_tallies/tallies_key_files.expected.json @@ -3,57 +3,258 @@ { "identifier": "artistic_2_0-c1ede1c6-eb3d-61cc-53ad-abba5e17c732", "license_expression": "artistic-2.0", - "detection_count": 1 + "license_expression_spdx": "Artistic-2.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", + "from_file": "scan/package.json", + "start_line": 198, + "end_line": 198, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 4, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "artistic-2.0_46.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_46.RULE" + } + ] }, { "identifier": "boost_1_0-7d91c102-4b73-b55e-398c-cca7ae1e7bf5", "license_expression": "boost-1.0", - "detection_count": 1 + "license_expression_spdx": "BSL-1.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "boost-1.0", + "license_expression_spdx": "BSL-1.0", + "from_file": "scan/zlib/dotzlib/ChecksumImpl.cs", + "start_line": 4, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 32, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "boost-1.0_21.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/boost-1.0_21.RULE" + } + ] }, { "identifier": "cc_by_2_5-2664cdba-0ee6-a527-2588-8a3a1be3ecae", "license_expression": "cc-by-2.5", - "detection_count": 1 + "license_expression_spdx": "CC-BY-2.5", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "cc-by-2.5", + "license_expression_spdx": "CC-BY-2.5", + "from_file": "scan/JGroups/src/GuardedBy.java", + "start_line": 4, + "end_line": 5, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 14, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "cc-by-2.5_4.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-2.5_4.RULE" + } + ] }, { "identifier": "cc0_1_0-4be2dd81-b884-28ac-690a-75aff1b0e963", "license_expression": "cc0-1.0", - "detection_count": 1 + "license_expression_spdx": "CC0-1.0", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "cc0-1.0", + "license_expression_spdx": "CC0-1.0", + "from_file": "scan/cc0-1.0.LICENSE", + "start_line": 1, + "end_line": 98, + "matcher": "3-seq", + "score": 99.69, + "matched_length": 978, + "match_coverage": 99.69, + "rule_relevance": 100, + "rule_identifier": "cc0-1.0_155.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_155.RULE" + } + ] }, { "identifier": "gpl_2_0_plus_with_ada_linking_exception-ca27fab9-344b-58b2-3c05-f3ca150dad7e", "license_expression": "gpl-2.0-plus WITH ada-linking-exception", - "detection_count": 1 + "license_expression_spdx": "GPL-2.0-or-later WITH GNAT-exception", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "license_expression_spdx": "GPL-2.0-or-later WITH GNAT-exception", + "from_file": "scan/zlib/ada/zlib.ads", + "start_line": 6, + "end_line": 25, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 176, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_ada-linking-exception_1.RULE" + } + ] }, { "identifier": "lgpl_2_1_plus-3fe3e5e6-cb18-c0a1-f831-f08fab3612c1", "license_expression": "lgpl-2.1-plus", - "detection_count": 3 + "license_expression_spdx": "LGPL-2.1-or-later", + "detection_count": 3, + "reference_matches": [ + { + "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/FixedMembershipToken.java", + "start_line": 7, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 125, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" + } + ] }, { "identifier": "mit_old_style-578ee504-a9b5-6c26-1bb4-fd7b80a664f0", "license_expression": "mit-old-style", - "detection_count": 1 + "license_expression_spdx": "LicenseRef-scancode-mit-old-style", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit-old-style", + "license_expression_spdx": "LicenseRef-scancode-mit-old-style", + "from_file": "scan/zlib/iostream2/zstream.h", + "start_line": 9, + "end_line": 15, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 71, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit-old-style_cmr-no_1.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style_cmr-no_1.RULE" + } + ] }, { "identifier": "zlib-663c0d51-510f-fca6-b163-671ecb188ff9", "license_expression": "zlib", - "detection_count": 7 + "license_expression_spdx": "Zlib", + "detection_count": 7, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/arch/adler32.c", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" + }, + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/arch/zlib.h", + "start_line": 6, + "end_line": 23, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 144, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" + } + ] }, { "identifier": "zlib-27de81f4-f6ce-2bf5-ab37-9a4c71f4b296", "license_expression": "zlib", - "detection_count": 2 + "license_expression_spdx": "Zlib", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/zlib/infback9/infback9.c", + "start_line": 3, + "end_line": 3, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 12, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" + } + ] }, { "identifier": "zlib-b04102d0-a663-78b5-de18-9677ee48ce9c", "license_expression": "zlib", - "detection_count": 2 + "license_expression_spdx": "Zlib", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/arch/zlib.h", + "start_line": 6, + "end_line": 23, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 144, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" + } + ] }, { "identifier": "zlib-f32ae987-c66a-44ce-bd13-c90e0c59aab8", "license_expression": "zlib", - "detection_count": 1 + "license_expression_spdx": "Zlib", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "zlib", + "license_expression_spdx": "Zlib", + "from_file": "scan/zlib/gcc_gvmat64/gvmat64.S", + "start_line": 17, + "end_line": 31, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 132, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "zlib.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE" + } + ] } ], "tallies": { @@ -398,17 +599,20 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/FixedMembershipToken.java", "start_line": 7, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 125, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" } ], @@ -466,17 +670,20 @@ "license_detections": [ { "license_expression": "cc-by-2.5", + "license_expression_spdx": "CC-BY-2.5", "matches": [ { - "score": 100.0, + "license_expression": "cc-by-2.5", + "spdx_license_expression": "CC-BY-2.5", + "from_file": "scan/JGroups/src/GuardedBy.java", "start_line": 4, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 14, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "cc-by-2.5", - "rule_identifier": "cc-by-2.5_4.RULE", "rule_relevance": 100, + "rule_identifier": "cc-by-2.5_4.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc-by-2.5_4.RULE" } ], @@ -540,17 +747,20 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/ImmutableReference.java", "start_line": 7, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 125, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" } ], @@ -694,17 +904,20 @@ "license_detections": [ { "license_expression": "lgpl-2.1-plus", + "license_expression_spdx": "LGPL-2.1-or-later", "matches": [ { - "score": 100.0, + "license_expression": "lgpl-2.1-plus", + "spdx_license_expression": "LGPL-2.1-or-later", + "from_file": "scan/JGroups/src/RouterStubManager.java", "start_line": 7, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 125, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "lgpl-2.1-plus", - "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_relevance": 100, + "rule_identifier": "lgpl-2.1-plus_59.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/lgpl-2.1-plus_59.RULE" } ], @@ -879,29 +1092,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/adler32.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -962,17 +1180,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -1030,29 +1251,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zutil.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/arch/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -1113,17 +1339,20 @@ "license_detections": [ { "license_expression": "cc0-1.0", + "license_expression_spdx": "CC0-1.0", "matches": [ { - "score": 99.69, + "license_expression": "cc0-1.0", + "spdx_license_expression": "CC0-1.0", + "from_file": "scan/cc0-1.0.LICENSE", "start_line": 1, "end_line": 98, + "matcher": "3-seq", + "score": 99.69, "matched_length": 978, "match_coverage": 99.69, - "matcher": "3-seq", - "license_expression": "cc0-1.0", - "rule_identifier": "cc0-1.0_155.RULE", "rule_relevance": 100, + "rule_identifier": "cc0-1.0_155.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/cc0-1.0_155.RULE" } ], @@ -1169,17 +1398,20 @@ "license_detections": [ { "license_expression": "artistic-2.0", + "license_expression_spdx": "Artistic-2.0", "matches": [ { - "score": 100.0, + "license_expression": "artistic-2.0", + "spdx_license_expression": "Artistic-2.0", + "from_file": "scan/package.json", "start_line": 198, "end_line": 198, + "matcher": "2-aho", + "score": 100.0, "matched_length": 4, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "artistic-2.0", - "rule_identifier": "artistic-2.0_46.RULE", "rule_relevance": 100, + "rule_identifier": "artistic-2.0_46.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/artistic-2.0_46.RULE" } ], @@ -1305,17 +1537,20 @@ "license_detections": [ { "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "license_expression_spdx": "GPL-2.0-or-later WITH GNAT-exception", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0-plus WITH ada-linking-exception", + "spdx_license_expression": "GPL-2.0-or-later WITH GNAT-exception", + "from_file": "scan/zlib/ada/zlib.ads", "start_line": 6, "end_line": 25, + "matcher": "2-aho", + "score": 100.0, "matched_length": 176, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "gpl-2.0-plus WITH ada-linking-exception", - "rule_identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0-plus_with_ada-linking-exception_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0-plus_with_ada-linking-exception_1.RULE" } ], @@ -1373,29 +1608,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/adler32.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -1456,29 +1696,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/deflate.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -1539,29 +1784,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/deflate.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -1708,17 +1958,20 @@ "license_detections": [ { "license_expression": "boost-1.0", + "license_expression_spdx": "BSL-1.0", "matches": [ { - "score": 100.0, + "license_expression": "boost-1.0", + "spdx_license_expression": "BSL-1.0", + "from_file": "scan/zlib/dotzlib/ChecksumImpl.cs", "start_line": 4, "end_line": 5, + "matcher": "2-aho", + "score": 100.0, "matched_length": 32, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "boost-1.0", - "rule_identifier": "boost-1.0_21.RULE", "rule_relevance": 100, + "rule_identifier": "boost-1.0_21.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/boost-1.0_21.RULE" } ], @@ -1813,17 +2066,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/gcc_gvmat64/gvmat64.S", "start_line": 17, "end_line": 31, + "matcher": "2-aho", + "score": 100.0, "matched_length": 132, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib.LICENSE", "rule_relevance": 100, + "rule_identifier": "zlib.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/zlib.LICENSE" } ], @@ -1924,17 +2180,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/infback9/infback9.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" } ], @@ -1992,17 +2251,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/infback9/infback9.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" } ], @@ -2097,17 +2359,20 @@ "license_detections": [ { "license_expression": "mit-old-style", + "license_expression_spdx": "LicenseRef-scancode-mit-old-style", "matches": [ { - "score": 100.0, + "license_expression": "mit-old-style", + "spdx_license_expression": "LicenseRef-scancode-mit-old-style", + "from_file": "scan/zlib/iostream2/zstream.h", "start_line": 9, "end_line": 15, + "matcher": "2-aho", + "score": 100.0, "matched_length": 71, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit-old-style", - "rule_identifier": "mit-old-style_cmr-no_1.RULE", "rule_relevance": 100, + "rule_identifier": "mit-old-style_cmr-no_1.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit-old-style_cmr-no_1.RULE" } ], @@ -2165,17 +2430,20 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -2233,29 +2501,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zutil.c", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], @@ -2316,29 +2589,34 @@ "license_detections": [ { "license_expression": "zlib", + "license_expression_spdx": "Zlib", "matches": [ { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zutil.h", "start_line": 3, "end_line": 3, + "matcher": "2-aho", + "score": 100.0, "matched_length": 12, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_5.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_5.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_5.RULE" }, { - "score": 100.0, + "license_expression": "zlib", + "spdx_license_expression": "Zlib", + "from_file": "scan/zlib/zlib.h", "start_line": 6, "end_line": 23, + "matcher": "2-aho", + "score": 100.0, "matched_length": 144, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "zlib", - "rule_identifier": "zlib_17.RULE", "rule_relevance": 100, + "rule_identifier": "zlib_17.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/zlib_17.RULE" } ], diff --git a/tests/summarycode/data/tallies/packages/expected.json b/tests/summarycode/data/tallies/packages/expected.json index 7ad26fe91f..5b3383304c 100644 --- a/tests/summarycode/data/tallies/packages/expected.json +++ b/tests/summarycode/data/tallies/packages/expected.json @@ -29,17 +29,20 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "scan/aopalliance/aopalliance/1.0/aopalliance-1.0.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "- name: Public Domain" } @@ -110,17 +113,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "scan/freebsd/basic/+COMPACT_MANIFEST", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_bare_single_word.RULE", "matched_text": "GPLv2" } @@ -184,17 +190,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "scan/scoped1/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -1143,17 +1152,20 @@ "license_detections": [ { "license_expression": "public-domain", + "license_expression_spdx": "LicenseRef-scancode-public-domain", "matches": [ { - "score": 70.0, + "license_expression": "public-domain", + "spdx_license_expression": "LicenseRef-scancode-public-domain", + "from_file": "scan/aopalliance/aopalliance/1.0/aopalliance-1.0.pom", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 70.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "public-domain", - "rule_identifier": "public-domain_bare_words.RULE", "rule_relevance": 70, + "rule_identifier": "public-domain_bare_words.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_bare_words.RULE", "matched_text": "- name: Public Domain" } @@ -1244,17 +1256,20 @@ "license_detections": [ { "license_expression": "gpl-2.0", + "license_expression_spdx": "GPL-2.0-only", "matches": [ { - "score": 100.0, + "license_expression": "gpl-2.0", + "spdx_license_expression": "GPL-2.0-only", + "from_file": "scan/freebsd/basic/+COMPACT_MANIFEST", "start_line": 1, "end_line": 1, + "matcher": "1-hash", + "score": 100.0, "matched_length": 1, "match_coverage": 100.0, - "matcher": "1-hash", - "license_expression": "gpl-2.0", - "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_relevance": 100, + "rule_identifier": "gpl-2.0_bare_single_word.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_bare_single_word.RULE", "matched_text": "GPLv2" } @@ -1331,17 +1346,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "scan/scoped1/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } diff --git a/tests/summarycode/data/todo/no_todo/base64-arraybuffer.expected.json b/tests/summarycode/data/todo/no_todo/base64-arraybuffer.expected.json index 8bac98d9d6..1e0999ef58 100644 --- a/tests/summarycode/data/todo/no_todo/base64-arraybuffer.expected.json +++ b/tests/summarycode/data/todo/no_todo/base64-arraybuffer.expected.json @@ -37,17 +37,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "base64-arraybuffer-0.1.4/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -56,17 +59,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "base64-arraybuffer-0.1.4/package.json", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_30.RULE", "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", "matched_text": "https://github.com/niklasvh/base64-arraybuffer/blob/master/LICENSE-MIT" } @@ -170,27 +176,126 @@ { "identifier": "mit-e634e936-0701-7555-bfaa-1fce0c174838", "license_expression": "mit", - "detection_count": 2 + "license_expression_spdx": "MIT", + "detection_count": 2, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "base64-arraybuffer-0.1.4/README.md", + "start_line": 20, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 5, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_12.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_12.RULE" + } + ] }, { "identifier": "mit-3fce6ea2-8abd-6c6b-3ede-a37af7c6efee", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "base64-arraybuffer-0.1.4/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" + } + ] }, { "identifier": "mit-a822f434-d61f-f2b1-c792-8b8cb9e7b9bf", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "base64-arraybuffer-0.1.4/package.json", + "start_line": 1, + "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, + "matched_length": 1, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", + "rule_url": null + } + ] }, { "identifier": "mit-cacd5c0c-204a-85c2-affc-e4c125b2492a", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "base64-arraybuffer-0.1.4/LICENSE-MIT", + "start_line": 3, + "end_line": 22, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 161, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" + } + ] }, { "identifier": "mit-f9ae5fa5-0848-4d18-62fc-d668971434b3", "license_expression": "mit", - "detection_count": 1 + "license_expression_spdx": "MIT", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "base64-arraybuffer-0.1.4/package.json", + "start_line": 18, + "end_line": 20, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 3, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_272.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_272.RULE" + }, + { + "license_expression": "mit", + "license_expression_spdx": "MIT", + "from_file": "base64-arraybuffer-0.1.4/package.json", + "start_line": 21, + "end_line": 21, + "matcher": "2-aho", + "score": 100.0, + "matched_length": 2, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", + "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" + } + ] } ], "todo": [], @@ -295,17 +400,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "base64-arraybuffer-0.1.4/LICENSE-MIT", "start_line": 3, "end_line": 22, + "matcher": "2-aho", + "score": 100.0, "matched_length": 161, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit.LICENSE", "rule_relevance": 100, + "rule_identifier": "mit.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE" } ], @@ -363,17 +471,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "base64-arraybuffer-0.1.4/README.md", "start_line": 20, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_12.RULE", "rule_relevance": 100, + "rule_identifier": "mit_12.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_12.RULE" } ], @@ -468,17 +579,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "base64-arraybuffer-0.1.4/lib/base64-arraybuffer.js", "start_line": 6, "end_line": 6, + "matcher": "2-aho", + "score": 100.0, "matched_length": 5, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_12.RULE", "rule_relevance": 100, + "rule_identifier": "mit_12.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_12.RULE" } ], @@ -565,17 +679,20 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "base64-arraybuffer-0.1.4/package.json", "start_line": 1, "end_line": 1, + "matcher": "1-spdx-id", + "score": 100.0, "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_identifier": "spdx-license-identifier-mit-5da48780aba670b0860c46d899ed42a0f243ff06", "rule_url": null, "matched_text": "MIT" } @@ -584,17 +701,20 @@ }, { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "base64-arraybuffer-0.1.4/package.json", "start_line": 1, "end_line": 1, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_30.RULE", "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE", "matched_text": "https://github.com/niklasvh/base64-arraybuffer/blob/master/LICENSE-MIT" } @@ -677,29 +797,34 @@ "license_detections": [ { "license_expression": "mit", + "license_expression_spdx": "MIT", "matches": [ { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "base64-arraybuffer-0.1.4/package.json", "start_line": 18, "end_line": 20, + "matcher": "2-aho", + "score": 100.0, "matched_length": 3, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_272.RULE", "rule_relevance": 100, + "rule_identifier": "mit_272.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_272.RULE" }, { - "score": 100.0, + "license_expression": "mit", + "spdx_license_expression": "MIT", + "from_file": "base64-arraybuffer-0.1.4/package.json", "start_line": 21, "end_line": 21, + "matcher": "2-aho", + "score": 100.0, "matched_length": 2, "match_coverage": 100.0, - "matcher": "2-aho", - "license_expression": "mit", - "rule_identifier": "mit_30.RULE", "rule_relevance": 100, + "rule_identifier": "mit_30.RULE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_30.RULE" } ], diff --git a/tests/summarycode/data/todo/todo_present/README.multi-orig-tarball-package-expected-diag.json b/tests/summarycode/data/todo/todo_present/README.multi-orig-tarball-package-expected-diag.json index ef137b36c9..ccda031a68 100644 --- a/tests/summarycode/data/todo/todo_present/README.multi-orig-tarball-package-expected-diag.json +++ b/tests/summarycode/data/todo/todo_present/README.multi-orig-tarball-package-expected-diag.json @@ -2,31 +2,39 @@ "license_detections": [], "todo": [ { - "detection_id": "borceux-3c39742c-edef-82b7-0cdd-fc4d9ff8b044", + "detection_id": "borceux-d99f172d-bc25-b4f7-b6bf-cccec1995ce5", "review_comments": { "imperfect-match-coverage": "The license detection likely is not conclusive as there was license matches with low score or coverage, and so this needs review. scancode would likely benifit from a license rule addition from this case, so please report this to scancode-toolkit github issues." }, "detection": { "license_expression": "borceux", + "license_expression_spdx": "Borceux", "matches": [ { - "score": 4.71, + "license_expression": "borceux", + "license_expression_spdx": "Borceux", + "from_file": "README.multi-orig-tarball-package", "start_line": 1, "end_line": 3, + "is_license_text": true, + "matcher": "3-seq", + "score": 4.71, "matched_length": 4, + "rule_length": 85, "match_coverage": 4.71, - "matcher": "3-seq", - "license_expression": "borceux", - "rule_identifier": "borceux.LICENSE", "rule_relevance": 100, + "rule_identifier": "borceux.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/borceux.LICENSE", - "matched_text": "package consists of [various] [tarballs].\n\n[This] README" + "rule_notes": null, + "referenced_filenames": [], + "matched_text": "This src:package consists of various tarballs.\n\nThis README is a dummy file for creating the base tarball of the name", + "rule_text": "Copyright 1993 Francis Borceux\nYou may freely use, modify, and/or distribute each of the files in this package without limitation. The package consists of the following files:\n\nREADME\ncompatibility/OldDiagram\ncompatibility/OldMaxiDiagram\ncompatibility/OldMicroDiagram\ncompatibility/OldMiniDiagram\ncompatibility/OldMultipleArrows\ndiagram/Diagram\ndiagram/MaxiDiagram\ndiagram/MicroDiagram\ndiagram/MiniDiagram\ndiagram/MultipleArrows\nuser-guides/Diagram_Mode_d_Emploi\nuser-guides/Diagram_Read_Me\n\nOf course no support is guaranteed, but the author will attempt to assist with problems. Current email address:\nfrancis dot borceux at uclouvain dot be." } ], "detection_log": [ "low-quality-matches" ], - "identifier": "borceux-3c39742c-edef-82b7-0cdd-fc4d9ff8b044" + "identifier": "borceux-d99f172d-bc25-b4f7-b6bf-cccec1995ce5" } } ], @@ -39,22 +47,25 @@ "license_detections": [], "license_clues": [ { - "score": 4.71, + "license_expression": "borceux", + "spdx_license_expression": "Borceux", + "from_file": "README.multi-orig-tarball-package", "start_line": 1, "end_line": 3, + "matcher": "3-seq", + "score": 4.71, "matched_length": 4, "match_coverage": 4.71, - "matcher": "3-seq", - "license_expression": "borceux", - "rule_identifier": "borceux.LICENSE", "rule_relevance": 100, + "rule_identifier": "borceux.LICENSE", "rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/borceux.LICENSE", - "matched_text": "package consists of [various] [tarballs].\n\n[This] README" + "matched_text": "This src:package consists of various tarballs.\n\nThis README is a dummy file for creating the base tarball of the name", + "matched_text_diagnostics": "package consists of [various] [tarballs].\n\n[This] README" } ], "percentage_of_license_text": 10.53, "for_todo": [ - "borceux-3c39742c-edef-82b7-0cdd-fc4d9ff8b044" + "borceux-d99f172d-bc25-b4f7-b6bf-cccec1995ce5" ], "scan_errors": [] } diff --git a/tests/summarycode/data/todo/todo_present/unknown-license-expected-diag.json b/tests/summarycode/data/todo/todo_present/unknown-license-expected-diag.json index 223efdde68..047eb0ba37 100644 --- a/tests/summarycode/data/todo/todo_present/unknown-license-expected-diag.json +++ b/tests/summarycode/data/todo/todo_present/unknown-license-expected-diag.json @@ -3,9 +3,28 @@ { "identifier": "unknown-b0897d47-1c91-9898-2364-2e4d1a34b6fd", "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "detection_count": 1, "detection_log": [ "unknown-match" + ], + "reference_matches": [ + { + "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", + "from_file": "unknown-license.txt", + "start_line": 1, + "end_line": 10, + "matcher": "6-unknown", + "score": 86.89, + "matched_length": 53, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "license-detection-unknown-51bcd994ad60981fff8c5f1b1b9af6e3d4f5ba67", + "rule_url": null, + "matched_text": "form shall mean the preferred form for making\nthe purposes of this definition control\nsoftware is modified by someone else\n\n\n\nrepresent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.", + "matched_text_diagnostics": "form shall mean the preferred form for making\nthe purposes of this definition control\n[software] [is] [modified] [by] [someone] [else]\n\n\n\nrepresent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) [to] [the] interfaces of,\n the Work and Derivative Works thereof." + } ] } ], @@ -17,19 +36,27 @@ }, "detection": { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { - "score": 86.89, + "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", + "from_file": "unknown-license.txt", "start_line": 1, "end_line": 10, + "is_license_notice": true, + "matcher": "6-unknown", + "score": 86.89, "matched_length": 53, + "rule_length": 53, "match_coverage": 100.0, - "matcher": "6-unknown", - "license_expression": "unknown", - "rule_identifier": "license-detection-unknown-3d4d4e847eacf4b9efcc80ca90df1eea689f5cee", "rule_relevance": 100, + "rule_identifier": "license-detection-unknown-51bcd994ad60981fff8c5f1b1b9af6e3d4f5ba67", "rule_url": null, - "matched_text": "form shall mean the preferred form for making\nthe purposes of this definition control\n[software] [is] [modified] [by] [someone] [else]\n\n\n\nrepresent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) [to] [the] interfaces of,\n the Work and Derivative Works thereof." + "rule_notes": "Unknown license based on a composite of license words.", + "referenced_filenames": [], + "matched_text": "form shall mean the preferred form for making\nthe purposes of this definition control\nsoftware is modified by someone else\n\n\n\nrepresent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.", + "rule_text": "form shall mean the preferred form for making\nthe purposes of this definition control\nsoftware is modified by someone else\n\n\n\nrepresent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof." } ], "detection_log": [ @@ -48,19 +75,23 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { - "score": 86.89, + "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", + "from_file": "unknown-license.txt", "start_line": 1, "end_line": 10, + "matcher": "6-unknown", + "score": 86.89, "matched_length": 53, "match_coverage": 100.0, - "matcher": "6-unknown", - "license_expression": "unknown", - "rule_identifier": "license-detection-unknown-296da2cbc15d2bba73baa1359cda5fc8bf39b942", "rule_relevance": 100, + "rule_identifier": "license-detection-unknown-296da2cbc15d2bba73baa1359cda5fc8bf39b942", "rule_url": null, - "matched_text": "form shall mean the preferred form for making\nthe purposes of this definition control\n[software] [is] [modified] [by] [someone] [else]\n\n\n\nrepresent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) [to] [the] interfaces of,\n the Work and Derivative Works thereof." + "matched_text": "form shall mean the preferred form for making\nthe purposes of this definition control\nsoftware is modified by someone else\n\n\n\nrepresent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.", + "matched_text_diagnostics": "form shall mean the preferred form for making\nthe purposes of this definition control\n[software] [is] [modified] [by] [someone] [else]\n\n\n\nrepresent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) [to] [the] interfaces of,\n the Work and Derivative Works thereof." } ], "detection_log": [ diff --git a/tests/summarycode/data/todo/todo_present/unknown-license-expected.json b/tests/summarycode/data/todo/todo_present/unknown-license-expected.json index 1dd0e7d572..2938c88636 100644 --- a/tests/summarycode/data/todo/todo_present/unknown-license-expected.json +++ b/tests/summarycode/data/todo/todo_present/unknown-license-expected.json @@ -3,7 +3,25 @@ { "identifier": "unknown-b0897d47-1c91-9898-2364-2e4d1a34b6fd", "license_expression": "unknown", - "detection_count": 1 + "license_expression_spdx": "LicenseRef-scancode-unknown", + "detection_count": 1, + "reference_matches": [ + { + "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", + "from_file": "unknown-license.txt", + "start_line": 1, + "end_line": 10, + "matcher": "6-unknown", + "score": 86.89, + "matched_length": 53, + "match_coverage": 100.0, + "rule_relevance": 100, + "rule_identifier": "license-detection-unknown-51bcd994ad60981fff8c5f1b1b9af6e3d4f5ba67", + "rule_url": null, + "matched_text": "form shall mean the preferred form for making\nthe purposes of this definition control\nsoftware is modified by someone else\n\n\n\nrepresent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof." + } + ] } ], "todo": [ @@ -14,19 +32,27 @@ }, "detection": { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { - "score": 86.89, + "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", + "from_file": "unknown-license.txt", "start_line": 1, "end_line": 10, + "is_license_notice": true, + "matcher": "6-unknown", + "score": 86.89, "matched_length": 53, + "rule_length": 53, "match_coverage": 100.0, - "matcher": "6-unknown", - "license_expression": "unknown", - "rule_identifier": "license-detection-unknown-51bcd994ad60981fff8c5f1b1b9af6e3d4f5ba67", "rule_relevance": 100, + "rule_identifier": "license-detection-unknown-51bcd994ad60981fff8c5f1b1b9af6e3d4f5ba67", "rule_url": null, - "matched_text": "form shall mean the preferred form for making\nthe purposes of this definition control\nsoftware is modified by someone else\n\n\n\nrepresent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof." + "rule_notes": "Unknown license based on a composite of license words.", + "referenced_filenames": [], + "matched_text": "form shall mean the preferred form for making\nthe purposes of this definition control\nsoftware is modified by someone else\n\n\n\nrepresent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.", + "rule_text": "form shall mean the preferred form for making\nthe purposes of this definition control\nsoftware is modified by someone else\n\n\n\nrepresent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof." } ], "detection_log": [], @@ -43,17 +69,20 @@ "license_detections": [ { "license_expression": "unknown", + "license_expression_spdx": "LicenseRef-scancode-unknown", "matches": [ { - "score": 86.89, + "license_expression": "unknown", + "spdx_license_expression": "LicenseRef-scancode-unknown", + "from_file": "unknown-license.txt", "start_line": 1, "end_line": 10, + "matcher": "6-unknown", + "score": 86.89, "matched_length": 53, "match_coverage": 100.0, - "matcher": "6-unknown", - "license_expression": "unknown", - "rule_identifier": "license-detection-unknown-296da2cbc15d2bba73baa1359cda5fc8bf39b942", "rule_relevance": 100, + "rule_identifier": "license-detection-unknown-296da2cbc15d2bba73baa1359cda5fc8bf39b942", "rule_url": null, "matched_text": "form shall mean the preferred form for making\nthe purposes of this definition control\nsoftware is modified by someone else\n\n\n\nrepresent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof." }