4000-989-866 010-80885651 info@bcac.com.cn 周一至周五 9:00–18:00
代理记账经营许可 · 持证中介协同执业 微信客服
首页 / 知识产权 / 软件侵权判定:实质性相似的比对方法
实务指南Insight

软件侵权判定:实质性相似的比对方法

知识产权 作者:诚立集团 · 知识产权研究组 全文阅读

软件侵权案件的难点,从来不是「像不像」,是「怎么证明像」。

界面可以模仿,功能可以复现,但这些都不必然构成侵权。法律保护的是表达,不是思想。判断的落脚点,是源代码与文档的实质性相似。

一、判断框架:接触加实质性相似

两步走。

第一步,接触。被告有没有机会看到原告的软件。常见的接触情形:曾在原告处任职、曾是原告的客户或者合作方、软件曾公开发布或者销售、通过反向工程获取。

第二步,实质性相似。被告的软件与原告的软件在表达上是否构成实质相同。

两步都成立,才可能认定侵权。只有相似没有接触,可能是独立开发的巧合;只有接触没有相似,不构成侵权。

实务中,接触的举证相对容易,实质性相似的举证是主战场。

二、四个比对层次

第一层,源程序。逐行比对,看代码结构、变量命名、注释、函数划分、错误处理方式是否一致。

第二层,目标程序。在拿不到源代码时,比对编译后的二进制文件,看符号表、字符串、常量、调用关系。

第三层,文档。需求文档、设计文档、用户手册的结构、章节、表述是否高度一致。

第四层,结构、顺序与组织。即使代码改写,如果模块划分、数据流程、接口设计、异常处理逻辑高度一致,也可能构成非文字性相似。

四层里,第一层最有力,第四层最难证明。多数案件靠第一层与第三层取胜。

还有一个辅助层次:界面与交互。界面相似本身不足以认定侵权,但可以作为接触与整体相似的佐证。

三、抽象、过滤、比较三步法

这是常用的分析方法。

第一步,抽象。把软件逐层分解:从整体功能,到模块,到子程序,到具体语句。分解到哪一层,取决于争议的焦点。

第二步,过滤。把不受保护的内容剔除,包括:思想、算法、处理过程、操作方法;公有领域的表达;行业通用的表达;为兼容或者功能所必需的表达。

第三步,比较。对剩下的受保护的表达,逐层比对,判断是否实质相似。

三步法的价值在于避免过度保护。如果直接把两个软件的整体相似度拿来当结论,等于把思想也保护了。

实务中,法院通常委托鉴定机构按这三步做,鉴定报告要说明抽象到哪一层、过滤了哪些内容、比较的方法与结论。

四、源代码怎么取证

三条路径。

第一条,证据保全。起诉时申请法院保全被告的源代码,法院到现场查封服务器、拷贝代码。这是最有效的方式,但需要提供担保,且要说明代码存放位置的线索。

第二条,公证取证。对公开可获取的部分取证,比如网页前端代码、安装包、用户手册。范围有限,但成本低。

第三条,通过离职员工或者合作方获取。这种方式取得的证据,合法性容易被质疑,要谨慎。

还有一个实操细节:保全时要同时封存开发环境、版本管理记录、编译脚本。只看最终代码,被告可以主张是独立开发;有了版本记录,开发过程一目了然。

另外,保全要快。代码可以被删除、覆盖、迁移,晚一步就取不到。

五、被告的五种抗辩

第一种,独立开发。提交自己的开发文档、代码提交记录、设计思路,证明是独立完成的。

第二种,公有领域或者通用表达。主张相似的部分属于行业通用写法、开源代码、标准接口。

第三种,有限表达。主张某种功能只有一种或者极少数几种实现方式,相似是必然的。

第四种,思想与表达二分。主张相似的是功能、流程、算法,属于思想,不受保护。

第五种,合法授权。提交许可合同、开源许可证,证明使用有据。

五种抗辩里,第一种最常见,第三种最难反驳。如果原告的软件本身表达空间很窄,被告的相似就有了合理理由。

六、赔偿怎么算

顺序与专利类似:实际损失、侵权获利、许可费倍数、法定赔偿。

软件案件的特殊之处在于:实际损失可以按正版软件的销售价格乘以侵权复制品的数量计算;侵权获利可以按被告的销售收入乘以利润率计算。

还有一个常用的方法:按研发成本计算。软件被整体抄袭的,原告可以主张研发投入作为损失,包括人力成本、外包费用、测试费用。

法定赔偿的幅度较大,法院会考虑:软件的价值、开发难度、侵权情节、被告的主观恶意、侵权持续时间。

恶意明显、复制程度高的案件,可以主张惩罚性赔偿。

七、一个相似度超九成的案例

某软件公司发现前员工创办的企业销售一款同类型的管理软件,功能模块、界面布局、操作流程高度相似,遂起诉。

起诉同时申请证据保全。法院到被告办公场所,查封服务器三台,拷贝源代码约四十万行,并封存了版本管理记录。

鉴定机构按三步法分析:

抽象层面,将两款软件分解为十二个功能模块、八十六个子程序。

过滤层面,剔除通用框架代码、开源组件、数据库连接等通用部分,剩余受保护的代码约十八万行。

比较层面,剩余代码中,有十六万行在结构、命名、注释、异常处理上高度一致,相似度百分之八十九;其中三个核心模块的相似度超过百分之九十五,包括相同的自定义函数名与相同的注释错别字。

被告抗辩独立开发,提交了部分设计文档,但文档的形成时间晚于代码提交时间,且无法解释注释中的相同错别字。

法院认定构成实质性相似,且被告法定代表人曾在原告处任技术负责人,接触事实成立。

赔偿计算:以原告该软件的正版销售价格与被告的销售数量为基础,结合被告的利润率,确定侵权获利四百二十万元;考虑被告复制程度高、主观恶意明显,按一点五倍确定赔偿六百三十万元,另支持合理开支二十三万元。

判决后被告上诉,二审维持。

这个案子的关键证据,是那些相同的注释错别字。改写代码容易,改写注释里的错字很难。

八、软件维权准备清单

  • 已完成软件著作权登记,登记信息与实际情况一致
  • 保留完整开发文档与代码提交记录
  • 明确被告的接触路径,有任职、合作或者交易证据
  • 已完成初步比对,形成相似点清单
  • 起诉时同步申请证据保全,提供代码存放线索
  • 保全范围包含开发环境、版本记录、编译脚本
  • 鉴定委托事项明确,按抽象、过滤、比较三步进行
  • 已准备被告可能提出的五种抗辩的应对
  • 赔偿主张有销售数据、价格、利润率支撑
  • 恶意证据充分,评估惩罚性赔偿的适用

软件侵权的证明,是一场关于细节的较量。功能可以一样,界面可以一样,但代码里的每一个命名习惯、每一处注释,都在说明它从哪里来。

本文由诚立集团专业团队编写,仅供一般性参考,具体事项请结合企业实际情况咨询。 需要针对性建议?联系我们 →

这份流程落到你的企业,需要改哪几处?

说明行业、规模与当前节点,我们会指出可执行的先后次序、哪些环节能并行,以及大致的费用区间。

客服电话 4000-989-866 北京总部 010-80885651
在线咨询
诚立集团微信客服二维码