计算机软件著作权侵权判定中的目标代码对比

  关于嵌入式软件的相同性判断,能否采取直接对比双方目标代码的方法,司法实务中存在不同看法。本期“知产视野”推出江苏高院民三庭审结的另一起嵌入式软件侵权纠纷案件,在该案审理中,二审判决书在裁判理由部分对通过目标代码对比来判定软件相同性问题进行了详细说理,且在裁判文书理由的撰写方面进行了学理性的强化,由此积累了一定的审判经验。

  该案同入选2011年度中国法院知识产权司法保护50件典型案例。在此刊登,以供各位读者和同仁研讨。

  【导读】

  一般而言,嵌入式软件的相同性判断应当首先对比双方软件源程序之间是否构成相同或者实质性相同。但是,由于诉讼中直接获取被告源程序的可能性极小,或者即便获取源程序,但如果双方源程序各自采用不同的编写语言(如分别采取C语言和汇编语言),同样无法直接进行源程序对比,而被告的目标代码一般可以直接从证据保全的被告计算机或者其他硬件中读出,因此将双方目标代码进行对比是软件侵权对比的一种重要方法。

  在同样的编译环境下,一个源程序只能转换为唯一对应的目标代码,而相同的目标代码一般情况下也源于相同的源程序。之所以得出如上结论:是因为相同的目标代码来源于不同的源程序,更多的是一种理论上的可能性,而从实践层面看,这种可能性几乎是微乎其微的,且在司法实务中尚未见到实例,而如果被告在诉讼中提出相同的目标代码系由不同的源程序编译而来,其完全可以通过举证进行相应的抗辩。

  结论是:目标代码不同不能简单地认定为源程序不同,因为相同的源程序可以运用不同的编译语言编译成不同的目标代码;而反之,目标代码相同则基本可以认定为源程序相同。因此,在被告没有提供反证的情况下,当双方软件目标代码完全相同时,应当认定双方的计算机软件之间构成相同;或者目标代码实质性相同且有其他证据予以佐证时,应当认定双方计算机软件之间构成实质性相同。

  具体到本案,原告诉讼时主要提交了以下证据:原告软件源程序完整版及在国家版权中心登记的部分源程序、原告产品芯片、被告产品芯片。一审法院采取的审理思路是:将原告产品芯片与被告产品芯片中的目标代码进行直接对比,并根据对比结果认定原、被告软件构成实质性相同,并进而判定被告构成侵权。对此,被告除对目标代码的对比方式提出异议外,还主张原告未能证明其产品芯片中的目标代码与其版权登记的部分源程序、完整版源程序具有一致性,由于原告提供的产品芯片是在起诉前刚生产的,与其诉称形成权利的时间已有4年,故其完全有理由相信原告存在着篡改行为或者其实际可能是抄袭了被告产品芯片中的软件。

  因此,本案二审首先需要解决的一个重要问题是:一审鉴定中,将原告产品芯片中的软件与被控侵权产品芯片中的软件直接进行侵权对比,是否具备事实和法律基础?

  对此,二审法院的审理思路是:将原告在版权中心登记的软件源程序与其产品芯片中的软件源程序进行相同性对比,以确定原告的权利前提是否存在。具体方法为:1、先将原告提供的完整版源程序,与其在版权中心登记的软件源程序进行对比。2、再将上述完整版源程序编译成二进制代码(即目标代码),与原告产品芯片中的二进制代码进行对比。

  需要说明的是,由于我国现行的软件登记制度要求着作权人在软件登记时仅需登记部分源程序,即程序的前60页和后60页,基于我国现行软件登记制度造成的部分软件源程序的登记现状,如果对原告登记的部分源程序的完整性提出异议,明显过于苛严,因此,仅就该登记部分的源程序与原告自身提供的全部源程序的相对应部分进行对比,以确定两者是否具有一致性,就应当认为已经符合了原告主张权利的证据要求和证明标准。

  【裁判要旨】

  对于计算机软件的相同性对比,在被告没有提供反证的情况下,当双方软件的目标代码完全相同时,可以认定双方的软件构成相同;或者双方软件的目标代码实质性相同且有其他证据予以佐证时,可以认定双方软件构成实质性相同。

  【案件信息】

  一审案号:南京市中级人民法院(2005)宁民三初字第420号民事判决书;

  二审案号:江苏省高级人民法院(2008)苏民三终字第0079号民事判决书。

  【基本案情】

  南京因泰莱电器股份有限公司(以下简称因泰莱公司)的PA100系列综合数字继电器经江苏省机械工业厅和江苏省电力工业局联合鉴定验收后,获《新产品鉴定验收证书》。2002年10月15日,因泰莱公司的“PA100系列综合数字继电器嵌入软件V3.4”和“PA200系列综合数字继电器嵌入软件V3.1”获江苏省信息产业厅颁发的《软件产品登记证书》。2001年8月30日,因泰莱公司和西安市远征科技有限公司(以下简称远征科技公司)订立《技术合作协议》,约定由因泰莱公司向远征科技公司提供具有自主知识产权的变配电系统综合自动化集成技术,以OEM方式提供因泰莱公司系列产品(包括PA100和PA200系列综合数字继电器),提供免费技术培训。该协议履行至2003年9月。

  2005年10月18日,因泰莱公司从南京友成电力工程有限公司(以下简称友成公司)购得YZ100-SB和YZ300-CX型系列综合微机保护装置各一台,远征科技公司、西安远征智能软件有限公司(以下简称远征软件公司)认可上述被控侵权的YZ100-SB、YZ300-CX两个型号的产品由远征科技公司生产,其中软件由远征软件公司开发。

  本案一审中,因泰莱公司申请对被控侵权产品中所使用的嵌入式软件与其主张着作权的软件进行鉴定比对。鉴定机构组织各方当事人当场对各自产品的芯片进行拆卸,随后组织专家对芯片中的嵌入软件进行鉴定。鉴定结论为:被控侵权产品YZ100-SB中的软件与因泰莱公司PA100产品软件程序整体结构基本一致,代码一致率达95%以上,二者实质相同。被控侵权产品YZ300-CX中的软件与因泰莱公司PA200产品软件的功能类似、可执行代码虽有差异,但一致率达60%以上,二者实质相同。另外,对相关产品说明书进行对比,也存在相同之处。

  一审法院遂据此判定远征软件公司和远征科技公司侵犯了因泰莱公司涉案软件着作权,并判决远征科技公司和远征软件公司停止侵权,赔偿因泰莱公司经济损失和为诉讼支出的合理费用共计25万元。

  远征科技公司、远征软件公司不服一审判决,提起上诉,其主要上诉理由为:一、因泰莱公司未能证明其享有着作权的软件与提交鉴定的软件具有一致性。因泰莱公司并没有提供证据证明其一审提交的实物产品及光盘中的软件与其登记注册的涉案软件的一致性,也未就两者之间的关系进行技术对比,同时也未能证明其一审提交的产品芯片与光盘中软件的一致性。由于因泰莱公司一审提供的产品芯片(即一审鉴定所用原告产品芯片)是在起诉前刚生产的,与其诉称形成权利的时间已有4年,再根据因泰莱公司对其提交鉴定的软件与登记注册的软件之间一致性问题一直避而不谈的态度,因此完全有理由相信因泰莱公司是以登记注册的软件为形式依据,再以篡改后的软件甚至是剽窃远征科技公司、远征软件公司的软件为实物依据,恶意控告,以达到排挤竞争对手的非法目的。二、一审技术鉴定存在严重的程序和实体错误。(一)技术鉴定中的程序性错误。1、本次鉴定的正确程序应当是:以因泰莱公司登记注册的软件母本与被控侵权产品为鉴定对比对象;或者,先鉴定因泰莱公司提供的产品芯片、光盘中的软件与其登记注册的软件一致性,再就该产品芯片、光盘中的软件与被控侵权的软件作为鉴定对象。而本案鉴定机构却是直接将因泰莱公司产品芯片中的软件与被控侵权软件进行直接对比,应当认定为无效鉴定。2、对软件程序的核心内容–源程序未作鉴定。目标代码只是一种功能性的表达,不能单独在目标代码基础上就软件是否实质性相同作出判断。本案鉴定机构在双方都提供了源程序的情况下,却单独对比目标代码,应属无效。(二)技术鉴定中的实体性错误。鉴定内容与鉴定结论矛盾。鉴定意见认为,双方源程序采用不同的编程语言,不具备可比性,也就是认定了双方是不同软件。故应得出本案双方当事人源程序不同的结论。但一审鉴定机构却在双方软件不具可比性的前提下,抛开源程序,单独就目标代码进行鉴定,这一做法错误。

  针对远征科技公司、远征软件公司对一审鉴定中直接将因泰莱公司涉案PA100、PA200产品芯片中的软件作为鉴定材料所提出的异议,即因泰莱公司是否对上述产品芯片中的软件享有着作权问题,二审法院专门组织了司法鉴定,并形成相应司法鉴定报告。

  因泰莱公司从中国版权保护中心(以下简称版权中心)调取的PA100 、PA200系列综合数字继电器嵌入式软件源程序,上述软件申请登记日分别为2005年8月10日、2005年11月10日。二审法院在此基础上就以下事项组织技术鉴定:1、因泰莱公司在版权中心登记PA100系列综合数字继电器嵌入式软件(版本号V3.4)与其PA100产品芯片的软件程序是否相同或实质性相同;2、因泰莱公司在版权中心登记PA200系列综合数字继电器嵌入式软件(版本号V3.1)与其PA200产品芯片的软件程序是否相同或实质性相同。

  鉴于因泰莱公司在版权中心登记的涉案软件源程序仅是该软件源程序的一部分,应鉴定机构要求,因泰莱公司又补充提供了PA100和PA200软件完整的电子版源程序以供对比。

  经鉴定,二审鉴定机构出具鉴定报告,主要内容为:1、PA100电子版源程序与版权中心登记的PA100软件源程序实质性相同;2、PA100电子版源程序与PA100产品芯片中的代码实质性相同;3、PA200电子版源程序与版权中心登记的PA200软件源程序实质性相同;4、PA200电子版源程序与PA200产品芯片中的代码实质性相同。并据此作出鉴定结论:1、因泰莱公司在版权中心登记的PA100系列综合数字继电器嵌入式软件(版本号V3.4)与其PA100产品芯片的软件程序实质性相同;2、因泰莱公司在版权中心登记PA200系列综合数字继电器嵌入式软件(版本号V3.1)与其PA200产品芯片的软件程序实质性相同。

  【法院认为】

  一、因泰莱公司对涉案PA100、PA200产品芯片中软件拥有着作权,一审鉴定将上述软件与被控侵权软件进行侵权对比具备事实和法律基础

  本案争议焦点之一为远征科技公司、远征软件公司是否侵犯因泰莱公司涉案计算机软件着作权,对该问题作出正确判断的前提在于:因泰莱公司对其涉案产品芯片中的软件是否拥有着作权,一审鉴定将该软件与被控侵权产品芯片中的软件直接进行侵权对比是否具备事实和法律基础。

  结合各方当事人的诉辩意见,二审法院对此采取的总体审理思路是:由因泰莱公司提供其在版权中心登记的涉案软件源程序,将该登记的软件源程序与因泰莱公司产品芯片中的软件进行对比,并就此专门组织司法鉴定,以确定两者是否具有一致性。如果两者构成相同或实质性相同,则应认定因泰莱公司对其产品芯片中的软件拥有着作权,一审鉴定将该软件与被控侵权产品芯片中的软件直接进行侵权对比具备事实和法律基础。

  本案中,采取上述对比方法尚需要解决以下两个问题:1、根据我国现行计算机软件登记制度,着作权人在登记时仅需登记部分源程序,因此,因泰莱公司在版权中心登记的软件源程序仅为该全部源程序的部分内容,无法与涉案产品芯片中的软件进行全面对比;2、因泰莱公司涉案产品芯片中的软件为二进制代码,与源程序分属软件的不同表现形式,在技术上无法进行直接对比。对上述问题,二审鉴定机构采取的鉴定方法为:1、由因泰莱公司另行提供完整的电子版源程序,并与因泰莱公司在版权中心登记的软件源程序进行对比。2、将因泰莱公司提供完整的电子版源程序编译成二进制代码,再与涉案产品芯片中的二进制代码进行对比。

  鉴定结果为:1、因泰莱公司在版权中心登记的软件源程序与其提供的完整电子版源程序构成实质性相同;2、因泰莱公司提供的完整电子版源程序与其涉案产品芯片中的软件程序构成实质性相同。据此,二审鉴定机构作出因泰莱公司在版权中心登记的软件与其涉案产品芯片中的软件构成实质性相同的鉴定结论。

  (一)二审鉴定机构将因泰莱公司在版权中心登记的部分源程序与其提供的完整电子版源程序进行对比,并得出两者实质性相同的鉴定结论应予采信

  远征科技公司、远征软件公司二审中认为,一般情况下,在版权中心登记的源程序处于整个程序的前、后位置,应当仅占全部源程序的8%,不具备有效对比条件,且登记的源程序一般为行业标准的参数定义及程序中通用的子函数,具有很强的通用性,而真正原创性的核心技术程序由于位于整个程序的中间部分而未被登记。所以登记的源程序不是着作权保护范畴内的具有独创性的源程序,因此在该情况下的对比是无意义的,也不能得出电子版源程序与版权保护中心登记的源程序实质性相同的结论。

  二审法院认为,鉴于我国现行的软件登记制度要求着作权人在登记时仅需登记部分源程序,因泰莱公司在穷尽其举证能力的情形下,也只能提供该部分具有法定公示效力的软件源程序。如果要求其提供全部具有法定公示效力的软件源程序,明显对其举证要求过于苛严,实际上也无法做到。因此在现有条件下,只能就该登记部分的源程序与因泰莱公司自身提供电子版源程序的相对应部分进行对比,以确定两者是否一致。因此,本案二审鉴定机构根据现有鉴定材料的实际状况,将因泰莱公司在版权中心登记的部分源程序与其提供的完整电子版源程序进行对比,以确定两者是否一致,该鉴定方法并无不当,在此基础上作出的鉴定结论应予采信。本案中,远征科技公司、远征软件公司既未举证证明登记部分的软件源程序属于通用程序,也未指明涉案软件中属于核心程序部分的具体内容及位置,因此其关于二审鉴定由于未就具有独创性的核心软件进行对比致使鉴定缺乏意义的主张不能成立,不应予采纳。

  (二)二审鉴定机构将因泰莱公司提供的完整电子版源程序编译为二进制代码,与因泰莱公司涉案产品芯片中软件二进制代码进行对比,并得出两者实质性相同的鉴定结论应予采信

  本案二审鉴定机构在确定因泰莱公司在版权中心登记的源程序与其提供的完整电子版源程序一致性的基础上,再将PA100、PA200电子版源程序编译生成二进制代码,与因泰莱公司产品芯片中的PA100、PA200软件二进制代码进行逐段对比,得出实质性相同的鉴定结果。

  对于鉴定机构采用的上述对比方式,远征科技公司、远征软件公司提出异议,认为不应采用二进制代码对比的方法,而应直接对比源程序。主要理由是源程序是软件真正核心思想的体现。源程序的书写方式包括用C语言、汇编语言编写等多种方式。如果产品功能相似,上述书写语言编译的二进制代码的相似性很强。因此通过二进制代码进行对比的方法不科学,应当直接对比源程序。

  二审法院认为,首先,鉴定机构采用二进制代码对比方法应属合理。关于这一问题,二审鉴定报告中进行了专门说明,相关鉴定专家也出庭进行了解释。本案中,由于从涉案产品芯片中只能读出二进制代码,与电子版源程序分属不同表达方式,无法进行直接对比。而在对比两者一致性的问题上,理论上存在三种方法:第一种方法是C源程序的直接对比。因泰莱公司PA100、PA200电子版源程序采用的编写语言是C语言,而通过涉案产品芯片只能读出二进制代码,因此需要将涉案产品芯片中的二进制代码翻译成C源程序,之后方能进行直接的C源程序对比。但目前尚无编译工具可以将二进制代码翻译成C源程序,因此实际不具备该种对比的技术条件。第二种方法是汇编语言程序的对比。即分别将电子版源程序和涉案产品芯片中的二进制代码均翻译成汇编语言程序,再就汇编语言的一致性进行对比。但由于涉及编译工具、参数配置、优化策略等多方面因素,即使是同一软件程序,从C源程序编译成的汇编程序,与利用反汇编工具从二进制代码翻译出的汇编程序,也存在不相同的可能性。因此,本案中通过汇编语言程序进行对比也不具备技术条件。第三种方法是二进制代码的对比。即将电子版源程序编译成二进制代码,再与涉案产品芯片中的二进制代码进行对比。目前,具备将电子版源程序编译成二进制代码的技术条件。同时,一般情形下,根据编译器或者编译参数的不同,同样的C源程序可能生成不同的二进制代码,但是不同的C源程序不可能生成相同的二进制代码。因此,本案二审鉴定机构采用二进制代码对比方法,确定电子版源程序与涉案产品芯片中程序的一致性具备事实和科学依据,应予采信。远征科技公司、远征软件公司关于直接对比源程序的诉讼主张缺乏可行性条件,不应予采纳。

  综上,二审鉴定机构在分别确定因泰莱公司在版权中心登记的软件与其提供的电子版源程序实质性相同,该电子版源程序又与涉案产品芯片中的软件实质性相同的基础上,作出因泰莱公司在版权中心登记的PA100、PA200软件与其涉案产品芯片中的PA100、PA200软件构成实质性相同的鉴定结论符合法律规定,应予采信。根据二审鉴定结论,结合因泰莱公司的PA100系列综合数字继电器在1999年即获《新产品鉴定验收证书》、因泰莱公司PA100和PA200软件在2002年获江苏省信息产业厅颁发的《软件产品登记证书》、因泰莱公司自2001年起即向远征科技公司提供包括PA100和PA200产品在内的变配电系统综合自动化集成技术等相关事实,二审法院认为,有足够的证据证明因泰莱公司对涉案产品芯片中的PA100、PA200计算机软件拥有着作权,一审鉴定将因泰莱公司产品芯片中的软件与远征科技公司、远征软件公司产品芯片中的软件直接进行侵权对比具备事实和法律基础。

  二、远征科技公司、远征软件公司侵犯了因泰莱公司涉案PA100、PA200计算机软件着作权

  本案中,在确定因泰莱公司对涉案产品芯片中的PA100、PA200计算机软件拥有着作权的基础上,判断远征科技公司、远征软件公司是否构成侵权,应主要从以下几方面予以考虑:1、被控侵权软件与因泰莱公司涉案产品芯片中的PA100、PA200软件是否相同或者实质性相同;2、远征科技公司、远征软件公司之前是否存在接触因泰莱公司涉案计算机软件的条件;3、远征科技公司、远征软件公司有关不侵权抗辩的主张是否成立。

  这一问题的核心在于一审鉴定关于两者构成实质性相同的鉴定结论能否采信。远征科技公司、远征软件公司主张一审鉴定方法不合理、鉴定结论缺乏依据,鉴定程序不合法,并在二审中申请重新鉴定。一审鉴定机构对此在二审中出具了补充说明予以解释。经审查,二审法院认为:

  一审鉴定采用二进制代码对比的方法具备科学依据。远征科技公司、远征软件公司认为,被控侵权软件和因泰莱公司涉案软件的源程序分别采用汇编语言和C语言编写,因此即应认定两者系不同软件,而不应再进行二进制代码的对比。对此二审法院认为,如前所述,嵌入式软件源程序可以采用包括汇编语言、C语言在内的多种语言编写,并不能仅以编写语言的不同即得出软件不同的结论。相反,在二进制代码实质相同的情形下,存在用不同语言编写的源程序的可能性极小。由于双方源程序编写语言不同导致不具备进行直接对比的条件,且远征科技公司、远征软件公司对因泰莱公司一审中提供的源程序本身又不认可,一审鉴定机构据此直接对比双方产品芯片中二进制代码,该鉴定方法应属合理,远征科技公司、远征软件公司的此项异议缺乏法律和事实依据,不予采纳。

  据此,根据一审鉴定报告及补充说明,并结合被控侵权YZ100-SB、YZ300-CX产品与因泰莱公司PA100 、PA200产品的软件说明书基本相同等事实,二审法院认定,被控侵权产品YZ100-SB、YZ300-CX软件与因泰莱公司PA100 、PA200产品软件构成实质性相同。

  综上,远征科技公司、远征软件公司被控侵权软件与因泰莱公司涉案软件构成实质性相同,远征科技公司在其产品生产前即具备接触因泰莱公司涉案软件的客观条件,且远征科技公司、远征软件公司也未能提供证据证明其独立研发了被控侵权软件。因此根据现有证据,应当认定远征科技公司、远征软件公司侵犯了因泰莱公司涉案PA100、PA200计算机软件着作权,应当承担相应的法律责任。综上,二审法院遂判决:驳回上诉,维持原判决。

  一审合议庭:郑之平、叶波平、卢山

  二审合议庭:宋健、顾韬、张长琦

  作者:江苏高院