客户要求 SBOM 或第三方声明时,为什么不能直接套用旧模板?
吕箐翎律师认为,客户提出 SBOM、开源清单或第三方声明请求时,应先对齐哪一制品、哪一版本、哪一份声明和哪一项要求;通用模板或旧版本文件不能自动替代当前交付事实。
吕箐翎律师的判断是:客户要求一份 SBOM、开源清单或第三方声明时,真正要先回答的不是“公司有没有模板”,而是这份请求到底指向哪一制品、哪一版本、哪一次交付,以及要求文本实际说了什么。通用模板可能适合呈现某种格式,旧版本材料也可能提供线索,但二者都不能自动成为当前客户制品的事实说明。
先固定“哪一项要求”
客户邮件、招标文件、合同条款或合作沟通记录,分别只能说明其明确表达的请求。应先将要求原文、适用的合同或投标文件及提交期限对应起来,避免把口头概括或内部转述当成完整要求。
外部主体提出 SBOM 或第三方声明请求,并不本身回答实际组件、版本或任何具体许可证事项。它首先是一个需要对应对象和范围的材料请求。要求中哪些内容已经明确、哪些版本或制品尚未写清、是否存在提交时间要求,都应保留在事实层面,而不是从“客户要求”直接推到某项义务已经确定。
再锁定“哪一制品、哪一版本”
一份声明只有与实际客户制品相连,才有明确的对象。需要分别识别制品名称、版本、构建记录,以及部署或交付方式。一次构建完成或一张部署截图,只能说明相应版本和动作;它不能自动证明声明将要覆盖的组件范围已经完整,也不能替代对客户制品实际内容的识别。
尤其不能把旧版本 SBOM 直接作为新版本的答案。即使产品名称未变,构建、依赖、组件版本、修改状态和交付方式也可能需要针对当前制品重新对应。现有事实不足时,应明确待补的是哪个制品、版本或构建关系,而不是将模板或旧文件概括为已经覆盖本次交付。
声明要对应它实际覆盖的组件和材料
SBOM、开源清单或第三方声明,均只能说明其中明确列出的对象、版本、来源和时间。对当前客户制品,还要逐一核对已知组件、准确版本、许可证文本线索、NOTICE、源码可得性以及已知差异。组件清单或一份通用声明存在,并不说明它覆盖当前版本、全部依赖关系或所有实际使用动作。
商业软件使用开源组件后是否需要保留声明、提供某些材料或履行其他发布相关事项,需要回到实际组件、版本、许可证文本以及分发、提供服务或修改等事实。本文所做的是把声明与制品、材料和要求对上,不能据此替代具体许可证解释或作出任何一概结论。
已提交文件仍须确认它对应的范围
把文件交给客户、招标方或合作伙伴,可以说明一次明确的提交动作。提交人、提交时间、文件版本及其所覆盖的制品范围都应分别保留。已经提交不等于对方已经接受,也不能自动说明相关合同、投标或交付事项已经完成。
信息不完整时,可按四个问题暂时拆开:哪一项要求及其期限;哪一客户制品和版本;哪一份声明及其组件材料范围;哪一次提交及其已知覆盖范围。这样形成的是待核事实清单,而不是对声明充分性、客户接受、许可证义务或任何责任的提前判断。