aboutcode-org / aboutcode-org/scancode-toolkit

Incorrect license detection

オープン
#4,942 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
bug
主要言語
Python
スター
2.6k
フォーク
791
平均マージ
1日 12時間
マージ済み PR(30日)
5

説明

### Description

```
"license_expression": "(gpl-2.0 AND unknown) AND (gpl-2.0 OR bsd-simplified)",
"license_expression_spdx": "(GPL-2.0-only AND LicenseRef-scancode-unknown) AND (GPL-2.0-only OR BSD-2-Clause)",
"detection_count": 6,
"reference_matches": [
{
"license_expression": "gpl-2.0 AND unknown",
"license_expression_spdx": "GPL-2.0-only AND LicenseRef-scancode-unknown",
"from_file": "test.cpp",
"start_line": 7,
"end_line": 7,
"matcher": "3-seq",
"score": 5.1,
"matched_length": 5,
"match_coverage": 5.1,
"rule_relevance": 100,
"rule_identifier": "gpl-2.0_and_unknown_trommel_2.RULE",
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_and_unknown_trommel_2.RULE",
"matched_text": " * released under GNU GPL v2 only licence"
},
{
"license_expression": "gpl-2.0 OR bsd-simplified",
"license_expression_spdx": "GPL-2.0-only OR BSD-2-Clause",
"from_file": "test.cpp",
"start_line": 7,
"end_line": 7,
"matcher": "3-seq",
"score": 16.13,
"matched_length": 5,
"match_coverage": 16.13,
"rule_relevance": 100,
"rule_identifier": "gpl-2.0_or_bsd-simplified_20.RULE",
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_or_bsd-simplified_20.RULE",
"matched_text": " * released under GNU GPL v2 only licence"
}
]

.
.
.

"reference_matches": [
{
"license_expression": "gpl-2.0 AND unknown",
"license_expression_spdx": "GPL-2.0-only AND LicenseRef-scancode-unknown",
"from_file": "tmp.cpp",
"start_line": 7,
"end_line": 7,
"matcher": "3-seq",
"score": 5.1,
"matched_length": 5,
"match_coverage": 5.1,
"rule_relevance": 100,
"rule_identifier": "gpl-2.0_and_unknown_trommel_2.RULE",
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_and_unknown_trommel_2.RULE",
"matched_text": " * released under GNU GPL v2 licence"
},
{
"license_expression": "gpl-2.0 OR bsd-simplified",
"license_expression_spdx": "GPL-2.0-only OR BSD-2-Clause",
"from_file": "tmp.cpp",
"start_line": 7,
"end_line": 7,
"matcher": "3-seq",
"score": 12.9,
"matched_length": 4,
"match_coverage": 12.9,
"rule_relevance": 100,
"rule_identifier": "gpl-2.0_or_bsd-simplified_20.RULE",
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/gpl-2.0_or_bsd-simplified_20.RULE",
"matched_text": " * released under GNU GPL v2 licence"
}
]
```
In this scan output, the matched texts are
`* released under GNU GPL v2 only licence`
and
`* released under GNU GPL v2 licence`

However, because the rules overlap on similar wording, the tool currently returns `(gpl-2.0 AND unknown) AND (gpl-2.0 OR bsd-simplified)` which is incorrect. The expected result, based on the actual matched text should be `gpl-2.0`

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。