打开网易新闻 查看精彩图片

软件著作权案件律师:侵权代码灭失且无法比对,不侵权

软件著作权人仍须证明接触和实质性相似,诉讼取证形成的代码不能替代侵权发生时的客观样本

阅读提示:本案是最高人民法院审理的一起网吧管理软件著作权纠纷。权利人主张前员工受竞争企业经营者引诱,将6组软件源代码上传至对方控制的云代码库,并由第三方程序员进行修改。案件的特殊之处在于,被指控于2022年3月16日前上传的代码已经被删除,之后留存在被告云账户中的6组代码,是前员工为配合权利人诉讼取证而重新上传并修改形成的。法院认为,计算机软件侵权原则上仍应遵循“接触+实质性相似”的判断标准;被诉代码灭失、无法直接比对时,聊天记录、情况说明、转账记录等间接证据必须达到侵权事实高度盖然的证明程度。诉讼取证活动人为形成的代码记录不能反向证明此前已经发生侵权,共同被告中一人的陈述也不能当然替代对其他主体侵权行为及意思联络的证明。

裁判要旨

权利人主张他人复制、修改计算机软件源代码,应当首先证明被诉方具有接触权利软件的可能,并证明权利软件与被诉软件构成相同或者实质性相似。被诉侵权源代码已经删除且权利人无法提交侵权行为发生时的代码样本,致使技术比对不能进行的,法院可以结合聊天记录、代码仓日志、文件传输记录、转账凭证、当事人陈述等其他证据进行综合判断,但这些证据应当达到侵权事实具有高度盖然性的证明程度。为配合权利人诉讼取证而重新上传、修改形成的代码,不属于被诉主体基于侵权意思联络实施的行为,不能作为证明此前侵权事实的替代样本。共同被告一方作出的陈述涉及其他被告时,还应结合其身份关系、陈述形成背景及其他证据审查,不能仅凭单方陈述认定共同侵权。

案情简介

1.成都某云公司主要从事网吧新零售系统研发和销售,主张其享有网吧管理、售卖、收银及供应链等6组软件源代码的著作权。案涉代码文件中标注了成都某云公司的版权信息,公司亦能够登录其云代码管理账户查看源代码。

2.陈某嘉曾在成都某云公司从事研发工作,于2022年3月办理离职,后又返回该公司。成都某云公司主张,陈某嘉受四川某贝公司经营者刘某源高薪引诱,将案涉源代码、客户资料及供应商资料提供给刘某源,并将代码上传至四川某贝公司的云代码管理账户。

3.微信记录显示,刘某源曾询问陈某嘉劳动合同中是否存在竞业限制,向其支付5000元,并提供企业云账户;聊天群中的程序员“何某”要求取得剩余系统源码和代码库权限,随后相关代码中出现将原软件名称替换为被诉软件名称的修改记录。

4.2022年3月16日,陈某嘉向成都某云公司出具情况说明,陈述其曾下载、上传、传输案涉代码,并说明刘某源及“何某”参与相关事项。同日,陈某嘉将此前上传的代码全部删除。其后,为配合成都某云公司固定证据,陈某嘉于3月17日重新向四川某贝公司的云账户上传6组代码,并在后续公证取证中登录、下载相关文件。

5.公证显示,四川某贝公司云账户中的6组代码仓创建于2022年3月17日。陈某嘉确认,公证取得的代码系其在出具情况说明后为配合诉讼取证重新上传。四川某贝公司、刘某源亦主张,该批代码并非此前开发形成的客观侵权成果,而是为本案取证形成。

6.一审法院认为,2022年3月16日前的被诉代码已经灭失,无法与权利代码进行比对;3月17日以后重新上传的代码又系为诉讼取证形成,不能作为认定侵权的依据,遂驳回成都某云公司的全部诉讼请求。最高人民法院二审认为现有证据未达到高度盖然性标准,驳回上诉,维持原判。

案件争议焦点

一、权利软件未办理或者未以权利人名义办理软件著作权登记时,能否根据源代码署名、实际控制和提交代码等事实认定权利主体?

二、被诉侵权源代码已经删除、无法进行技术比对时,聊天记录、情况说明、转账记录和代码仓操作日志应达到何种证明标准?

三、当事人为配合权利人提起诉讼而重新上传、修改形成的代码,能否作为证明此前侵权事实的被诉样本?

四、共同被告一方承认其曾下载、上传代码,但其他被告否认共同实施侵权时,能否仅凭该方陈述认定共同侵权?

五、案外程序员可能参与复制、修改代码但身份、受托关系及行为事实尚未查清时,能否据此认定在案被告承担共同侵权责任?

法院裁判观点

一、软件著作权归属可以根据源代码署名和控制事实认定

计算机软件著作权登记证书具有初步证明作用,但登记并非取得著作权的生效要件。本案案涉6组源代码标注成都某云公司版权信息,成都某云公司能够登录其代码管理账户查看并提交完整代码,足以形成其为权利人的初步证明。四川某贝公司虽然提出某关联公司名下登记有多个名称近似的软件,但仅凭软件名称不能证明登记软件与本案源代码属于同一作品,也不足以推翻源代码署名和实际控制所形成的权利推定。

软件案件中的权利基础审查应落实到具体代码版本,而非停留在产品名称。权利人应当说明开发主体、形成时间、版本号、代码仓路径、提交记录和作品署名,并将登记材料与诉讼中主张的源代码一一对应;被告主张权利归属他人,也应提出能够连接到相同代码内容的反证。

二、侵权判断仍以接触和实质性相似为基本框架

最高人民法院明确,计算机软件著作权侵权判断应当遵循“接触+实质性相似”标准。接触证据能够说明被诉方可能取得权利软件,但不能单独证明其复制了受保护表达;聊天中出现“源码”“权限”“修改名称”等内容,也不能自动替代对被诉代码内容的审查。原则上,法院仍需将权利软件与侵权行为发生时形成的被诉软件进行比对,判断二者是否相同或者构成实质性相似。

本案中,陈某嘉曾任研发人员,客观上具有接触案涉代码的条件,微信记录亦反映有关人员讨论代码库和修改事项,但2022年3月16日前的被诉代码已经删除,具体内容无法复原。缺少侵权时点的代码样本,意味着法院无法确认被复制的是成都某云公司主张的6组代码,亦无法区分合法开发、通用代码、独立编写与受保护表达之间的界限。

三、代码灭失时其他证据必须达到高度盖然性

被诉代码被删除并不意味着权利人当然败诉,也不意味着一律免除技术比对。法院可以转而审查代码仓提交日志、完整聊天上下文、文件哈希、压缩包内容、下载与上传记录、开发任务、版本发布、运行界面、数据库结构及当事人陈述等证据。只有当这些证据相互印证,能够使侵权事实达到高度盖然性时,才可能在缺少完整被诉代码的情况下作出侵权认定。

本案虽有5000元转账、云账户提供、开发群聊天及名称替换记录,但相关证据不能还原被诉软件在关键时间点的完整代码内容。已过期的压缩包无法打开,原代码仓又被删除,现有记录不足以证明四川某贝公司、刘某源、陈某嘉在2022年3月17日前共同复制、修改了与权利代码相同或者实质性相似的程序。由此产生的真伪不明,应由负有举证责任的权利人承担。

四、为诉讼取证重新上传的代码不能反向证明此前侵权

证据应当反映案件事实的自然形成过程。2022年3月17日出现在四川某贝公司云账户中的6组代码,是陈某嘉在出具情况说明、删除原有代码后,为协助成都某云公司取证而重新上传;此后还存在使用成都某云公司账号修改代码的记录。这些行为的直接目的在于形成诉讼证据,并非被诉主体基于开发、经营或者共同侵权意思联络实施。

因此,重新上传的代码即使与权利代码一致,也只能说明上传者取得并上传了权利代码,不能证明此前被删除的代码内容同样一致,更不能证明其他被告在此前参与复制、修改。取证者不能通过事后复制权利代码、制造新的代码仓记录,替代对历史侵权样本的保全。法院据此否定该批代码对先前侵权事实的证明力,体现了电子证据真实性、关联性和形成过程审查的重要性。

五、一方陈述不能当然证明其他共同被告侵权

陈某嘉在情况说明中承认其曾上传和传输代码,并将行为描述为与刘某源、四川某贝公司及“何某”共同实施。但刘某源和四川某贝公司否认该陈述,陈某嘉又在出具说明后返回成都某云公司工作,与权利人存在劳动和利益关系,其陈述形成的背景及证明力需要结合客观证据审查。

共同侵权不仅要求存在客观上的行为分工,还应证明各主体之间具有共同意思联络或者依法应对帮助、教唆行为负责。共同被告中一人对涉及他人的事实作出承认,不能当然约束其他被告。法院在代码无法比对、交付成果不存在、客观记录又不足以相互印证的情况下,未仅凭陈某嘉的单方陈述认定其他主体侵权。

六、案外人员事实不明时难以认定共同侵权

聊天记录显示,案外程序员“何某”曾要求取得代码权限,并在有关项目中进行修改。但“何某”未被列为当事人,其真实身份、与各方的委托或劳动关系、取得代码的具体来源、修改对象和行为目的均未查清。在基础侵权行为尚不明确的情况下,无法进一步判断刘某源、四川某贝公司或者陈某嘉是否构成教唆、帮助或共同实施。

法院指出,如成都某云公司日后能够取得新的证据证明其主张,可以另行寻求救济。这意味着本案裁判并非确认相关行为绝对合法,而是基于现有证据未达到民事诉讼证明标准作出的举证责任判断。

综上,最高人民法院认为,成都某云公司虽能够初步证明其对案涉6组软件代码享有权利,也能够证明相关人员具有接触代码并讨论开发的可能,但未能提交2022年3月17日前客观存在的被诉源代码。事后为诉讼取证重新上传的代码不能补足历史样本缺失,其他间接证据亦未形成高度盖然性的完整证据链,故驳回上诉,维持原判。

案例来源

《成都某云公司与四川某贝公司、刘某源等侵害计算机软件著作权纠纷二审判决书》〔案号:(2023)最高法知民终710号,裁判日期:2024年11月21日〕。

实战指南

一、发现代码泄露后应先保全原始状态再采取删除措施

权利人发现员工或合作方擅自下载、上传源代码时,应立即控制访问权限,但在删除、回滚或者要求对方下架前,应先以可信方式固定侵权时点的代码仓、分支、提交记录和文件内容。可以通过公证、司法区块链存证、只读镜像、代码仓完整导出、云服务商后台记录及哈希校验同步保全,避免因仓库被清空或文件过期而失去技术比对基础。

二、权利代码和被诉代码必须锁定到同一时间维度

取证时应分别明确权利软件版本、被诉软件版本和被诉行为发生时间,保存各自的提交哈希、标签、分支、构建包、发布时间和服务器部署记录。不得以诉讼时最新版本的权利代码与历史上不明版本的被诉程序笼统比较,也不能将事后重新上传的权利代码当作侵权样本。版本链越清晰,越能排除后续修改、同源开源代码和通用模块造成的争议。

三、间接证据应围绕代码内容形成闭合证据链

聊天记录和转账凭证主要证明联系、动机及接触机会,应与文件传输原件、完整邮件头、即时通信数据库、下载日志、权限变更、代码提交、构建部署、运行结果和服务器镜像结合。对压缩包应及时下载并计算哈希值,记录文件名、大小、创建和修改时间;对代码仓应保存项目成员、操作IP、提交人、差异内容和分支合并历史,使证据最终能够指向具体受保护代码。

四、当事人陈述应审查形成背景和利益关系

员工出具情况说明、承诺书或者自认材料时,应同步保留形成过程、询问录像、原始聊天和客观附件,避免仅有结论性表述。涉及多个潜在侵权主体的,应分别证明每一主体的指令、资金、权限、分工和成果接收情况。单方陈述者与权利人存在劳动、控制或利益关系时,更需要独立电子证据印证。

五、共同侵权案件应尽早查明并纳入关键参与者

对实际拉取、修改和提交代码的程序员,应及时查明真实身份、账号实名信息、劳动或委托关系、设备和代码去向。若关键行为人未参加诉讼,法院可能因基础事实无法查清而难以认定其他主体的教唆、帮助责任。起诉前应结合证据和诉讼策略确定被告范围,并依法申请调查令、证据保全或责令平台提供实名及操作记录。

六、被诉企业应完整说明独立开发过程而非仅否认侵权

被诉企业如主张独立开发,应提交需求文档、开发合同、人员分工、代码仓创建时间、连续提交记录、第三方组件清单、测试报告、部署记录和付款凭证。对于已删除的项目,还应说明删除原因、执行人、时间及备份情况。完整的独立研发证据既有助于反驳实质性相似,也能降低法院因拒不提供代码、毁损证据而作出不利推定的风险。

打开网易新闻 查看精彩图片

李营营律师团队专业介绍
李营营律师团队长期专注于商业秘密、计算机软件、数据权益及技术成果保护的刑事案件与民事案件。团队注重审查软件权属、源代码版本、人员接触权限、代码流转路径、程序相似性及独立开发记录,结合代码仓提交记录、开发文档、服务器日志、电子通信记录等材料,梳理能够接受法庭检验的证据链,针对鉴定意见和技术比对报告,围绕检材来源、版本对应、比对方法及结论范围提出有针对性的质证意见。
在民事案件中,团队可代理软件著作权侵权、涉及源代码的商业秘密侵权,以及软件开发、交付和权属争议。对于权利人,可协助固定侵权证据,依法申请证据保全、行为保全和财产保全,提出停止侵权、赔偿损失等请求;对于被诉企业及个人,可围绕独立研发、合法授权、开源或第三方代码来源、技术比对缺陷及赔偿依据开展抗辩。在刑事案件中,团队可办理涉及软件源代码的侵犯著作权、侵犯商业秘密等案件,协助权利人评估控告条件、整理技术及交易证据、制作刑事控告材料;为被追诉企业及个人提供侦查、审查起诉和审判阶段的法律帮助与辩护。