【导语】作品“实质性相似+接触”规则是计算机软件著作权侵权判定过程中的一项重要规则,源于美国判例法实践(Arnstein v. Porter),我国亦在长期的司法实践中确立了这一规则,并将其作为判定著作权侵权行为的核心标准。不过,包括我国《著作权法》及有关司法解释在内的成文法体系中,均无“实质性相似+接触”规则的明文规定。甚至在司法实践中,也尚未能形成一套统一的标准,裁判者往往只能依靠自身经验行使自由裁量权。此外,该判定规则涉及对间接证据的综合运用,也需要法官高度盖然性的价值判断,这也导致了“实质性相似+接触”的判断变得更为复杂和困难。鉴于此,我们将结合若干典型案例,释解这一判定标准在司法审判中的运用逻辑。
司法部司法鉴定管理局发布的《软件相似性鉴定实施规范》(SF/Z JD0403001—2014)是计算机软件相似性鉴定的主要依据。
根据该规范,检验鉴定的主要步骤是:a.记录检材和样本情况,对检材/样本进行唯一性编号(检材/样本是数字化设备的应拍照并记录其特征);b.对检材和样本进行保全备份,计算保全备份的副本或镜像的哈希值;c.选择检验项目;d.程序的比对检验;e.对检材和样本的文档的目录结构、内容以及属性进行比对。
[注释] 此处的“检材”是指电子数据检验鉴定中需检验的软件;“样本”是指电子数据检验鉴定中用于同检材进行比对检验的软件;“哈希值(hash value)”是指使用安全的哈希算法对数据进行计算获得的数据,常用哈希算法包括MD5、SHA1和SHA256等。
可选择的检验项目包括:源代码间的比对;目标程序间的比对;源代码和目标程序间的比对;文档的比对(如适用);文档和源代码/目标程序间的比对。此处的“文档”包括开发文档、需求说明书、总体设计方案、详细设计方案等。
对检材和样本进行比对检验时,需要先排除影响比对的内容,如公共程序库文件、第三方库文件和GNU通用公共许可的程序等。然后根据所选择的检验项目开始比对。
(1)源代码间的比对
对检材和样本的源代码的目录结构、文件名、文件内容、变量、函数、宏定义等进行比对检验。检验时,应排除自定义的文件名、变量名、函数名等名称被修改的影响,对程序逻辑与结构等内容进行比对检验。
(2)目标程序间的比对
分别对检材和样本中的目标程序文件计算哈希值。若所有对应文件的哈希值相同,则软件相同。若对应文件的哈希值不相同,按下列步骤进行:
| 第一步:安装程序检验(如适用)。对检材和样本的安装程序比对检验的范围包括:目录结构及目录名;各组成文件的文件名、文件哈希值、文件内容、文件结构和文件属性等。第二步:安装过程检验(如适用)。分别运行检材和样本的安装程序,观察安装过程的屏幕显示、软件信息、使用功能键后的屏幕显示以及安装步骤,并进行比对检验。第三步:安装后的程序检验。对安装成功的检材和样本的程序比对检验的范围包括:安装后产生的目录结构及目录名;安装后产生的文件的文件名、文件哈希值、文件内容、文件结构和文件属性等;安装后的软件的配置过程和运行方式。第四步:程序的使用过程检验。运行该程序,对使用过程中的屏幕显示、功能、功能键和使用方法等进行比对检验。第五步:核心程序的逆向分析。必要时,对目标程序的核心程序进行反编译,对反编译后的代码进行比对检验。“反编译”是指将已编译的程序文件还原成汇编或者高级语言代码的过程。 |
(3)源代码和目标程序间的比对
将源代码编译成目标程序后再进行比对检验,检验过程按照目标程序间的比对进行。需要注意的是,源代码编译过程中,由于编译软件、编译环境等不同,相同的源代码每次编译产生的文件可能会有差异。
最后,在检验结果上,应当列出检材与样本的相似比例,并对存在相同或相似的部分进行说明。此外,若检材与样本中存在软件署名、开发者的姓名、单位、废程序段、独特的代码序列等相同时,需在检验结果中单独列出。