aboutcode-org / aboutcode-org/scancode-toolkit

Improve Maven package (POM) declared license detection

未關閉
#2,490 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
license scan new feature package scan package-formats
主要語言
Python
星號
2.6k
分支
791
平均合併
1 天 12 小時
30 天內合併 PR
5

描述

The goal of this ticket is to improve maven package license detection across the board. While scancode-toolkit's maven package detection basics are OK, there a few repeat cases where license information is not properly gathered from maven package metadata (e.g. the POM mostly, though we could also consider gradle definition and a few more). Usually this is because a `declared_license` value found in the pom.xml contains things we did not expect (like a URL) or is vague. There is no encoding standard in Maven to document the license, therefore there are many variations.

Resolving this would likely require a mix of:
- adding new license detection rules to scancode,
- adding new and improved code to handle the specific patterns of license,
- creating new license mappings
- and possibly working with upstream maintainers to improve their license declarations.

The approach should be to start with a complete data set of all package manifests (pom.xml) and find patterns of license issues and establish the baseline, possibly helped by heuristics, classifiers and ML if needed. The end results should be a significant improvement to the license detection quality for the maven packages.

One possibility could be to fetch many POMS with bigquery: https://opensource.googleblog.com/2017/03/operation-rosehub.html
Or just fetch them from maven central

See also https://github.com/nexB/scancode-toolkit/issues/1525

There are also other related ticket for other package types such as:
- https://github.com/nexB/scancode-toolkit/issues/2412 for RPM that has some detailed examples
- https://github.com/nexB/scancode-toolkit/issues/2487 for PyPI
- https://github.com/nexB/scancode-toolkit/issues/2487 for npm

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。