在软件开发、系统集成或技术服务合同中,若使用第三方插件(包括开源组件、库文件、SDK等)但未在合同附件中明确列明其名称、版本、许可证类型及使用范围,一旦发生侵权纠纷,所有法律后果(包括赔偿损失、系统停摆、商誉受损)均由服务方承担。法律上,开发者的权利瑕疵担保责任是“无过错严格责任”,不问主观故意与否,只看客观侵权事实。

服务合同中常见的“乙方保证交付成果不侵犯第三方知识产权”条款,在司法实践中被认定为一种无过错的严格责任。
这意味着,即使开发者辩解“不知道第三方插件存在版权限制”“员工私自复制开源代码”,只要交付的软件中含有侵权的第三方代码,开发方就必须承担全部赔偿责任。法院判决明确指出,权利瑕疵担保条款担保的是“一种客观的权利状态,而非主观过错”。
在最高法典型案例中,某公司委托开发软件,开发方在交付的代码中包含了未经授权的开源组件,尽管开发方辩称无主观侵权故意,法院仍依据权利瑕疵担保条款判决其承担全部赔偿责任。另一案例中,法院认定开发方在开发软件时,将原告软件烧录至控制板后销售,构成对著作权的侵犯,最终被判处有期徒刑并处罚金。
最高法知识产权法庭的裁判要旨也明确:计算机软件委托开发合同中,开发方负有权利瑕疵担保责任,保证第三人不就该源代码享有任何权利。违反此项责任的,可以认定委托方取得软件著作权的合同目的不能实现,委托方有权解除合同。
第一步:附件形式锁定《第三方组件/代码使用清单》
在合同附件中建立详细清单,至少包含以下内容:
组件名称及版本号(如 jQuery 3.6.0) 提供方及来源(GitHub官方仓库) 许可证类型及版本(如 MIT、GPL 3.0、Apache 2.0) 使用方式及范围 许可证全文或官方链接
第二步:在“权利瑕疵担保”条款中明确开源合规义务
在合同正文中加入专门的开源许可证条款:
“乙方保证,交付成果中的任何部分(包括但不限于第三方库、组件、工具、算法)的使用,均完全符合其所属许可证的全部要求。如因违反许可证条款(包括但不限于GPL、LGPL、MPL等开源协议)导致甲方被第三方主张权利或被要求开源源代码,视为乙方根本违约。”
第三步:约定违约后果与无限连带责任
“如因乙方交付的软件侵犯第三方知识产权(包括开源许可证违规),乙方须负责出面解决,并承担由此给甲方造成的一切损失,包括但不限于:甲方向第三方支付的赔偿金、和解费、律师费、诉讼费、鉴定费,以及因系统停摆造成的经营损失、商誉损害等全部费用。”
第四步:明确合同结束但责任不结束
“本条款下的权利瑕疵担保责任持续有效,不因本合同履行完毕、终止或解除而失效,直至该软件依法律不再受知识产权保护之日止。”
软件开发者常用的开源代码库涉及多种许可证,违规使用后果严重:
- GPL类(强传染性):
使用GPL代码的软件必须被整体开源。如果交付给客户的商业软件中包含GPL代码,客户的整个系统可能被迫开源,商业秘密尽失。 - LGPL类(有限传染):
以动态链接库方式使用可豁免,但静态链接则会触发开源义务。 - MIT/BSD/Apache(宽松):
只需保留版权声明,一般无开源义务,但必须按要求提供许可证文本。
在合同条款中必须明确:“乙方应逐项说明所使用的第三方组件对应的许可证类型,并证明其使用方式完全符合同类许可证的要求。”
第一招:立即出具《软件组成分析报告》
使用软件物料清单分析工具对现有代码库进行扫描,生成第三方组件使用清单。如果发现违规使用的GPL代码,立即替换为替代组件或取得授权。
第二招:发函锁定客户确认
向客户发送正式函件,附上第三方组件清单,请客户签字确认知晓并同意。函件中附免责声明:“客户确认接收上述组件使用安排,后续若因客户擅自修改、二次分发导致许可证违规,责任由客户自行承担。”
第三招:购买知识产权侵权责任保险
对于金额重大、代码构成复杂的项目,可投保知识产权侵权责任保险,将潜在赔偿风险转移给保险公司。


夜雨聆风