用途:为开源项目选择 License,并审查第三方依赖的合规风险。核心判断逻辑是先看代码分发方式(闭源分发、SaaS、内部使用、库),再看协议家族,因为分发方式决定义务是否触发。
主要能力:
- 选协议工作流:定目标(最大化采用、要求衍生回馈、防商业白嫖)→ 走决策树收敛到具体 SPDX id → 查依赖约束 → 落地 LICENSE 文件与源文件 SPDX-License-Identifier 头 → 多文件项目自检。
- 依赖合规审查:生成 SBOM(SPDX/CycloneDX),用 ScanCode 或 FOSSA 扫描,按家族归类,结合分发方式逐条核对红线,并锁版本定期重扫。
- 协议速查:五大家族(permissive、弱 copyleft、强 copyleft、网络 copyleft、源码可见非 OSI)及 60+ 协议带 SPDX/OSI/专利标注。
- 兼容性矩阵与商业策略参考:双授权、AGPL 防 SaaS 白嫖、BSL/SSPL/Elastic/FSL 等 source-available 条款,以及近年 relicensing 案例。
关键红线:GPL/AGPL 进闭源分发产品、AGPL 跑 SaaS 不给源码、静态链接 LGPL 不让用户替换、Apache-2.0 与 GPLv2 混合、CDDL 并入 GPL、source-available 依赖用于竞品、依赖无 LICENSE(默认保留全部权利)。兼容方向为 permissive 可单向流入 copyleft。
使用方式:按处境分流到工作流 A(为自己项目选协议)或工作流 B(依赖合规审查),必要时查阅 references 下的 families、registry、compatibility、commercial 文件。
限制:本框架是工程决策工具,不是法律意见;不覆盖商标、专利、出口管制、数据合规。协议事实核对至 2026-06,关键场景应以 opensource.org、spdx.org/licenses 及协议原文为准,高风险场景需咨询执业律师。