用途:面向安全/合规工程师,在需要检测许可证、检查许可证合规性或识别代码库版权持有人时使用。
主要能力:通过 ScanCode Toolkit 扫描目标源码目录,检测许可证类型与版权信息,可仅检测许可证、仅检测版权,或附带包信息;支持并行处理。输出 JSON 结果,并整理为文件、许可证、评分、类别、版权等字段的表格,汇总扫描文件总数、许可证分布(如 MIT、Apache-2.0、GPL 等)、可能影响分发的 Copyleft 许可证(GPL、AGPL、LGPL)、未检测到许可证的文件(未知义务风险)以及依赖间的许可证兼容性问题。
使用方式:需先安装 ScanCode(pip install scancode-toolkit),并用 scancode --version 验证。确定待扫描目录后运行:scancode -l -c --json-pp scancode-results.json <target-path>;仅许可证:scancode -l --json-pp results.json <path>;仅版权:scancode -c --json-pp results.json <path>;含包信息:scancode -l -c -p --json-pp results.json <path>;并行:scancode -l -c -n 4 --json-pp results.json <path>。随后解析 JSON 输出并汇总。
许可证类别与风险:宽松型(低风险,如 MIT、Apache-2.0、BSD);弱 Copyleft(中风险,如 LGPL、MPL-2.0);强 Copyleft(高风险,如 GPL-2.0、GPL-3.0、AGPL-3.0);专有许可证(需审查);未知(高风险,未检测到许可证)。
限制:资料未提供扫描性能、支持语言范围、结果准确性等更多细节;实际合规判断仍需人工复核。