源代码比对不能场景下软件著作权侵权技术比对的替代法

专栏
活动
快讯
产品
解读

沈浩、赵心茹、陈洁丨安杰世泽律师事务所

一、引言
在软件著作权侵权案件中,源代码比对长期被视为侵权认定的“黄金标准”。然而中国裁判文书网公开信息表明,在司法实践中,因源代码比对存在客观困难导致举证受阻的情形已成为此类案件审理中较为突出的技术性难题。根据法官不得拒绝裁判原则,司法必须回应此源代码比对不能的场景,必须解决技术比对的事实查明问题。
此类源代码比对不能的场景,例如固件中(嵌入式)的软件系统,常常以目标代码烧录入存储器的形态存在。在笔者团队代理的某固件软件侵权纠纷中就遇到此认定难题,最高法院最终认为,当被诉侵权行为涉及复制芯片中的固化十六进制代码并发行计算机软件时,若难以通过源代码对比判断实质性相似,则可通过芯片中十六进制代码对比来解决实质性相似判断的问题。
在源代码比对不能的场景,司法通过依赖目标代码(二进制、十六进制等)比对来替代解决技术事实查明问题,其他还主要包括反编译比对、技术特征比对等替代性解决法。然而,此类替代方法的适用仍面临技术可靠性争议与法律标准不统一等问题,为应对这一困境,本文通过分析研究典型案例的技术论证路径,系统评估不同比对方法的效力边界,进而通过实证分析揭示现存问题,最终基于典型案例提炼判例规则,以期解决这一软著侵权比对的司法异质性问题。
二、非源代码比对在软件著作权侵权认定中的理据
作为判定著作权侵权的一项核心司法工具,实质性相似是指通过对权利人主张权利的作品与被控侵权作品进行比对,判断两者在表达上的相似程度是否达到实质性的标准。[1]结合著作权法的基本原理以及计算机软件的特殊性,笔者认为,软件实质性相似的判定应涵盖以下两个层面的含义:从比对对象的角度来看,实质性相似主要关注权利人主张的软件与被控侵权软件在独创性表达上的相似性;[2]从比对范围的角度来看,软件实质性相似包括文字部分的相似和非文字部分的相似。[3]
这一双层认定框架本质上根植于《计算机软件保护条例》的立法本义,从法律解释论出发,《条例》第3条[4]将“程序”定义为“指令序列”而非仅限于源代码,为结构性要素例如架构、接口设计和表达性要素如UI布局、运行逻辑的保护提供规范基础,体现了对“表达形式多样性”的立法精神。从技术层面来看,现代软件开发的分层抽象与编译优化导致源代码与可执行文件的非对称性,使得单纯代码比对可能掩盖实质性侵权;同时,模块化开发模式下,侵权者可通过代码重构规避文字性比对,而软件功能流程、数据结构等非代码要素反而更具侵权识别价值。从司法实践上来看,比较法实践例如美国“Altai案”[5]的三步检验法与我国典型案例共同表明,非源代码比对方式能够填补“思想/表达二分法”在复杂软件侵权认定中的适用漏洞,其方法论本质是对“接触+实质性相似”规则的动态调适,既避免过度保护技术思想,又能有效遏制“换皮式”侵权。这一理论建构不仅回应了产业界对侵权判定的可操作性需求,亦为《著作权法》第三次修订后“视听作品”等新型客体的保护提供了类比适用的法理支点。
三、非源代码比对的事实认定模式:基于典型案例的类型化分析
我国现行法律法规及司法解释尚未对非源代码比对问题作出明确规定,但通过对既有司法判例的系统梳理与实证分析,可以归纳总结出以下几种具有实践指导意义的比对方法:
(一)静态代码层——目标代码二进制一致性的直接比对模式
固件代码通常存储在硬件设备的非易失性存储器(如ROM、Flash、EEPROM)中,用于控制硬件的基本功能,是嵌入式系统的“软件+硬件”混合体。一般而言,固件代码相似性判定通常以双方源代码的比对作为首要依据。然而,由于诉讼过程中获取被控侵权方源代码存在显著困难,加之双方可能采用不同的编程语言(如C语言与汇编语言),导致源代码直接比对难以实施。在此情形下,通过提取被控侵权方计算机系统或其他硬件设备中的目标代码进行比对,已成为软件侵权认定的重要技术路径。[6]目标代码通常以机器可直接识别的二进制代码表示,是最低层次的计算机语言,如0101110010101010,一个“0”或“1”表示有或无一个电荷,称为一个“位”。[7]一个“字节”是一串8个二进字符(例如:“01101001”)。一个“字”是一个占用一个存储位置的“字符组”,由计算机电路作为一个单位处理和传送。[8]
从编译原理的角度分析,在相同编译环境下,特定源代码与目标代码之间存在唯一对应关系。尽管从理论上讲,相同目标代码可能源自不同的源代码,但这种概率极低,且在司法实践中尚未发现相关实例。若被控侵权方主张相同目标代码系由不同源代码编译生成,则应承担相应的证明责任。因此,在缺乏相反证据的情况下,当双方软件目标代码完全一致时,应当认定软件构成相同;若目标代码存在实质性相似并辅以其他证据支持,则可直接认定软件构成实质性相似。上述技术路径的司法适用性在以下典型案例中得到充分体现:
案例1:凌通科技股份有限公司诉无锡中微爱芯电子有限公司侵害计算机软件著作权纠纷案[9]
在二审过程中,法院当庭提取了中微公司AiP8F7132芯片内的启动代码,该代码以十六进制编译后的目标代码形式呈现。将被诉侵权启动代码与涉案权利启动代码进行对比,第1-3行(即000h-0020h)代码完全一致,且代码除少量“FF”以外,其他均为有数据的代码……经比对,被诉侵权启动代码与涉案权利启动代码在功能设定区域(前三行代码)完全一致,基于此,最高人民法院认定被诉侵权启动代码与涉案权利启动代码构成实质性相似,从而支持了侵权成立的判决。

图1-被诉侵权的启动代码1

图2-被诉侵权的启动代码2

图3-涉案专利的启动代码
在该案中,最高人民法院在该案中明确指出,所谓软件相似,既包括源程序相似,亦包括目标程序相似。在被诉侵权行为涉及复制芯片中的固化十六进制代码并发行计算机软件情形下,难以通过计算机软件源代码对比的方式判断实质性相似,但是可通过对芯片中十六进制代码对比的方式,解决计算机软件实质性相似判断问题。
案例2:罗开玉等人侵犯著作权案[10]
将登记号为“2015SR003215”的软件著作权的软件源代码经编译生成的ROM数据与其型号为9700芯片的ROM数据相比对,两ROM层数据信息相似度99.998%,友芯公司的GDS文件中ROM层信息与和芯润德公司9700芯片的GDS文件ROM层信息相似度为99.998%,均只有4位数据不同(共计有13万多个数据信息位置)。
在本案中,法院认为,虽然固件程序固化在ROM中,但其本质仍是“可以由计算机等具有信息处理能力的装置执行的代码化指令序列”,法院创造性地指出,在刑事案件中,即使没有进行源代码比对或不可能进行源代码比对,只要目标程序比对一致,且综合考虑全案事实能够排除合理怀疑,就可以认定复制行为存在。
案例3:因泰莱公司诉远征科技公司、远征软件公司等侵犯计算机软件著作权纠纷案[11]
由于从涉案产品芯片中只能读出二进制代码,与电子版源程序分属不同表达方式,无法进行直接对比,故而将从被控侵权YZ100-SB产品芯片中读出的二进制代码与因泰莱公司PA100产品芯片中读出的二进制代码对比具备合理性,经对比,两者一致率达95%以上,因此法院认定关于被诉侵权软件与涉案软件构成实质性相似。
本案中,法院认为,“嵌入式软件源程序可以采用包括汇编语言、C语言在内的多种语言编写,并不能仅以编写语言的不同即得出软件不同的结论,相反,在二进制代码实质相同的情形下,存在用不同语言编写的源程序的可能性极小。”
(二)逆向工程层——反编译代码的逻辑等效性比对模式
反编译,亦称反向编译,是指通过对他人软件的目标程序(如可执行程序)进行逆向分析与研究,旨在推导出该软件的设计思路、原理、结构、算法、处理流程及运行机制等核心要素。该比对方法存在一定的局限性,主要适用于C#、Java及部分脚本语言编写的软件。对于C语言等编写的软件,反编译后通常得到的是汇编语言,其可读性较差,难以直接用于比对分析。此外,反编译生成的代码与正常开发的源代码存在显著差异,这是由于编译过程中编译器对源代码进行了优化和处理,因此,基于反编译的程序比对,通常侧重于程序逻辑和缺陷的分析与判断。司法实践中,最高人民法院已通过多个案例认可了反编译代码在软件著作权侵权认定中的证据效力。
案例4:江苏擎天信息科技有限公司与南京云松信息技术有限公司、张京等侵害计算机软件著作权纠纷案[12]
对安装包进行反编译之后:
发现相同的异常处理模块:“两软件的异常处理模块中均出现publicstaticuintFileHeader=0x35333045,其中0x35333045是算法公钥的数值,是一个16进制的ASCII码,此异常处理模块是擎天公司开发的一个成熟且相对独立的模块,在擎天公司之后的以c-sharp语言开发的软件中多次使用。
(2)在涉嫌侵权的软件中发现权利方的版权标识安装包安装后的JimiKing.NetWork.dll及JimiKing.Encoder.dll反编译的结果中均显示有“版权所有©2009”“Sky Tech Inc. All rights reserved”“江苏擎天信息科技有限公司”“SkyTechInc”等擎天公司版权信息。
在被告未提供源代码的情况下,通过反编译产生的源代码进行比对可称为定性的关键证据。该案中,法院认为“反编译后,源程序也会发生变化,故一审法院对云松无线系统和云松异构系统相同的比例不做定量认定。”同时认为“由于云松公司等无法提供被控侵权软件登记时的源代码版本,故一审法院只能组织双方当事人,就法院保全到的被控侵权软件可执行程序反编译至源代码形式,再与擎天公司主张权利软件的源代码进行对比勘验,后一审法院在前述比对的基础上,结合云松公司电脑中存在擎天公司涉案软件源程序等事实,认定被控侵权软件侵犯了擎天公司涉案软件著作权。”
案例5:北京青檬网络科技有限公司与金华锦尚科技有限公司侵害计算机软件著作权纠纷案[13]
虽然青檬公司主张其软件已经过加固保护不被反编译,但鉴定机构通过脱壳技术成功提取了被诉侵权软件反编译后的源代码,并与权利软件的源代码进行了比对。结果显示,在502个比对文件中,程序逻辑相似度达100%的文件有298个,相似度90%至100%的文件42个,80%至90%的文件62个,基于上述高度相似的比对结果,法院认定被诉侵权软件与权利软件构成实质相似的可能性较高。
案例6:南京未来高新技术有限公司、江苏云蜻蜓信息科技有限公司等侵害计算机软件著作权纠纷案[14]
通过反编译软件ILSpy对云蜻蜓安装文件进行反编译,将获得代码后与未来公司提交的未来SVN源代码中的核心功能文件进行逐行比对,总体相似度是77.73%,但云蜻蜓公司不认可上述比对结果,认为未来公司反编译后的代码与其反编译后的代码存在明显差别,两者的大小存在明显差异且无法反应涉案软件的整体相似度。对此,法院认为,云蜻蜓安装文件反编译后出现未来公司专有信息(如名称、授权码等)及大量与涉案软件相同的文件名,且两软件界面布局高度相似。未来公司已提交源代码,而云蜻蜓公司拒不提供被诉软件源代码,应承担举证不利后果。综上,根据现有证据可以认定被诉侵权的云蜻蜓安装文件与未来公司主张权利的涉案软件实质性相似的比例较高。
案例5-6表明,即便软件经过加固处理,通过反编译技术仍可能提取关键代码并进行有效比对。同时,法院在判断软件侵权时,不仅关注代码的文本相似性,更注重程序逻辑的一致性,从而为类似案件提供了重要的司法实践参考。
(三)动态运行层——缺陷偶同与安装特征比对模式
1.软件缺陷偶同性的间接推定
软件缺陷(Software Defect)是指计算机软件或程序中存在的、影响其正常运行的问题、错误或潜在的功能缺陷。这类缺陷的产生主要源于软件产品的特性及其开发过程的复杂性。[15]在软件开发过程中,由于功能实现的复杂性、开发人员的技术局限性,以及运行环境的动态变化,软件缺陷几乎不可避免。此外,软件缺陷的出现具有显著的偶然性和个体差异性——不同开发人员编写的代码可能引入不同的缺陷,同一软件的不同版本也可能在修复旧缺陷的同时引入新缺陷。正因如此,不同软件之间出现相同缺陷的概率极低,这一特性使其成为软件相似性鉴定的重要依据。在司法实践中,软件缺陷的比对已被证明是一种有效的鉴定手段,特别是在无法获取源代码或目标代码的情况下。
案例7:石鸿林诉泰州市华仁电子资讯有限公司著作权侵权纠纷案[16]
经鉴定发现,涉案的HX-Z和HR-Z型控制器不仅在加电运行时存在相同的特征性缺陷,其使用说明书、整体外观和布局也高度相似。且经法院多次释明,华仁公司始终拒绝提供被控侵权的HR-Z软件的源程序以供比对。法院认为,在被告拒绝提供被控侵权软件的源程序和目标程序,且由于技术上的限制,无法从被控侵权产品中直接读出目标程序的情形下,如果原、被告软件在设计缺陷方面基本相同,而被告又无正当理由拒绝提供源程序或者目标程序以供直接比对,则考虑到原告的客观举证难度,可以判定原、被告计算机软件构成实质相同,由被告承担侵权责任。
该案中,法院明确指出:“根据计算机软件设计的一般性原理,在独立完成设计的情况下,不同软件之间出现相同的软件缺陷机率极小。”这一判例充分印证了软件缺陷在侵权认定中的特殊价值:当两款软件存在相同缺陷时,其实质性相似的概率显著增大。因此,在软件著作权侵权判定中,软件缺陷的比对可与其他证据(如功能特征、文档相似性等)形成互补,为司法鉴定提供强有力的技术支持。尤其在仅能基于可执行文件分析的场景下,缺陷比对往往能揭示出代码层面的实质性相似,成为突破举证困境的关键手段。
2.软件安装目录、流程的表面相似性比对
该种比对方式一般包括对比存储双方软件的光盘内容,如目录、文件数量、名称及文件大小;对比原、被告软件安装过程的屏幕显示内容,如提示信息、安装流程等以及原、被告软件安装后的运行状况,如运行提示、帮助信息等。[17]该方式适合需要安装的软件,一般情况下,软件的安装过程,包含了复制文件的过程,通常包括软件的目标程序、库文件资源文件等内容。因此上述比对项目的相似程度越高,软件实质性相同的可能性也越大。
案例8:新思科技有限公司、武汉芯动科技有限公司侵害计算机软件著作权纠纷案[18]
本案中,新思公司向原审法院申请诉前证据保全,并使用命令探查方式固定芯动公司相关计算机和服务器的使用状态。根据保全结果可知,芯动公司的电脑中存在与新思公司涉案计算机软件的名称、目录结构、错误信息等方面均相同的软件信息,显示芯动公司存在侵犯新思公司计算机软件著作权的可能。芯动公司虽否认其使用新思公司软件,但一审及本院二审期间均未能对命令探查中发现的计算机软件标注的著作权人为新思公司作合理解释。因此结合现有在案证据和已查明事实,原审法院认定芯动公司存在侵害新思公司涉案软件著作权的行为,并无不当。
本案中,法院基于原被告计算机软件的名称、目录结构相似,进而作为判定实质性相似的重要依据,但通常情况下,上述项目雷同只是一种表面现象,如果被告坚持要求进行软件程序对比的,则并不能仅凭此即认定软件构成实质性相同,仍需进一步对比软件的源程序或目标程序。
(四)局部外观层——用户界面独创性比对模式
我国《计算机软件保护条例》第六条规定:“本条例对软件著作权的保护不延及开发软件所用的思想、处理过程、操作方法或者数学概念等。”这一规定明确体现了著作权法“思想与表达二分法”的基本原则,即著作权仅保护具有独创性的表达形式,而不保护其背后的思想观念、技术方案或功能性内容。然而,在司法实践中,当特定创意与软件界面设计紧密结合时,若该界面设计能够体现足够的独创性表达,则可能作为汇编作品获得著作权保护。此外,对于软件中具有创新性的算法,虽然难以通过著作权进行保护,但权利人可依据《反不正当竞争法》等相关法律法规,主张其作为技术秘密获得法律保护。这种保护模式的多元化,体现了知识产权法律体系对不同类型智力成果的差异化保护机制。
案例9:北京某网络科技公司诉长沙某信息科技公司侵害计算机软件著作权纠纷案[19]
双方当事人均确认被诉侵权游戏已经下架,长沙某信息科技公司主张该游戏系案外人上传且已经删除因而无法提交被诉侵权游戏软件的代码,故本案不存在代码对比的基础,需要通过在案证据的分析对比和查明的事实等判断软件是否相同或实质性相似。虽然,从技术上而言,相同或基本一致的操作界面、人物形象、故事情节等外在表达可以通过不同的计算机软件程序代码实现,但结合游戏软件的用途和特点,两个各自独立开发的游戏软件,其操作界面、人物形象、故事情节等相同或基本一致的可能性较小。长沙某信息科技公司认可被诉侵权游戏和北京某网络科技公司的权利游戏的操作界面、人物形象、故事情节等基本一致。故在长沙某信息科技公司无法提供证据证明被诉侵权软件与权利软件不同或者实质性差异的情况下,可以推定两者构成实质性相似。
在本案中,法院指出,代码比对并非判断计算机软件著作权侵权的必要环节。在无法进行软件代码比对时,网络游戏软件实质性相似的判断可以结合游戏软件的用途和特点,从被诉侵权游戏软件与权利软件在标题、简介信息、操作界面、人物形象、故事情节、商业标识等方面的一致性综合分析判断。
(五)数据架构层——基于数据库与数据逻辑的独创性比对模式
数据库作为数据存储的核心载体,其存储容量可轻松容纳百万至亿级数据记录。不同于简单的数据堆积,数据库采用特定的组织结构来确保高效查询,这种组织架构即为数据库结构。[20]数据库结构设计涵盖表结构、视图、图表和函数等要素,其中表结构作为基础单元,包含表名、字段定义、数据类型(如int、float、char等)、长度限制及默认值等配置细节。不同软件即使基于相同开源模板,也会在表启用策略、命名规范和具体参数设计上呈现独特差异。数据库结构同样具有偶然性,对其进行比对也能在一定程度上帮助法官判定软件是否存在著作权侵权行为。
案例10:北京元图智慧科技有限公司、刘桥喜等侵害计算机软件著作权纠纷案[21]
被诉软件与权利软件在选项和参数选择设置、数据库信息等方面存在相同处,且元图公司未能提供独立开发证据。元图公司的服务器硬盘损坏导致无法提供被诉软件源代码,但这一理由不足以影响侵权认定。法院还指出,元图公司未能提供被诉软件源代码的证据,因此无法证明被诉软件是其独立开发的。基于上述事实,法院确认刘桥喜等人与元图公司侵害了龙软公司的计算机软件著作权。
基于本案可知,在计算机软件著作权侵权认定中,数据结构相似性虽可作为判断程序实质性相似的重要参考因素,但其本身并不构成直接判定依据。该要素的主要法律价值在于强化裁判者对侵权事实的内心确信程度,需结合其他技术特征和法律规定进行综合判断。
(六)非源代码比对路径的司法适用性对比分析
通过对典型案例的实证分析,非源代码比对路径的司法适用呈现“技术场景差异化—证明力层次化—裁判逻辑互补化”的立体特征,具体路径比对如下表1所示。在技术层面,静态代码层的目标程序二进制比对(案例1-3)因编译确定性而具有直接证明力,但需排除不同编译器导致的输出差异;逆向工程层的反编译逻辑比对(案例4-6)适用于高级语言软件,但受限于代码混淆与反编译失真;动态运行层的缺陷偶同分析(案例7)与安装特征比对(案例8)通过功能性缺陷或流程异常间接推定侵权,其证明力取决于特征的独特性与行业惯例;视觉表达层的界面设计比对(案例9)和数据架构层的数据库结构分析(案例10)则作为辅助路径,在界面独创性高或数据结构定制化时增强心证。司法实践中,法院通过“直接证据优先、间接证据补强、证明责任倒置”的递进规则,构建了多路径协同的认定体系:当存在二进制一致或反编译核心逻辑相同(相似度>90%)时可直接认定侵权;对间接证据(如缺陷相同、数据库结构雷同)则需结合开发轨迹、接触可能性等综合判断,形成“技术特征—法律要件—举证分配”三位一体的裁判方法论。
|
技术比对模式 |
证明力强度 |
技术可行性 |
主要适用范围 |
典型案例 |
|
目标代码二进制一致性比对 |
强(直接证据) |
高(需相同编译环境) |
固件、嵌入式系统、芯片软件 |
案例1(凌通科技案)、案例3(因泰莱案) |
|
反编译代码逻辑等效性比对 |
较强(间接推定) |
中(依赖反编译工具) |
C#、Java等可反编译语言 |
案例4(擎天案)、案例5(青檬案) |
|
软件缺陷偶同性间接推定 |
中等(需排除合理怀疑) |
低(需缺陷特征提取) |
无法获取代码的硬件设备、加密软件 |
案例7(石鸿林案) |
|
安装与运行特征表面相似性比对 |
弱(辅助证据) |
高(直观比对) |
需安装的通用软件(如办公软件、游戏) |
案例8(新思科技案) |
|
局部外观-用户界面独创性表达比对 |
较弱(需独创性证明) |
中(界面设计分析) |
图形化软件、游戏、交互系统 |
案例9(北京某网络科技案) |
|
数据库结构与数据逻辑比对 |
中等(需独创性设计) |
高(SQL解析工具) |
数据库依赖型软件(如ERP、金融系统) |
案例10(元图智慧科技 |
表1-非源代码技术比对模式的对比表
四、非源代码比对的证据规则替代性解决法:基于证明妨碍与推定规则的实证考察
软件著作权侵权诉讼作为民事诉讼的一种,证明责任的分配当然遵循民事诉讼的基本法律原则。根据《最高人民法院关于适用〈中华人民共和国民事诉讼法〉的解释》第九十条之规定[22],民事诉讼遵循“谁主张,谁举证”的基本原则,诉讼当事人对其主张所依据的事实承担证明责任,除非法律另有特别规定。同时,该司法解释第一百零八条第一款[23]确立了“高度盖然性”的证明标准,要求承担证明责任的当事人所提供的证据,必须达到能够使审理法院对相关待证事实的存在形成内心确信的程度。[24]
尽管“谁主张谁举证”作为民事诉讼的基本证明规则具有普适性,但在知识产权诉讼领域,权利人在证据收集与举证环节往往面临显著困难。权利人通常需要提供自身软件的源程序代码,同时还需提交被诉侵权软件的相应程序作为侵权证据。[25]然而,司法实践中往往权利人难以获取被诉侵权方的源程序,有时甚至因技术限制无法从侵权产品中提取目标程序,这就导致其难以完成举证责任。那么,在此类举证不能的情况下,完全机械地适用举证责任规则可能会导致实质不公平。[26]为有效纾解知识产权维权过程中的“举证难”困局,司法机关应当综合评估各方当事人对关键证据的掌控程度、举证成本差异等变量,在个案中动态调整证明责任分配,避免对形式化举证规则的僵化适用。[27]
最高人民法院《关于民事诉讼证据的若干规定》第九十五条[28]确立了证明妨碍制度,规定当一方当事人无正当理由拒不提交其控制的证据,且该证据内容可能对其产生不利影响时,人民法院可推定对方当事人关于该证据内容的主张成立。与此相呼应,《关于知识产权民事诉讼证据的若干规定》第二十五条[29]进一步明确,在当事人拒不提交、提交虚假证据或实施其他妨碍证据使用行为时,法院可推定对方当事人就相关证明事项的主张成立。实务中,上述证据运用方法在大量的软件著作权案件中得以运用。
案例11:商乐松公司诉威海常青高尔夫练习场有限公司案[30]
法院在对被控侵权软件进行证据保全期间,被告存在妨碍取证的行为,导致保全的软件不完整进而无法进行源代码的比对,法院责令被告提交软件源代码及目标代码,以及被告独立创作或得到合法授权的相关证据,但被告未能提交,通过将原告软件运行画面与被控侵权软件进行比对,画面设定、背景音乐等多个方面均高度近似,法院认为,被告在其侵犯了涉案软件著作权。
案例12:金精盈资讯股份有限公司与上海高英信息技术有限公司、杭州锋速投资咨询有限公司著作权权属、侵权纠纷案[31]
本案鉴于软件源程序的秘密性和易修改性,在双方当事人对证据进行质证前,需要对双方当事人的软件源程序予以固定。对此法院在二审期间已向高英公司释明,然而高英公司仍然以金精盈公司提交的源程序未交由其质证、权利基础不明确为由,坚持拒绝提供其公司掌握的“四方力道能量导航”软件的源程序。对此法院认为,由于高英公司拒绝提交侵权软件源程序,导致无法固定源程序,因此认定高英公司侵害了金精盈公司的软件著作权,应承担相应民事责任。
由上述案例可知,在计算机软件著作权侵权案件中,当权利人因客观原因无法获取被诉侵权软件的源程序及目标程序时,法院可依据证明妨碍规则进行举证责任分配。[32]具体适用路径如下:首先,权利人应当完成初步举证责任,通过证明被诉侵权软件与权利软件在用户界面表现形式、运行结果输出、数据结构设计、软件命名规则、文件目录结构、权利管理信息、特有功能特征、固有程序缺陷等方面存在相似性,进而初步证明两款软件之间存在关联性。在权利人完成上述举证后,举证责任即发生转移,由被诉侵权人就其未实施侵权行为提供反证。其次,若被诉侵权人无正当理由拒绝提供软件源代码或目标代码进行直接比对,则构成典型的证明妨碍行为。根据证据规则,法院可依据《关于民事诉讼证据的若干规定》第九十五条之规定,推定两款软件构成实质性相似,从而作出对被诉侵权人不利的事实认定。这种证明责任分配机制有效平衡了双方当事人的举证能力差异,体现了知识产权保护中“强保护”的司法政策导向。
结语
在软件著作权侵权案件中,当源代码比对不可行时,各类非源代码比对方法均展现出独特的适用价值与局限性。目标代码比对在相同编译环境下具有最高证明力,其二进制一致性可形成直接侵权证据,尤其适用于固件和嵌入式系统,但需排除不同编译器导致的输出差异;反编译分析适用于C#、Java等高级语言软件,能有效还原程序逻辑结构,但对混淆代码的解析仍存在技术瓶颈,且反编译结果与原始源代码的对应关系需谨慎评估;软件缺陷偶同检测作为间接证据,在界面雷同、安装特征相似等表面证据的基础上,可强化侵权推定的合理性,但其证明力高度依赖缺陷的独特性和排他性;用户界面和数据库结构比对则作为辅助手段,在表达具有显著独创性时能有效补强心证。
通过构建“技术特征——法律要件——证明责任”的动态认定体系,不仅可司法上解决“源代码比对不能”的事实查明难题,更可在立法论上拓展著作权法在数字时代的适应性发展。未来,随着编译技术、反混淆工具的发展,非源代码比对的精确性将进一步提升,但其司法适用仍需以“表达独创性”为边界,避免滑入对功能性内容的过度保护。
注 释:

向上滑动阅览
[1] 吴汉东:《试论“实质性相似+接触”的侵权认定规则》,载《法学》2015年08期,第63页。
[2] 宋健、顾韬:计宜机软件得权认定之下问预论术民司法》,载《人民司法》2014年第13期,第85页。
[3] 陈锦川:《著作权审判:原理解读与实务指导》,载《法律出版社》2014年版,第106页。
[4] 《计算机软件保护条例》第三条 本条例下列用语的含义:(一)计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。同一计算机程序的源程序和目标程序为同一作品。(二)文档,是指用来描述程序的内容、组成、设计、功能规格、开发情况、测试结果及使用方法的文字资料和图表等,如程序设计说明书、流程图、用户手册等。
[5] Computer Associates International, Inc. v. Altai, Inc., 982 F.2d 693 (2d Cir. 1992).
[6] 李维:《浅析计算机软件著作权技术鉴定》,载《科技与法律》2008年第6期,第61页。
[7] [美]罗伯特·P·墨杰斯:《新技术时代的知识产权法》,齐筠等译,中国政法大学出版社2003年版,第706页。
[8] C·西皮尔和R·西皮尔(C. Sipple &R. Sipple)著的《计算机字典与手册》(第三版,1980)[Computer Dictionary and Handbook 616 (3d ed. 1980)]
[9] 最高人民法院(2023)最高法知民终3167号民事判决书。
[10] 深圳市中级人民法院(2016)粤03刑终1126号民事判决书。
[11] 江苏省高级人民法院(2008)苏民三终字第0079号民事判决书。
[12] 江苏省高级人民法院(2016)苏民终1554号民事判决书。
[13] 最高人民法院(2021)最高法知民终1358号民事判决书。
[14] 最高人民法院(2021)最高法知民终406号民事判决书。
[15] 参见朱小燕,曲俊燕:《浅析软件缺陷的问题》,载《无线互联科技》2013年4期。
[16] 江苏省高级人民法院(2007)苏民三终字第0018号民事判决书。
[17] 北京市第一中级人民法院知识产权庭:《知识产权审判分类案件综述》,知识产权出版社2008年版,第53页。
[18] 参见最高人民法院(2020)最高法知民终1138号民事判决书。
[19] 参见最高人民法院(2023)最高法知民终1148号民事判决书。
[20] 参见徐晨昊:《探究关系型数据库》,载《通讯世界》2019年1期。
[21] 参见最高人民法院(2020)最高法知民终1639号民事判决书。
[22] 最高人民法院关于适用《中华人民共和国民事诉讼法》解释第九十条 当事人对自己提出的诉讼请求所依据的事实或者反驳对方诉讼请求所依据的事实,应当提供证据加以证明,但法律另有规定的除外。在作出判决前,当事人未能提供证据或者证据不足以证明其事实主张的,由负有举证证明责任的当事人承担不利的后果。
[23] 最高人民法院关于适用《中华人民共和国民事诉讼法》解释第一百零八条 对负有举证证明责任的当事人提供的证据,人民法院经审查并结合相关事实,确信待证事实的存在具有高度可能性的,应当认定该事实存在。对一方当事人为反驳负有举证证明责任的当事人所主张事实而提供的证据,人民法院经审查并结合相关事实,认为待证事实真伪不明的,应当认定该事实不存在。法律对于待证事实所应达到的证明标准另有规定的,从其规定。
[24] 参见林广海、李健、吴蓉:《<最高人民法院关于知识产权民事诉讼若干证据>的理解与适用》,载《法律适用》,2021年第4期。
[25] 何暄:《举证责任转移的适用条件问题研究——从知识产权民事诉讼举证责任分配原则谈起》,载《电子知识产权》2015年第12期,第40页。
[26] 傅钢:《合理分配软件侵权案件中的举证责任》,载《电子知识产权》2003年第10期,第26页。
[27] 何暄:《举证责任转移的适用条件问题研究——从知识产权民事诉讼举证责任分配原则谈起》,《电子知识产权》2015年第12期,第47页。
[28] 参见最高人民法院关于民事诉讼证据的若干规定第九十五条 一方当事人控制证据无正当理由拒不提交,对待证事实负有举证责任的当事人主张该证据的内容不利于控制人的,人民法院可以认定该主张成立。
[29] 参见最高人民法院关于知识产权民事诉讼证据的若干规定第二十五条 人民法院依法要求当事人提交有关证据,其无正当理由拒不提交、提交虚假证据、毁灭证据或者实施其他致使证据不能使用行为的,人民法院可以推定对方当事人就该证据所涉证明事项的主张成立。
[30] 参见青岛知识产权法庭2021年知识产权司法保护十个典型案件。
[31] 浙江省高级人民法院(2013)浙知终字第22号民事判决书。
[32] 程春华:《举证责任分配、举证责任倒置与举证责任转移——以民事诉讼为考察范围》,载《现代法学》2008年第2期,第104页。
作者介绍

沈浩
合伙人、法学博士
安杰世泽律师事务所
shenhao@anjielaw.com
业务领域:知识产权与反不正当竞争、争议解决、企业合规
沈律师在知识产权、商业秘密与反不正当竞争、重大疑难商事争议解决、公司治理与合规等领域有着丰富的执业经验。沈律师是LEGAL 500亚太榜单2023年知识产权特别推荐律师、2025年江苏区域特别推荐律师,他在知识产权与商事争议解决有着卓越的工作记录,入选最高人民法院发布年度典型知产案例(4件)、全国律协年度十佳知产案例、江苏等省级高院年度十大知产案例、南京等中级法院年度十大知产案例、南京律协年度十大知产案例等各权威机构年度典型案例20余件。他的法律工作获得包括大型国企、上市公司、高新科创企业家及科学家等客户的高度肯定。他还作为最高检民事行政咨询专家、教育部法学类硕博论文评审、高校知产学院兼职教授、仲裁委的知产仲裁规则等积极作出公益专业贡献,获得诸多权威机构的赞赏。

赵心茹
律师助理
安杰世泽律师事务所
业务领域:知识产权与反不正当竞争、争议解决

陈洁
资深律师
安杰世泽律师事务所
chenjie@anjielaw.com
业务领域:争议解决、知识产权与反不正当竞争、企业合规
陈律师专注知识产权与反不正当竞争、重大疑难复杂商事争议解决等领域,具备深厚的理论功底和丰富的实务经验,在最高人民法院、省高级人民法院再审及上诉案件代理方面表现突出,曾多次荣获中华全国律师协会、南京市律师协会知识产权年度十佳/优秀论文奖,获得南京市“2025年度知识产权法律专业律师”,代理的多起案例入选市级以上典型案例并被《商法》等权威法律评级机构收录报道。

识别二维码申请试用

知识产权实践指引
覆盖著作权、商标权、专利权、商业秘密等多个知产领域主题,通过司法大数据分析工具、最高院观点速查、全系列实务手册等多种形式的内容和功能,赋能用户对知识产权相关案例研究和诉讼策略优化,指导解决实践问题,提升知产管理效能。
夜雨聆风