一、软件产品同一性鉴定的背景
在软件知识产权司法鉴定中,最为常见的委托鉴定事项是软件非公知性鉴定和同一性鉴定。非公知性鉴定源于主张软件商业秘密的刑事诉讼,鉴定对象多为软件源代码(源程序),鉴定内容是判断被鉴定对象是否不为公众所知悉。其法律依据主要是《中华人民共和国反不正当竞争法》《中华人民共和国刑法》,以及国家工商行政管理局颁布的《关于禁止侵犯商业秘密行为的若干规定(修正)》。同一性鉴定源于主张著作权的民事诉讼或刑事诉讼,鉴定对象既可以是软件源代码,也可以是软件目标代码,或者是整个软件产品。鉴定内容是判断涉案双方软件是否相同或相似,法律依据主要是《中华人民共和国著作权法》和《计算机软件保护条例》。同一性鉴定也出现在商业秘密侵权鉴定中,在非公知鉴定的基础上进行的商业秘密同一性鉴定。但这种情况的鉴定依据不局限于《中华人民共和国著作权法》和《计算机软件保护条例》,需与主张的商业秘密内容相结合。二、软件产品同一性鉴定的法律依据
对计算机软件产品同一性进行鉴定的主要依据来源于我国的《中华人民共和国著作权法》《计算机软件保护条例》,以及北京市高级人民法院关《关于审理计算机软件著作权纠纷案件的几个问题的意见》的通知。《计算机软件保护条例》第二条、第三条分别给出了计算机软件的相关定义:“计算机软件是指计算机程序及其有关文档。计算机程序是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。同一计算机程序的源程序和目标程序为同一作品。文档是指用来描述程序的内容、组成、设计、功能规格、开发情况、测试结果,以及使用方法的文字资料和图表等,如程序设计说明书、流程图、用户手册等。”《计算机软件保护条例》第七条明确了软件著作权保护的客体:“本条例对软件著作权的保护不延及开发软件所用的思想、处理过程、操作方法或者数学概念等。”因此,对于软件产品的同一性鉴定应从目标程序(目标代码)和软件相关文档人手。关于侵权的认定在《关于审理计算机软件著作权纠纷案件的几个问题的意见》中有明确的规定:①对于原告关于被告的软件是原告软件复制品的指控,被告予以承认的,不需要对双方的软件再做勘验、演示或鉴定。②使用他人软件部分:使用软件的必要部分、主要部分或实质部分的,构成侵权。
三、软件产品同一性鉴定内容分析
在没有原始源代码的情况下进行软件产品同一性鉴定,首先要解决的是鉴定内容问题,也就是从哪些角度展开鉴定。基于《计算机软件保护条例》中关于计算机软件的定义可以看出,软件目标代码和相关文档是判断次件产品是否具有同一性的核心。码和相关文档外,在鉴定实践中从软件架构、功能、界面、目录结构、安装过程、数据库结构、专有文件格式、非程序文件、版权声明、运行错误等角度挖掘软件产品相同或相似的证据,也是鉴定中经常采用的技术手段。这些鉴定内容不能独立作为同一性判定的证据,但可以作为辅助的参考。本。节按照其在软件产品同一性鉴定中的重要程度,将其分为四个层次,如图6-1所示。第一层次是目标代码和文档;第二层次是数据库结构和软件专有的文件格式;第三层次是软件的版权声明信息和运行错误;第四层次是软件架构、功能、界面、目录结构、安装过程和非程序文件。
四、软件产品同一性鉴定方法分析
同一性鉴定是通过对鉴定对象进行比对分析来完成的,以下分别对软件产品的鉴定内容进行比对方法分析。(一)目标代码与相关文档比对
1.目标代码比对
在之前,“目标代码同一性比对”介绍了目标代码的具体比对方法。一是直接查看目标代码的二进制形式进行比对,统计相同字节占目标;文件总的字节比例;二是对目标代码进行反编译获取反编译代码进行比对。
对涉案软件产品目标代码的同一性鉴定,基本比对遵循目标代码的比对方法。当目标代码不是单个文件的时候,首先要确定双方目标代码文件的对应关系,进而开展代码比对。比对过程中基于《关于审理计算机软件著作权纠纷案件的几个问题的意见》关于侵权认定方法的规定,遵循以下基本原则:若双方对应的目标代媧文件内容完全相同,则双方的软件产品具有同一性。若双方对应的内容不完全相同,但比对项的必要部分或主要邵分没有本质区别,属于实质性相似,双方软件产品仍具有同一性。若双方对应的内容不完全相同,且具有本质区别,不构成实质性相似,则双方软件产品不具有同一性。若双方的对应内容完全不同,则双方软件产品不具有同一性。
2.相关文档比对
尽管软件相关文档对于软件同一性鉴定具有重要的意义,但在鉴定实,对于软件需求说明、设计说明、测试结果等能够体现软件开发过程的文档,同软件源代码一样难于获得。因此,在软件产品同一性鉴定实践很少对这类文档进行鉴定,更多是针对与软件产品一同提供给客户的软件使用说明书、用户手册等辅助软件应用的文档进行内容比对。而这些辅助软件应用的文档只是对软件使用方法的介绍,并不涉及软件设计开发的内容;并且,针对同类型的软件产品,其用户 手册会产生相同的内容。因此,这类文档不能单独作为软件产品是否具有同一性的判定依据。
3、数据库结构与专有文件格式比对
1.数据库结构比对在使用数据库的软件中,如管理信息系统类软件,这类软件的运行离不开数据库,而且数据库结构的设计直接决定了软件的设计与实现,需要开发人员付出创造性的劳动。因此,数据库结构的比对对于判断软件同一性具有重要的参考意义。
常用的数据库平台有ORACLE、SQL SERVER、MYSQL、ACCESS 等。软件设计人员基于这些数据库平台进行数据库结构设计。数据库结构设计包括数据库表结构设计、视图设计、存储过程设计和函数设计。其中,表结构又是数据库结构的基础,包括表名称、字段名称、类型、约束、表之间的关系等。表、视图、存储过程、函数统称为数据库对象。对数据库结勾的比对即是对数据库对象的比对,不考虑数据库平台。其原因在于数据库平台之间的转换技术手段非常简单,直接使用“DTS工具”,不作任何修改就能轻易达成。图6-2、图6-3分别是在SQL SERVER和ACCESS 平台的数据库表。两个表的结构没有本质变化,而且Access 数据表是采用SQLSERVER的数据导出功能直接生成,没有进行任何人工十狈。因此,数据库结构比对,关注的不是两套软件所用的数据库平台是否相同,而是数据库寸象是否相同或相似。不同公司都有自己的一套命名规则,因此一般两个公司出品的数据库命名、结构不可能大部分相同或相似。
在具体比对过程中,首先安装双方软件所对应的数据库管理系统,利用各自数据库管理工具打开对应的数据库文件,观察、分析数据库对象是否相同或相似。函数和存储过程是基于SQL脚本进行设计的,可以直接对脚本进行比对。
2.专有文件格式比对
某些软件在设计过程中经常设计一些专有的文件格式,如游戏软件。这些专有文件格式不易被破解,也不是行业内通用的文件格式,只能在各自的软件产品中使用。如果被比对双方的软件产品专有数据格式相同,可作为判断软件产品同一性的辅助证据。对于专有文件格式的比对。可以采用互操作的方式进行,即利用一方软件尝试打开另——方的专有格式的文件,观察、分析软件能否正确地识别和运行。
专有文件格式相同只能作为判断软件产品同一性的辅助手段。不能单地因为软件专有文件格式相同而认定双方软件产品具有同一性,也不能认定双方软件源代码或目标代码具有同一性。有关专有文件格式的司法鉴兰典型案例可参考2015 年最高人民法院发布的48号指导案例。
(二)版权声明和软件错误比对
在对软件产品进行低级的、机械的复制过程中,软件产品中关于版权的声明信息和软件运行错误会保留下来。这是软件侵权鉴定中经常遇到的,是软件侵权很好的佐证。
查看版权声明信息,一种方法是直接运行软件并查看软件相关的版权声明内容。另一种方法是查看代码文件的属性并查看文件的版权声明。
(三)软件架构、功能、界面、目录结构、安装过程和非程序文件比对
最后,关于软件架构、功能、界面、目录结构、安装过程、非程序文件的比对,也是判断软件产品同一性的辅助比对内容。这些内容的比对可增强软件同一性比对的结论,但不能单独作为判断软件是否具有同一性的证据。其中,对软件架构、功能、界面、目录结构、安装过程比对,通过观察即可实现。对于非程序文件的比对,如图片文件、声音文件、频文件等,仍然可以采用二进制格式的比对方法。
五、基于软件运行缺陷的软件产品同一性鉴定方法
所谓特征性缺陷,是指一套软件本身所特有的、不具备普遍意义的缺陷。这种缺陷的形成通常是由于设计人员在软件设计时的疏漏产生的,表现形式是软件运行时会在某一特定条件下出现不属于原有设计范围的特别状态。这种缺陷的产生带有很强的偶然性,不同软件之间产生相同特征性缺陷的概率极少‘相同。在无法获得有效的源代码和目标代码的情况下,可以考虑在原告、被告软件之间进行缺陷性特征的对比。鉴于原告、被告软件存在共同的软件缺陷,根据计算机软件设计的一般性原理,在独立完成设计的情况下,不同软件之间出现相同的软件缺陷机率极小;而如果软件之间存在共同的软件缺陷,则软件之间的源程序相同的概率较大。如果存在相同的缺陷性特征,而被告无正当理由拒绝提供源代码或目标代码的,则应充分考虑到此奀案件原告举证的客观困难,合理推定原告、被告软件实质性相同,由被告承担败诉责任。2015 年最高人民法院发布的49号指导案例,即基于软件特征性缺陷进行软件产品同一性判定的典型案例。
基于著作权的软件知识产权纠纷案件中,在没有原始源代码的情况下进行软件产品同一性鉴定,须明确开展鉴定的工作内容。在分析软牛产品同一性鉴定的法律依据基础上,提出四个层次的鉴定内容:第一层次是目标代码和文档;第二层次是数据库结构和软件专有的文件格式;第三层次是软件的版权声明信息和运行错误;第四层次是软件架构、功能、界面、目录结构、安装过程和非程序文件。其中,目标代码作为软件产品同一性鉴定的核心,鉴定原则应遵循《关于审理计算机软件著作权纠纷案件的几个问题的意见》关于侵权认定方法的规定,其他作为软件产品同一性鉴定的重要参考。
六、盗版软件产品的甄别与鉴定
在软件产品的同一性司法鉴定中,有一类鉴定案件是对盗版软件产品进行甄别性鉴定。这类鉴定案件属于软件产品同一性鉴定范畴,但又区别于一般意义上的软件产品同一性鉴定。盗版软件产品的甄别与鉴定,既要证明盗版软件与正版软件之间的关联性、、相似性,又要证明其与正版软件的不同。因此,需要鉴定两个方面的内容:一是盗版软件产品与正版软件产品的同一性,可以采用上述的软件产品同一性鉴定方法;二是盗版软件产品的“盗版”属性。软件的盗版属性鉴定,可以采用如下三种鉴定方案。
(1) 运行软件,观察盗版软件的版权信息。如采用克隆技术复制的盗版操作系统,通过软件运行即可直观地观察软件的版权信息。
(2) 运行软件,观察盗版软件与正版软件的功能差异,特别是授权验证功能的差异。一般来说,盗版软件可能采用某种技术手段,跳过软件的乏来正版软件中的授权验证方式无效,从而达到盗版侵权的
(3) )对盗版软件的目标代码进行分析,从目标代码层面分析盗版软件正版软件的差异,挖掘盗版线索。
多数盗版软件的甄别与鉴定,方案(1)和方案(2)即可满足需求;方案(3)的应用较少。同时,方案(3)对鉴定人员的技术水平要求也最高。
欢迎您与我们取得联系以获取更为专业的支持!