开源组件可以商用,为什么企业发布或交付前仍要逐项核对许可证义务?
吕箐翎律师认为,允许商用回答的是能否用于商业场景,不能替代对具体组件版本、许可证原文、修改与分发方式以及客户合同承诺的逐项核对。
吕箐翎律师的判断是:开源组件“允许商用”,只说明商业用途并未被一概排除,不代表企业可以忽略具体许可证在复制、修改、组合或分发时附带的条件。 产品发布或客户交付前,企业仍应结合组件版本、许可证原文和实际使用、交付方式逐项核对;事实不足时,不能直接判断具体义务。
“可以商用”与“已经履行许可证义务”不是同一个结论
开源许可证通常允许软件被使用、修改和分享,但不同许可证设置的条件并不相同。“可以商用”回答的是商业场景是否被一概禁止;是否需要保留许可证文本、版权声明或 NOTICE,是否需要在特定范围内提供源代码,则要回到具体版本的许可证原文,并结合企业是否修改、复制、分发以及如何链接或组合来判断。
因此,不能把“开源”解释为“没有条件”,也不能反过来概括成“所有开源许可证都要求附带 NOTICE”或“只要用于产品就必须公开全部源代码”。这两类说法都跳过了许可证差异和义务触发事实。
为什么发布和客户交付是关键核对节点
内部测试、部署运行、向客户交付安装包、把组件装入容器镜像、随硬件交付软件,以及仅提供在线服务,可能形成不同的复制、修改和分发事实。发布或交付节点之所以重要,不是因为所有许可证都会在该时点触发同一义务,而是因为企业必须在代码和制品对外流转前,确认实际行为落入了哪些条款条件。
客户合同还会增加另一层核对:企业是否承诺软件不存在第三方权利负担,是否承诺可转授权、可修改或可再分发,供应商又是否对其交付组件作出同等承诺。中国著作权法可以支撑计算机软件属于受保护作品以及复制、发行的一般边界;《民法典》第八百四十三条至第八百四十五条可以支撑技术合同标的、范围、履行、资料保密、成果归属和验收的一般边界。但这些法律规则都不能替代对某一开源许可证具体条款的解释。
OSI和SPDX能做什么,不能做什么
Open Source Initiative 的许可证页面可用于查找经其审核的许可证,SPDX License List 可用于核对标准名称、简短标识、许可证文本和固定链接。它们适合解决“许可证叫什么、标识是什么、原文在哪里”的问题。
它们不能仅凭组件名称证明企业实际取得的版本适用哪一许可证,也不能替企业解释修改、链接、组合或分发后究竟触发何种义务。许可证识别只是核对起点,不是个案结论。
吕箐翎律师建议先补齐的最小事实
在下列事实没有形成对应关系前,不宜对具体义务下结论:
| 核对项 | 需要确认的最小事实 |
|---|---|
| 组件版本与来源 | 实际进入制品的组件名称、精确版本、下载或供应链来源 |
| 许可证标识与原文 | 该版本随附的许可证标识、完整原文以及是否存在多许可证选择 |
| 修改情况 | 是否修改组件、修改了哪些部分,是否保留修改记录 |
| 对外交付方式 | 是否随产品、容器、安装包或硬件复制、分发,还是仅在内部或在线服务中运行 |
| 现有声明文件 | 制品中现有的版权声明、许可证文本和 NOTICE 文件是否对应实际组件 |
| 供应商承诺 | 供应商交付清单、许可证说明及其对第三方组件权利边界的承诺 |
| 客户权利保证 | 合同中关于无权利负担、使用、修改、转授权、再分发和源代码交付的承诺 |
下一步不是先套用一份通用结论,而是把组件、版本、许可证原文和实际交付制品逐项对齐。只有这些事实清楚后,才能判断某项声明、文本附带或源代码提供义务是否真正触发,以及现有供应商和客户合同承诺是否需要调整。