一、案件背景:一场“看不见代码”的维权战
A公司耗时3年研发工业控制软件“XX智能系统”(脱敏处理),其核心算法经加密后烧录至专用芯片中。不久,A公司发现B公司销售的“YY控制盒”(脱敏处理)功能与自家产品高度雷同,甚至存在相同的非必要错误日志。然而,B公司宣称其软件采用Python编写,而A公司的底层源程序为C++,双方代码语言不同无法直接比对。更棘手的是,B公司拒绝提供源程序,仅能从其产品芯片中提取二进制机器码。
面对技术困局,A公司委托技术机构对两款软件展开三重比对:
二进制目标程序校验:通过哈希值比对,发现部分文件哈希值完全一致;
运行特征对比:软件安装目录结构、界面布局、错误提示信息高度重合;
缺陷一致性验证:两款软件在相同异常输入下均产生独特的冗余文件,该缺陷具有偶然性。
二、裁判结果与理由:技术壁垒下的法律推定
裁判结果:
某法院认定B公司构成著作权侵权,判令停止销售侵权产品并赔偿A公司经济损失320万元。
裁判核心理由:
实质性相似的成立:
尽管源程序语言不同,但目标程序文件哈希值相同、运行界面及错误日志高度一致,属于《计算机软件保护条例》定义的“同一作品”表达;
相同缺陷性特征(如冗余文件)的出现具有极低偶然性,可排除独立创作可能性。
接触要件的推定:
B公司核心技术人员曾任职于A公司供应商,接触过A软件技术文档;
B公司无正当理由拒不提供源程序,违反《最高人民法院关于知识产权民事诉讼证据的若干规定》第25条,法院推定其持有不利证据。
免责抗辩的排除:
B公司辩称“功能相同源于公有领域算法”,但未能举证公有领域存在相同缺陷设计;
“编程语言不同”不构成抗辩理由,因著作权法保护表达而非实现语言。
三、法律分析:突破技术比对的维权路径
上海君澜律师事务所俞强律师提示:本案的突破点在于**“侵权表征+举证责任转移”规则**的适用。当源代码比对受阻时,权利人可通过以下路径构建证据链:
(一)替代性比对方法的合法性依据
根据《北京市高级人民法院侵害著作权案件审理指南》第11.8条,若被告拒不提供源程序,法院可基于以下任一情形认定实质性相似:
- 目标程序相同或近似;
- 目标程序存在权利软件特有内容(如权利人商标、GUID码);
- 软件运行结果(界面、数据库结构、错误信息)相同。
实务对策:
证据保全时全程公证:录制侵权软件安装、运行全流程,固定界面、日志等可视化表达;
逆向工程合规操作:依据《软件相似性检验技术方法》(GA/T 1175-2014),通过反编译提取二进制代码特征,比对全局变量数组、控制流结构等稳定特征。
(二)接触要件的“阶梯式证明”策略
接触可能性的证明需结合行业特性:
1. 直接证据:前员工任职记录、合作谈判记录等; 2. 间接推定:若权利软件已公开发表或销售,且早于被诉软件发布时间,可初步推定接触可能; 3. 举证责任倒置:当原告初步证明“实质性相似+接触可能性”后,被告须就其独立创作或合法来源举证[1](@ref)[3](@ref)。
(三)法律风险防范建议
企业应对软件著作权实施“三层防护”:
创作留痕:保存源程序各版本存档,在关键代码段嵌入权属标识(如特定注释);
合作隔离:与供应商/外包方签订《代码隔离协议》,限定技术文档接触范围;
技术固化:在软件中植入“技术指纹”(如特定无效函数调用),便于后续侵权溯源。
风险提示
软件著作权侵权认定涉及复杂技术比对与法律推定,具体案件需结合技术细节及证据完整性综合判断。本文观点仅供参考,具体案件需要咨询专业律师。
作者介绍:俞强律师
执业机构:上海君澜律师事务所(高级合伙人)
地址:上海市浦东新区世纪大道1198号世纪汇广场一座12楼
教育背景:北京大学法律硕士
专业荣誉:
2024年“君澜专业领航奖”
上海政法学院实习导师
咨询方式:俞强律师已在公众号“律师俞强”开通免费电话咨询,打开微信关注即可。
本案中,著作权律师需精准把握“表达形式”与“技术思想”的边界。俞强律师指出,对采用不同编程语言的软件,可通过目标程序、运行缺陷等外在表达锁定侵权,而非拘泥于源代码文字比对。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.