计算机软件著作权侵权问题研究
2024-06-07刘方辉赵瑞琪
刘方辉 赵瑞琪
关键词:知识产权;计算机软件;著作权侵权
一、前言
南京市中级人民法院南京知识产权法庭(以下简称南知法庭)自2017年1月至2023年12月,共受理计算机软件著作权侵权纠纷案件853件,年受理案件数量呈波动态势(详见图1)。
此类案件呈现出以下特点:首先,从纠纷诉讼主体看,原告为外方当事人的案件在2020年以前占比略高,但随着国内企业知识产权保护意识的提高和软件行业的高速发展,近两年国内企业维权的案件数量大幅增加,涉及外方权利人的案件比例下降显著(详见图2)。其次,从案件标的额看,立案标的额在100万—500万的案件149件,500万—1000万24件,1000万以上12件,其中2021年1000万以上的案件达到8件,均为国内当事人之间的诉讼,在一定程度上反映了国内软件行业的蓬勃发展。再次,从审理结果看,判决150件,调撤626件,占比分别为17.6%和73.4%,也反映出此类案件调撤率较高。
通过上述案件的审理,南知法庭发现企业维权以及法院审理该类案件的难点,主要集中体现在以下几个问题上:1.权利基础的证明;2.侵权主体的确定;3.侵权证据的取得;4.侵权认定的判断。南知法庭自2017年首创聘用制专职技术调查官制度以来,在上述计算机软件著作权侵权案件的审理中积累了较为成熟的经验。本文拟在梳理南知法庭审理的实际案例,分析当前计算机软件著作权纠纷案件所涉难点和热点问题的基础上,提出解决对策,为企业维权及法院审判提供些许实务参考。
二、软件著作权权利基础的确定
(一)软件著作权权属的证明要求
原告拥有涉案计算机软件的著作权或经过授权获得了相关权利,是计算机软件著作权诉讼的基础之一,也是法院案件审理的首要审查条件。实践中,原告证明其拥有著作权的最佳方式是,同时提供计算机软件著作权登记证书及与登记时相一致的软件源代码。若原告提供上述证据,被告通常不会就权属问题提出抗辩。除此以外,对于原告认为被告涉及源代码抄袭的侵权案件,原告还可以提供其软件版本管理记录(如SVN或Git等第三方版本管理工具的记录),强化其软件从无到有开发的过程。需要强调的是,原告不能仅提供计算机软件著作权证书证据,因为该证据仅仅是权利人享有著作权的初步的、表象的证明材料,至于具体享有的著作权登记证书载明的著作权内容,依然需要进行具体的举证,否则无法进行侵权比对证明,除非被告对侵权事实予以认可。
(二)软件著作权权属的审查确认
在原告起诉被告抄袭源代码的侵权案件中,即使原告提供了计算机软件著作权登记证书以及软件源代码,被告仍会着力进行抗辩。主要原因在于软件产品不停升级中源代码的迭代更新,导致其始终处于一个变化的过程,会形成多个版本的权利软件。因此,原告举证时应该考虑如何选择最优的权利版本,才能在诉讼中事半功倍。具体应注意以下问题:第一,原告举证的软件著作权源代码形成时间应早于被诉侵权软件的上市或完成时間。第二,原告如果主张离职员工带走源代码供被告使用,则源代码的形成时间应早于员工离职时间。在傅某某等人侵犯著作权罪一案中,1就存在因软件著作权人提供的源代码时间晚于傅某某等人的离职时间,导致软件同一性的鉴定报告证据效力受到影响,不得不进行二次鉴定。第三,原告主张的权利软件版本应与软件著作权登记证书的版本一致。如果原告明确主张的权利系软件著作权登记证书中的软件版本,则应提供开发时间、版本一致的权利软件。实践中,因我国计算机软件著作权登记仅登记软件的名称、版本及部分源代码,此后若因软件更新迭代导致源代码中登记的部分发生了变化,被告通常会抗辩原告主张的权利软件源代码与其提供的软件著作权登记证书的源代码不一致。对于这种情况,如果原告可以提供第三方版本管理工具软件的记录,证明其软件的开发过程,即可证明其权利软件版本源自其软件著作权登记证书中的版本。或者,原告应明确所主张的系计算机软件著作权登记证书中软件的迭代版本,登记证书仅是辅助证明。总之,权利人在进行诉讼准备时,应慎重审查和选择主张权利的软件,一旦提起诉讼就应明确所主张的权利软件内容和版本,尽量避免在诉讼中变更权利,导致侵权鉴定时间和资源的浪费。
此外,法院还应注意审查原告提供的软件是否为合作作品、委托作品、职务作品等,排除原告并非实际权利人的情况。在南京合某公司诉南京百某公司等计算机软件著作权侵权案件中,2原告主张被告为第三方银行开发维护的软件侵害了其软件著作权。被告则辩称涉案软件系第三方银行委托原告开发,著作权并非原告享有。经法院审查后发现,在原告与银行的委托开发合同中,已明确约定软件的著作权归属于银行。虽然原告对母版计算机软件著作权进行了登记,但其对于银行二次开发的版本已不享有著作权。
(三)侵权法律关系的路径选择
计算机软件程序可以同时成为著作权法中计算机软件著作权侵权和反不正当竞争法中商业秘密侵权的保护对象。著作权法保护软件程序的表达,而商业秘密保护的是软件程序和文档中可能存在的构成商业秘密的信息,如具体的算法逻辑、具体的执行文档、开发过程中形成的文档等,只要构成秘密的有价值的信息内容均可进行商业秘密的保护,对计算机软件的保护相对宽泛。尽管商业秘密的保护范围较为宽泛,但实践中如果权利人主张大段的代码作为商业秘密,首先需要区分出其中哪些信息内容具备商业秘密的构成要件,即具体的秘密内容(秘密点)是什么,以及这些秘密点是否具备不为公众所知悉,是否具有价值性和实用性,以及权利人是否采取了保密措施的三要件。在此基础上,再对权利人主张的秘密内容与侵权人获取、披露、使用的信息进行侵权比对。在侵犯商业秘密法律关系中,通常会涉及多个秘密点的比对,比对的结论要求两者一致才能构成侵权。相对而言,软件著作权的侵权比对中,可以是整体源代码的一致,也可以是部分源代码的一致,整体上的判断仅要求实质性相同即可。因此,从举证责任的轻重来看,两种路径中选用侵害计算机软件著作权是“性价比”较高的诉讼策略。南知法庭审理的案件中权利人也基本选择了软件著作权的保护路径。3从损害赔偿的结果看,两种路径法定赔偿数额上限一致,如果依据侵权损失或获利计算侵权损害赔偿额,两者的最终结果可能并无实质性差别。
三、侵害软件著作权主体的认定
(一)侵权主体的类型
侵害计算机软件著作权诉讼中,侵权主体的确定是侵权之诉是否成立的条件之一。实践中,侵权主体的类型通常有以下几种情况:一是离职员工及其离职后入职的企业或关联方;二是购买软件的客户;三是原告的行业竞争者;四是原告的代理销售商。其中,离职员工作为侵权主体的案件在2020年前占比较高,约占案件数量的25.7%,一定程度上凸显了离职员工劳动自由与原单位知识产权保护之间的冲突,成为困扰企业头疼不已的顽疾。
(二)被告的选择确定
一般而言,当权利人发现了侵权人的侵权行为,相关的侵权软件已经进入市场被实际使用,被诉侵权软件的使用方是否作为被告,也是原告应注意选择、确定的问题。因为计算机软件侵权的隐蔽性、证据获取困难,将第三方使用者作为共同被告,一般会有利于侵权证据的获取和案件事实的查明。但第三方很可能也是原告的客户,这就需要原告在维系客户与打击侵权中做好选择和平衡工作。
在米某公司诉医某公司、刘某、卢某、南京某医院的一案中(以下简称米某案),4医院作为共同被告之一,较为配合法院的证据保全和勘验比对。如果原告未将医院作为共同被告提起诉讼,医院可能会以数据安全等多种理由拒绝配合勘验比对,给技术事实的查明带来障碍。一旦出现类似的情况,则权利人对侵权事实的举证证明责任就应当达到确定的证明程度,而不是仅提供初步侵权线索。在确定的基础上,权利人可以申请法院进行调查,查清相关侵权事实,否则权利人将承担败诉的不利后果。
(三)侵权主体的适格查明
针对权利人的诉讼,不同的被告通常会作出不同的抗辩,其中被告主体不适格抗辩也是重要的抗辩内容。在比某公司诉优某公司的软件著作权纠纷案件中,5被告提出其在政府采购网站公开的营业执照被第三方盗用,涉案软件系他人伪造被告相关证书后上传于应用平台,其并非实际侵权主体。法院审理确认了上述事实后,驳回了原告诉讼请求。
需要指出的是,对于网站侵权类案件,仅依据ICP备案信息不能确定侵权主体。因ICP备案信息不进行实质审查,如果网页内容与被告经营范围和联系方式不一致,从表象即可判断并非被告经营网站。如果备案信息显示网站负责人与被告信息存在矛盾,也不应认定为侵权主体。在长沙米某公司诉扬州舜某公司、邰某某一案中,6法院通过开具调查令查明了备案登记信息,原告撤回起诉。
四、侵害软件著作权证据的取得
(一)取证的内容及方式
被诉侵权软件的取得和确定,是侵害计算机软件著作权纠纷案件中原告举证的难点。按举证证明责任要求,原告应取证被诉侵权软件的源程序或目标程序。司法实践中,原告通常有以下取证方式。
第一,原告自行取证。原告自行取证时,应通过公证的方式固定被诉侵权软件的相关情况,具体的取证内容和操作方法一般由原告自行确定。根据南知法庭审理的案件情况,原告自行取证的内容一般为:被诉侵权软件的用户界面或者网站系统的前端页面及页面代码,以及从被告销售的第三方处获得软件目标程序等内容。
第二,申请法院调取证据。在原告提供了初步证据证明其权利软件存在被侵害的事实后,如发现与认定侵权成立或者确定赔偿数额的重要证据,而该证据可能灭失或者以后难以取得,且权利人因客观原因无法自行收集的证据时,可以向法院申请证据保全。如,在米某案中,原告提交了初步证据证明其前员工设立了被告公司,被告公司销售的两款软件用户界面与原告主张权利的软件界面相似,功能相同。原告向法院申请至某医院调取以下证据:被告销售给第三方的软件目标程序;被告销售给第三方的文档;合同。法院依原告申请调取了上述内容,最终被告承认侵权事实。
第三,被告披露相关证据。除了原告自行取证以及申请法院调取证据两种途径以外,目前获取被告软件的途径还包括:为了尽快确定不构成侵权,被告应诉后主动提交软件源代码;被告应法院举证责任的分配,提供软件的源代码、可执行文件等内容。实践中,原告通常可能会不认可被告自行提供的软件信息。对此,法院可以根据原告和法院已取得的证据,对被告提供的源代码进行验证,最简单的方法即对被告提供的源代码进行编译运行,查看运行结果与已取得的证据是否相同。
(二)取证中相关的问题
上述取证的方式,均存在一定困难和风险。首先,原告自行取证时,一般只能取得被告公开的被诉侵权软件信息,难以获取被诉侵权软件源代码。其次,法院调取被诉侵权软件源代码证据,也需要被告或使用方的配合,即使保全现场能够调取到被告的源代码,但因现场无法编译打包、安装验证,依然存在不能确定保全内容是否为被诉侵权软件的源代码的风险。再次,在司法实践中,即便法院依法进行调取,部分被告或使用方依然可能会拒绝提供源代码,并作出较为隐蔽的证明妨碍行为。
上述问题的存在,均是由于该类纠纷侵权行为隐蔽、源代码为被告所持有,证据偏杂导致其他人难以获取。如果初步证据证明双方软件相似,被告依然拒绝提供源代码,是否可以适用证明妨碍推定被告构成侵权,需要针对具体情况进行分析、考量。如需要对网页代码中变量的命名习惯和页面整体样式布局、风格是否相似进行专业分析和判断。
(三)取证的其他解决途径
2017年6月,司法部会同三部门发布了《司法部国家工商行政管理总局国家版权局国家知識产权局关于充分发挥公证职能作用加强公证服务知识产权保护工作的通知》,要求各级司法行政机关、工商行政管理机关、版权局、知识产权局要从全面依法治国和推进社会主义法治建设的高度,从实施创新驱动发展战略,加快知识产权强国建设的高度,充分认识加强公证服务知识产权保护工作的重要意义,积极创造条件,加大服务力度,创新方式方法,推进公证服务知识产权保护,维护知识产权创新、创造、应用和保护的良好秩序,促进和保障我国知识产权事业健康发展。72023年,广东省深圳市市场监管局坪山监管局接到软件权利人举报后,与坪山区公安分局成立联合行动组,开展专项行动,对被举报公司厂房和软件权利人开展现场调查。经过全面核查相关证据,联合行动组固定了3名涉案嫌疑人利用职务之便盗取软件权利人的核心软件代码并用于生产经营获利的违法事实,并查扣电脑、移动硬盘等涉案物品。坪山监管局还对双方涉案计算机软件源代码进行提取,对依法提取的电子数据、设备、文件等进行比对鉴定。8
因此,实践中除了自行取证和向法院申请证据保全,软件权利人还可以通过向行政机关举报、申请调取证据,行政机关在行政执法和查办案件过程中收集的物证、书证、视听资料、电子数据等证据材料,在诉讼中可以作为证据使用,而且行政机关依法进行行政执法形成的证据,相比权利人自行取证更加容易获取且证明力更强。
五、侵害软件著作权行为的判定
(一)侵权行为的相关情形
根据分析,被告侵害软件著作权的行为一般有以下几种情况:
第一,离职员工复制原东家软件源代码被诉侵权。由于源代码的电子文档本身易于修改,且离职员工通常较为理解源代码的逻辑流程和结构,可以根据新的软件需求对权利人的软件源代码进行修改,且离职员工会抗辩称其系两份软件的开发者,由于编程习惯、行业惯例以及网络开源代码等原因导致软件相似。例如在一起侵害计算机软件著作权纠纷案件中,被告员工称其系涉案权利软件及被诉侵权软件的主要开发人员,由于个人编程习惯导致两份软件有相似,但在庭审中对于具体相似之处,被告未能回答具体内容,也未给出合理解释,庭后被告表示愿意调解。
第二,软件购买方抄袭代码被诉侵权。在上海聚某公司与徐州赛某公司侵害计算机软件著作权纠纷案件(以下简称聚某案)中,9原被告双方曾签订合同,约定双方投入各自资源合作建设项目。被告为项目的使用方,原告负责部署项目相关软件,项目软件的所有权归原告所有。双方合同解除后,原告发现被告销售与其相似的软件。法庭通过比对源代码,认定双方代码构成实质相同。
第三,非法破解反编译权利软件被诉侵权。侵权者通过原告软件的可执行文件,通过反向工程修改其中署名页等内容,发行侵权软件。这种情况在手机小游戏上更易发生,也有个别侵权行为严重,构成侵犯著作权罪的极端情况,如在无锡税某公司犯侵犯著作权罪案中,10该公司及其主管孙某使用反编译工具破解了南京擎某公司的权利软件,并对破解的软件部分代码进行修改,向客户销售或为客户升级修改后的破解软件,法院判决无锡税某公司及孙某构成侵犯著作权罪。在另一起上海国某公司犯侵犯著作权罪案中,11上海国某公司委托他人对沁某公司的芯片进行反向工程,法院认定,国某公司被诉侵权芯片ROM区二进制代码、GDS文件ROM层二进制代码与沁某公司计算机软件著作权对应的软件源代码经编译转换生成的二进制代码及该公司GDS文件ROM层二进制代码均相同,相似度为100%。法院判决国某公司犯侵犯著作权罪。
第四,开源软件的商业化使用被诉侵权。权利人为销售商用版软件源代码,将试用版源代码公开,但声明“试用版仅用于学习和试用、禁止商用”。他人利用开源代码模板进行二次开发后形成的软件被诉侵权。2021年以前,该类案件仅有4件,自2021年起,数量大幅增加。2021—2023年,南知法庭共受理该类案件455件,占该两年国内权利人案件总数的51.2%。该类案件,最高人民法院已经有明确的指导意见。
(二)侵权判定的一般原则
目前而言,“实质性相似+接触”是对计算机软件著作权侵权判定普遍适用的司法实践认定原则。12即原、被告的计算机软件表达相同或实质相似,并且有证据能够证明被告具备接触原告软件的条件,则应当认定存在软件侵权行为。13
实践中,有以下几种情况被认定为被告存在“接触”的事实:一是原告的离职研发员工到被告企业继续担任研发工作;二是被告购买过原告的软件;三是原告在先公开发表过软件,被告在后的软件界面与原告的一致。侵权软件与权利软件是否构成“实质性相似”,一般而言需要进行具体的侵权比对才能确定。
(三)侵权比对的具体方式
计算机软件的侵权比对是认定侵权软件与权利软件是否构成“实质性相似”的关键环节。我国现行法律法规或司法解释对此并未有明确规定,但在司法实践中,存在以下几种比对方式:
1.软件源程序比对
对软件源程序的对比是最直接、最可靠的实质性相似认定方法。这种比对方式使用的前提是,确定双方用于比对的软件源代码的版本与案件事实具备合理的一致性,则可以使用该比对方式。
源代码可以通过专业工具进行对比,如果被诉侵权软件直接拷贝过原告的源代码,通过该方式能快速判断双方源代码是否一致,从而认定是否构成侵权。但在具体操作中,由于软件源代码易于修改以及软件更新迭代的需求,导致被诉侵权的软件源代码与最初拷贝的权利软件源代码相比,会存在明显的变化。如果使用比对软件比对后,发现双方软件的源代码文件结构不完全相同,则可以以人工比对的方式对以下几个方面综合分析判断:第一,通过对比双方代码的文件组织结构进行初步分析,例如文件目录、文件数目、文件名称、文件类型。第二,通过比对双方软件的运行方式与结果,判断双方软件的相似程度。包括:运行界面、功能设置、输入和输出等方面。第三,通过将软件分解为不同的功能、部件、模块等对应具体的程序代码,在相同层次上进行相似性分析,然后进行综合评价。14
在南知法庭审理的聚某案中,技术调查官即采用了该方法。具体步骤如下:第一,对比双方源代码的目录结构,通过“文件名、功能模块”确认文件比对检验范围。第二,对双方源代码的“目录结构、文件名、文件内容、变量、函数、宏定义”等进行逐行检验比对,使用“先机器再人工”或者全部人工的方式比对,统计出“相似行数、差异行数”等,对于原告主张具有独创性的部分重點进行比对。对于非源代码,则对文件的“文件名、文件MD5值、文件内容、文件结构和文件属性”等进行综合比对。最后根据相似行数计算出代码的相似度。第三,对于“公司名称、账号密码、软件bug”等关键敏感信息进行重点检索。经过技术调查官综合分析,得出了软件系统、前端代码相同的结论。法官最终采用了技术调查官的上述比对结论,认定侵权成立,判决被告赔偿原告566550元。
2.软件目标代码的比对
根据《计算机软件保护条例》第三条规定,同一计算机程序的源程序和目标程序为同一作品。目标程序是软件投放到市场中的形式,是存储在磁盘等载体中的数字和符号,购买使用软件接触到的便是这种形式。15因此,实践中,被诉侵权软件的目标程序是比其源代码更易于获取的侵权证据,原告通常可以自行取证获得。对于目标程序可以使用比对工具软件对二进制形式进行对比,也可以通过安装目录的文件目录结构综合分析,这种方式仅适合于完全复制的侵权行为。
3.软件目标代码通过反向工程后进行比对
这种比对方法存在一定的局限性,仅适用于C#、JAVA以及一些脚本语言编写的软件。其他如C语言编写的软件,反编译后得到的是汇编语言,可读性差,實践中难以进行比对分析。这种反编译形成的源程序与正常开发的源程序具有较大的区别,因为在编译的过程中,编译程序对源程序进行了处理,因此反编译后目标程序比对通常是对程序的逻辑及缺陷进行比对分析和判断。实际审理中,南知法庭已有多个案件利用反向工程进行了比对。
4.软件设计缺陷比对
软件设计缺陷又称为软件的特征性缺陷。所谓特征性缺陷,是指一套软件本身所特有的,不具备普遍意义的缺陷。这种缺陷的产生带有很强的偶然性,不同软件之间产生相同特征性缺陷的概率几乎为零,引入这一对比方式的主要原因在于解决原告的举证困难。16另外,在双方源代码不完全相同,离职员工抗辩由于编程习惯导致双方代码存在相似之处时,也可以通过对比双方源代码中是否存在特征性缺陷或者原告特有标识,审查抗辩理由是否成立。
5.软件存储介质内容、安装过程、安装目录、运行状况的比对
该种比对方式一般包括对比存储双方软件的光盘内容,如目录、文件数量、名称及文件大小;对比原、被告软件安装过程的屏幕显示内容,如提示信息、安装流程、界面整体设计风格等;对比原、被告软件安装后的运行状况,如界面整体设计风格、菜单功能、运行提示、帮助信息等。17该方式适合需要安装的软件,一般情况下,软件的安装过程,包含了复制文件的过程,通常包括软件的目标程序、库文件资源文件等内容。因此上述比对项目的相似程度越高,软件实质性相同的可能性也越大。
需要指出的是,后两种比对方法的意义在于:一是,作为辅助手段,增强法官的内心确信;二是,被告无正当理由拒不提供软件源程序以供比对时,可以作为对被告进行不利推定的事实基础。
司法实践中,上述比对方法并非只能择一使用,在被诉侵权软件并非权利软件的直接拷贝情况下,可以根据不同情况综合适用上述比对方式,才能充分查明侵害计算机软件著作权纠纷案件的基础技术事实。
(四)侵权认定的争议问题
一般而言,将“实质性相似+接触”作为侵权认定的原则,结合上述侵权比对方式在具体案件侵权比对中的适用,以及适当情形下举证证明责任的分配,如证明妨碍等证据规则的适用,即可以得出被告是否侵权的结论。
但是,以下几种被诉侵权软件是否构成侵权的情况,依然需要法院在具体的侵权判定中对侵权认定标准进行明确,进而做出是否侵权的判断。
1.软件界面、功能相同的侵权认定
我国《计算机软件保护条例》第六条明确规定,对计算机软件著作权的保护不延及开发软件所用的思想、处理过程、操作方法或者数学概念等。18在赵某某诉南京回某公司等的案件中,19原告认为被告微信小程序界面与原告相似,而且实现的功能也相同,抄袭了原告的创意,但经过比对,双方小程序源代码实际并不相同。故双方在法院主持下进行了调解。当然,如果创意与软件界面密切相关,而软件界面构成独特的表达内容,20也可以对网页的UI界面作为汇编作品进行著作权的保护,或者对软件独特的算法进行技术秘密的保护。如南京铁路运输法院审理的“尚居”著作权案件,此案由最高人民法院公布为2018年第一批涉互联网典型案例。21
2.软件界面不同,源代码部分相同的侵权认定
聚某案中,双方界面虽不相同,但技术调查官对双方代码分模块进行比对,认为双方前端代码目录结构相同,源代码的部分段落存在高度的相似,对各模块比对的结果及相同比例出具了详细的技术调查意见。最终,法院判决认为,一般而言,两个独立开发的软件出现如此大比例的相同点,特别是代码中具有独创性的语句构成相同的可能性是极低的,故双方代码构成实质性相似。
除此以外,对于前、后端代码分别实现的网站系统,如果前端代码相同,能否认为软件系统构成侵权。长沙米某公司在全国范围内提起了大量侵害计算机软件著作权纠纷诉讼,其提交的证据均为被控侵权网站网页页面代码。对此,在被告不认可侵权且不提交其代码的情况下,法院根据原告提交的证据进行比对,依然能够判断被告侵害了原告权利软件的软件著作权。
3.软件核心代码相同的侵权认定
金某公司诉达某公司及傅某某等人侵犯计算机软件著作权的案件中,22被告等人抄袭的内容主要在于几个主要功能模块的JAVA代码文件,而构成整个软件系统的除了JAVA代码文件以外,还有jsp,xml等文件。虽然在计算机行业中,认为jsp主要作用为前端页面的实现,软件系统的核心功能由JAVA代码完成。但是jsp和xml的代码量明显多于JAVA代码的情况下,是否构成侵权,以及侵权的比例如何计算?在该案中,二审法院认为,23“Java系高级编程语言,由其编写的涉案软件模块的代码,属于为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,符合《计算机软件保护条例》第三条中关于程序的规定,其亦系本案中金某公司明确主张权利的软件著作权内容,因此,262号司法鉴定意见书对Java代码文件进行比对并无不当。至于jsp等其他文件,其并不在金某公司主张的软件范围内,亦不在委托鉴定的范围之内,鉴定机构并无进行比对之必要。同时,鉴定人员选择比对的文件夹系其基于工作经验对比对方法的选择,且亦证明了通过此种方式选择的文件夹中的文件,确具有一定的同一性,因此,被告据此主张否定鉴定结论缺乏依据。”二审法院认定核心代码具有同一性,构成侵权。
部分代码相同的情况,还可以考虑对软件功能进行分割,划分实现界面部分的软件在整体软件中的价值比例,仅认定实现界面部分的软件构成侵权,并以此确定赔偿数额。在聚算案中,法院即通过划分侵权部分在整个平台中的占比,确定具体的侵权损害赔偿数额。
4.软件涉GPL开源的侵权认定
随着开源软件产业的发展,开源软件漫卷全球,使用开源协议是软件开发者将其软件开源最常见的方式,开源协议对软件行业的影响深远。在当前加大知识产权司法保护的背景下,如何平衡开源技术与知识产权保护之间的利益关系是近年来的一个新问题。
因GPL许可协议的“强传染性”,目前国内司法实践中,所涉及的开源协议均为GPL许可协议。GPL许可协议即GeneralPublicLicence,是源代码的著作权人基于自由、开放、共享的理念,通过附条件许可的方式,允许其他使用者在遵守协议限制的条件下,对其源代码进行自由使用、复制、改编、再发布。开放后的源代码能吸引来自不同地区、素不相识的开发者们在免费下载、自由使用、复制、改编、再发布的过程中,协助提高开源项目的质量,共同完成开源项目的开发。24
在南京未某公司与江苏云某公司、刘某某侵害计算机软件著作权纠纷一案中,25技术调查官在源代码比对过程中,发现原、被告在软件源代码中均存在多个遵守GNUGPLV2开源许可证的开源代码,且原、被告均进行了闭源处理,未进行开源。针对上述情况,比对后查明,涉案软件包括主程序和预览程序;GPL开源代码实现的压缩功能系涉案软件不可或缺的功能;经试验,主程序和预览程序能够相对独立运行。最终,法官根据查明的技术事实,在考量开源协议的法律效果,同时平衡保护原告作为软件著作权人的合法权利前提下,认为被告公司的GPL开源抗辩成立,虽未侵害原告涉案权利软件应遵循的开源协议主程序部分的著作权,但是侵害了涉案软件预览程序部分的著作权。由此,法院认定,被告故意、重复侵权,适用惩罚性赔偿以其获利的3倍确定赔偿额。这也是国内第一起明确支持了基于GPL开源协议的不侵权抗辩的案件。在上海卓某公司提起的系列案件中,被告亦提出GPL開源抗辩。原告主张权利的DedeCMS是一款内容管理系统,可以帮助用户快速搭建各种类型的网站,Sphinx是一款开源的高性能全文检索引擎,基于C++开发,Sphinx特别为一些脚本语言设计了搜索接口,该软件使用GPL许可协议。在原告主张权利的DedeCMSV5.7版本中包含sphinxclient.class.php文件,该文件与sphinx官方网站历史版本中Sphinx0.9.9(r2117;Dec02,2009)中sphinxapi.php除文件名称外,其他内容一致。DedeCMS的后台管理中基本参数设置其他选项页面显示“是否启用文章文字检索功能(需配置sphinx服务器)”的默认配置为否,在不开启此功能时,可以对全站文章的标题及内容进行检索。如果要开启该功能,用户需另行下载、安装sphinx。原、被告双方关于DedeCMS和Sphinx是各为独立程序或应认定为一个程序有不同意见。
GPLv2中规定“如果该作品的一部分并非程序的衍生作品,并且可以被合理地视为独立的,是不同的作品,则当您将其作为独立作品分发时,本许可证及其条款不适用于这些部分。但是,当您将这部分作为基于程序的作品的整体的一部分进行分发时,整体的分发必须根据本许可证的条款进行,许可证对其他被许可人的权限将扩展到整体,从而扩展到每个部分,无论是谁编写的。
因此,该条款的意图不在于索取权利或质疑您对完全由您撰写的作品的权利;相反,其目的是行使控制基于该计划的衍生作品或集体作品发行的权利。
此外,仅将非基于程序的其他作品与程序(或基于程序的作品)聚合在存储或分发介质的卷上,并不将其他作品纳入本许可的范围。”26上述条款中提到了“mereaggregation”和“combiningtwomodulesintooneprogram”两个概念,GNU也承认这是一个法律问题,最终由法官决定。27
无锡市中级人民法院经审理认为:28sphinxclient.class.php是位于涉案软件\Package\uploads\include\目录下的文件,其为Sphinx搜索引擎的PHPAPI客户端库文件,通过引用该代码文件能够实现与Sphinx服务器进行交互,实现对通过权利软件发布文章的全文搜索功能。涉案软件sphinxclient与涉案软件其余部分的通信方式是程序内部的调用并非程序间的通信,故无法认定二者各为独立程序,二者应当认定为一个大程序的两个组合部分。特别说明的是,卓某公司已经将sphinxclient库集成于涉案软件中并以整体形式发布,该sphinxclient库处于随时可以调用的状态,应当认定该涉案软件的其他部分与sphinxclient库构成连接、二者组成了一个整体;虽然正常使用全文搜索功能还需要用户对sphinx服务器进行额外的配置,但这并不能导致涉案软件无需适用GPL许可,况且涉案软件的正常使用本就需要对数据库、Web服务器进行额外配置,这些配置操作对本领域技术人员而言是易于实现的。综上,涉案软件在发布时是在包含sphinxclient基础上进行整体发布的,卓某公司也并未提供证据证明涉案软件的其他部分与sphinxclient各自独立,涉案软件应当受GPL约束,应当允许第三方在GPL协议约束下使用,并不得主张授权费用。
南京市中级人民法院经审理认为:29一方面,从sphinxclient.class.php文件的性质及在DedecmsV5.7版本软件中的作用看。该文件为Sphinx搜索引擎的客户端接口文件,而非Sphinx搜索引擎的服务端程序。对该接口文件调用的默认用户配置是“否”,即不打开用户配置时,DedecmsV5.7软件可以使用自有的搜索功能;若需要使用Sphinx搜索功能,则用户须自行下载安装Sphinx搜索引擎服务端程序,且打开用户配置后才能实现,否则即便调用Sphinx搜索引擎服务,也没有任何搜索结果反馈。因此,DedecmsV5.7软件在功能上不受sphinxclient.class.php接口文件的影响,系与Sphinx搜索引擎服务端程序独立的程序,不能仅因DedecmsV5.7软件设置了Sphinx搜索引擎的接口文件就机械地认定DedecmsV5.7软件系“部分包含了该程式的派生作品”。另一方面,从行业内API软件的开发用途上看。集成他人的API并使用相关用户协议进行免责,是软件开发行业普遍的现象,也可以推广API对应的主程序获得更多使用者。DedecmsV5.7软件与其集成的sphinxclient.class.php接口文件之间不具有派生性的关系,不宜认定为“全部或部分包含了该程式的派生作品”。此外,对于GPL协议的传染性,开源软件所能传染的衍生软件或修订版本以形成其派生作品,应当是与开源软件形成密切通信使得二者高度牵连融合成一体的程序,而非只要有数据交换就会构成传染。仅包含默认Sphinx搜索引擎接口文件的DedecmsV5.7软件,并无法实现与接口文件或者Sphinx搜索引擎服务端程序的密切通信。综上,不应认定DedecmsV5.7版本软件受GPLV2.0开源声明的约束。
不同法院对争议较大的GPL开源协议做出了不同的认定,两案件当事人均提出上诉,上诉至江苏省高级人民法院进行二审审理。
六、结语
随着计算机技术的快速发展及在各行业的广泛应用,司法实践中涉及计算机软件侵权的案件日益增长。权利人需要明确权利基础,采取多种合法途径全面固定侵权证据,维护好自己的权利。与此同时,法院对此类案件的审理也面临各类层出不穷的新问题、新挑战。如何更有效、准确地对计算机软件的知识产权进行保护,还需要通过案件审判不断加以探索和检验。