从软件相似性鉴定浅谈软件保护对策
作者:赵洪波
【摘要】 计算机软件相似性鉴定作为审理软件著作权侵权案件中的重要一环,鉴定结果对于认定是否侵权关系重大。本文通过分析计算机软件相似性鉴定操作流程,给出计算机软件保护对策,以便计算机软件开发者在软件开发、著作权登记等流程中有针对性地采取相关措施。
【关键词】 实质性相似; 软件相似性鉴定 ;软件保护对策
随着计算机软件(以下简称软件)价值日益凸显,软件著作权保护课题愈发重要。通过分析软件相似性鉴定操作流程,指导软件开发者有针对性地采取相关保护措施,能够防患于未然,以便在遭遇侵权行为时举示有力证据。
一、侵权认定原则
在软件著作权侵权案件中,“实质性相似+接触+排除合理解释”是司法实践采用的侵权认定原则。软件实质性相似是指创作在后的软件与创作在先的软件表达方式构成实质性相似。接触是指被控侵权人接触了在先软件。接触的证明标准较低,只要后创作的软件与先创作的软件实质性相似,除非被控侵权人能够举示相反证据,即可推断后创作的作品接触了先创作的作品。排除合理解释是指在后软件开发者不能对实质性相似作出合理解释,如证明软件系自己独立开发、表达方式有限、合理使用等合理解释。
二、软件相似性鉴定操作
判定被侵权软件与被控侵权软件是否实质性相似,需要对源代码、目标程序、文档等进行比对。比对过程专业性很强,除非二者源代码、目标程序、文档等通过简单比对便可判断具备同一性,否则均需通过鉴定得出软件相似度结论,并由审判人员判断二者是否构成实质性相似。
(一)被侵权软件源代码与备案源代码同一性鉴定
为证明被侵权软件与软件著作权登记的软件系同一软件,需要对被侵权软件源代码与软件著作权登记备案的源代码进行同一性鉴定。只有二者具备同一性,才能将权利人提供的被侵权软件作为鉴定样本与被控侵权软件进行相似性鉴定。
(二)鉴定前预处理
鉴定前需要排除开源软件、第三方软件对鉴定结果的影响,需要将二者代码中的开源代码、第三方代码删除;某些代码由于表达方式有限,不可避免出现重复现象,这部分代码也要删除;被控侵权软件可能会修改文件名、变量名、函数名等,在修改痕迹比较明显的情况下,需要统一名称,以排除名称修改对鉴定结果的影响;代码格式、结构顺序等对结果也有影响,需要对源代码、目标代码等进行格式规范、结构顺序调整。
(三)软件相似性比对方法
根据掌握被控侵权软件的源代码、目标程序、文档等检材情况不同,比对方法包括源代码之间的对比、目标程序间的对比、源代码和目标程序间的对比、文档的对比等。被侵权软件和被控侵权软件源代码均能提供的情况下,主要对源代码的目录结构、文件名、文件内容、变量、函数、宏定义、程序逻辑与结构等进行比对检验。当二者源代码系不同编程语言编写时,需要考虑不同编程语言转换可能性,在具备转换可能性的前提下,将不同编程语言通过转换工具转换成相同编程语言后进行比对,或者将源代码编译成目标程序后再比对。在未掌握被控侵权软件源代码而仅掌握被控侵权软件目标程序的情况下,需要将被侵权软件源代码编译成目标程序,再将编译后的目标程序与被控侵权软件目标程序进行比对,实践中一般使用目标程序文件的哈希值或二进制代码进行比对。一般来说,被控侵权软件的文档基本无法获取,如果能够获取,可以对二者的目录结构、内容以及属性等进行比对。
(四)比对中特别关注的事项
软件相似性鉴定会特别关注一些事项,比如二者存在相同的软件署名、开发者姓名、开发单位、废程序段、独特的代码序列、不寻常的缺陷等。两个独创的软件基本不会存在这些相同之处。在无法对源代码、目标程序、文档等进行比对的情况下,如果存在这些不合理的相同之处,被控侵权方又无法作出合理解释时,基于举证责任方面考量,可以认定软件构成实质性相似。比如在最高人民法院第49号指导案例中,法院认为在被告拒绝提供被控侵权软件的源程序或者目标程序,且由于技术上的限制,无法从被控侵权产品中直接读出目标程序的情形下,如果原、被告软件在设计缺陷方面基本相同,而被告又无正当理由拒绝提供其软件源程序或者目标程序以供直接比对,则考虑到原告的客观举证难度,可以判定原、被告软件构成实质性相同,由被告承担侵权责任。
三、软件保护对策
(一)软件编写注意事项
根据软件相似性鉴定的操作以及一些特别关注事项,在编写软件时可以有意插入一些特别代码,比如插入一些废代码,故意制造不易察觉、特定条件下触发的缺陷,安排一些具有独特特征的代码等。对于一些容易被反编译的软件,一定要通过加壳等手段进行加密,或者与软件接触人签订保密协议。
(二)软件著作权登记注意事项
应指派专人负责软件著作权登记,软件更新版本后,应及时办理软件著作权登记,做到一版本一登记。现在软件著作权登记不再收取登记费,在规范内部操作、熟悉登记流程后,软件著作权登记的成本很低。鉴于软件著作权登记只需要备案部分源代码,建议选择核心、不易修改的部分源代码进行登记,以免新版本更新后没有及时登记,致使无法认定备案软件与最新版本软件具有同一性。同时,还需要做好软件版本备份,通过网盘、邮件、U盘、移动硬盘等方式备份软件版本,以证明不同版本软件形成时间,从而证明被侵权软件的形成时间在被控侵权软件之前。
软件保护是一项复杂的系统性工程,本文从软件相似性鉴定出发,总结相应的软件保护对策,以期对软件保护对策有所借鉴。
责任编辑:孙蓉