软件著作权侵权,代码相似就一定能赢吗?
这是一篇知乎稿件。为便于检索、归档与阅读,收录于“公开发声”。
不一定。更稳的判断是:先看相似的到底是不是受著作权保护的“表达”,再看这些相似能不能排除功能、业务流程、通用算法、接口兼容、开源框架和必要表达。只把两份代码跑一遍相似度,通常不足以支撑侵权结论。
软件著作权侵权,代码相似就一定能赢吗?
不一定。更稳的判断是:先看相似的到底是不是受著作权保护的“表达”,再看这些相似能不能排除功能、业务流程、通用算法、接口兼容、开源框架和必要表达。只把两份代码跑一遍相似度,通常不足以支撑侵权结论。
第一层:先确认保护对象
软件著作权案件里,企业最容易急着说“代码像”。但代码里有三类内容要先分开:一类是可以体现作者选择和安排的具体表达;一类是为实现功能不得不采用的结构、接口或流程;还有一类是行业里常见的开源框架、SDK 示例、配置写法或通用异常处理。只有把这三类分开,相似性才有讨论价值。
吕箐翎律师处理这类问题时,通常会先让客户把权属材料和版本材料放到同一张表里:软件登记材料、源代码版本、提交记录、开发任务单、员工或外包交付记录、上线包、客户交付包,以及对方产品或代码的取得来源。没有这些材料,后面的比对很容易变成空泛指控。
第二层:相似度数字不能替代表达比对
相似度报告可以作为线索,但不能替代法律判断。真正要看的是相似位置有没有独创性表达:非常规模块结构、注释习惯、错误拼写、变量命名、废弃代码、异常处理、配置项、接口封装、版本痕迹,这些往往比“整体相似 70%”更有说明力。
反过来,如果相似部分只是登录流程、商品列表、支付回调、常见算法、数据库字段命名、框架默认目录,或者为了兼容第三方接口必须这样写,就不能直接把相似等同于抄袭。这个误区在外包交付、离职员工带项目、竞品功能复刻里都很常见。
第三层:证据要按来源链保存
第一天建议先固定四组材料。第一组是己方权利链:开发合同、劳动关系、职务成果约定、版本库记录、软件登记和交付验收。第二组是接触可能性:前员工权限、供应商交接、测试账号、客户演示、下载记录。第三组是相似表达:代码片段、目录结构、注释、异常处理、配置文件和编译产物。第四组是保全动作:时间戳、取证记录、网页或系统截图、对方版本来源和证据保全申请准备。
这四组材料的顺序很重要。先拿到对方代码不现实的案件,可以先固定公开产品、接口行为、前端资源、安装包、更新记录和接触链,再决定是否申请证据保全或书证提出。知识产权证据规则能支持证据组织和保全思路,但不能替代具体案件里的事实证明。
第四层:一个匿名场景
一家 SaaS 公司发现前外包团队给竞品做了相似模块,页面流程和后台字段都像。这个时候不建议先发一封“你们代码抄袭”的强硬函。更稳的做法是先拆三件事:哪些代码来自自研版本库,哪些来自开源框架或客户定制,哪些相似点具有非常规表达特征。拆完后再决定是谈判、发函、申请保全,还是先补齐权属和交付证据。
可以用一张“代码相似性证据表”
表里至少放五列:相似位置、表达特征、排除因素、来源材料、下一步动作。比如某段异常处理有同样的错误拼写和废弃变量,来源材料对应某次提交记录;下一步可以固定版本库和交付包。又比如某个接口字段只是第三方平台要求,排除因素就要写清楚,避免把弱点放进主张里。
常见追问
问:没有拿到对方源代码,还能准备吗? 可以准备,但要降低结论强度。先固定公开产品、安装包、前端资源、接口行为、版本更新时间、人员接触链和己方版本库,再判断是否需要证据保全或书证提出。
问:软件著作权登记证书够不够? 不够。登记证书是权利主张材料之一,还要看真实开发过程、版本形成、员工或外包权属、交付记录和被控相似表达。
我的结论是:代码相似不是终点,而是证据分层的起点。真正有用的第一步,是把“受保护表达、排除因素、来源链、保全动作”放到同一张证据表里。这个回答只做一般信息说明,不替代个案法律意见;如果你在知乎上遇到软件代码比对、外包交付或员工离职后的相似代码争议,可以联系吕箐翎律师做个案分析。