13910160652
010-52852558
| |EN
首页 > 案例聚焦 > 案例评析 > 商业秘密
  • 13910160652
  • ciplawyer@163.com

在开源网站上发布他人源代码构成商业秘密侵权

日期:2023-10-07 来源: 《人民司法》 作者:祝建军 深圳知识产权法庭 浏览量:
字号:

【案号 】


一审:(2019)粤03民初4519号  


二审:(2021)最高法知民终2298号


【裁判要旨】


计算机软件源代码属于技术秘密保护的客体。使用人依合同约定使用权利人的软件源代码,应依据合同约定履行保密义务。使用人的技术人员将权利人的软件源代码公开发布到开源网站上,使软件源代码处于对外披露的泄密状态,造成开源网站上的用户可以对该软件源代码进行自由复制、使用、修改或传播,权利人可选择违约或侵权来追究使用人侵害其技术秘密的法律责任。由于软件源代码价值高,侵权人披露开源软件范围广,给权利人造成较大经济损失,应加大赔偿力度,判令侵权人承担较重的赔偿责任。


【案情】


原告:深圳花儿绽放网络科技股份有限公司(以下简称花儿绽放公司)。


被告:浙江盘兴信息技术有限公司(以下简称盘兴公司)、浙江盘石信息技术股份有限公司(以下简称盘石公司)。


2018年8月,原告花儿绽放公司研发出有客多软件,该软件为微信小程序开发工具,提供小程序行业解决方案,能够让用户快速拥有自己的微信行业小程序。软件采用java语言,基于Spring MVC+Mybatis架构开发,软件通过打包编译生成war包部署在阿里云并对外提供服务。整个软件从业务架构上分为三层,包括业务前台、服务中台和底层架构。


原告对有客多软件源代码采取了如下保密措施:1、软件源代码管理采用VPN管理统一安全授权模式,SVN账号密码加密授权,账号密码每人唯一。正常登录VPN后,方能使用SVN账号密码登录;2、原告与员工签署保密协议;3、原告将源代码对外许可授权时,在合同中约定使用人须履行保密义务。


被告盘石公司投资成立被告盘兴公司,且是被告盘兴公司的唯一投资股东。2018年10月18日,原告花儿绽放公司与被告盘兴公司签订《花儿绽放源代码使用许可合同》,约定:花儿绽放公司将有客多小程序源代码以非专有、不可转让的方式许可给盘兴公司使用,许可使用费为15万元,许可使用期限为合同签订日起20个自然年度。有客多小程序源代码属于保密信息,盘兴公司同意严格按照本合同的约定使用该保密信息,未经对方的事先书面许可,不得向第三方提供保密信息或由保密信息衍生的信息,或允许第三方直接或间接地透露保密信息。除了本合同确定的使用范围外,不得在其他任何时候使用保密信息。本合同约定承担的保密义务不因合同的变更、终止而终止,如没有对保密期限加以规定,则直至保密信息在本行业中成为公知信息后,本合同约定的保密义务才予以解除。双方同意,以适当方式告知并要求各自能接触到保密信息的员工遵守本约定,若员工违反本约定,公司应承担连带责任。


合同签订后,2018年10月24日,原告花儿绽放公司将装有涉案软件源代码包的加密U盘交付给被告盘兴公司的负责人员,并将U盘密码以微信方式发送给该负责人员。2018年10月26日,被告盘兴公司向原告花儿绽放公司出具《有客多源代码使用许可项目(软件)签收表》,认可收到了原告交付并加密的有客多软件的源代码。


2019年5月,原告发现其有客多软件的源代码在全球开源网站共享平台Github上被公开发布。具体情况为:2019年5月9日,原告经调查核实,有客多软件的源代码于2018年12月31日被用户名为luXin212121的用户发布到Github公共存储库,前述披露的有客多软件的源代码中有多处指向被告的信息:1.多处含有被告盘兴公司的域名panshi101.com;2、多处含有被告盘石公司的域名adyun.com;3.将交付代码中的平台注释和系统平台名称由“有客多小程序”修改为“盘石微店”;4.将交付代码中的“微俱聚logo”修改为“盘石微店logo”;5.将交付代码中的客服电话400-7888-925修改为被告盘石公司客服电话400-100-1110;6.披露代码中增加了被告盘石公司版权信息(copyright©2018 盘石科技.All rights reserved)。7.luxin212121在Github网站的另一个存储库(laravel-mhwww)发布了含有被告盘石公司内部研发管理系统的三个链接;8.在披露的有客多源代码文件中,修改了源代码中第三方平台的配置参数(该参数为发起微信功能所需秘钥,由用户在微信第三方平台私密获取)及目标数据库的访问地址data.db.url参数(该参数为数据库存储路径,修改后的参数显示为在阿里云购买的rds数据库链接地址);9.截至2019年5月6日,Github网站上共有6位用户复制了luxin212121用户披露的有客多软件的源代码。


2019年5月21日,原告经调查核实:用户luxin212121在Github网站的其他三个存储库(php-saas、laravel-mhwww、mhwsource)发布的内容中亦有多处指向被告的信息:1.被告盘石公司的域名adyun.com、盘石微店签名、被告盘石公司的版权信息(copyright©2004-2019 浙江盘石信息技术股份有限公司.All rights reserved);2.被告盘石公司的介绍链接、帮助支持链接、联系我们链接;3.被告盘石公司的办公地址;4.被告盘石公司的域名mhw001.com和adyun.com、盘石官网链接、盘石网盟链接、盘石大学链接;5.被告盘石公司支付宝收款账户的信息。


2019年7月17日,原告进一步调查核实:截至2019年6月27日,Github网站上新增6名用户复制了luxin212121用户披露的有客多软件的源代码。


2019年6月20日,原告委托律师向Github开源网站发去律师函,要求其尽快删除luxin212121用户发布的侵权存储库的分支存储库(原始侵权存储库已删除)并提供用户luxin212121的联系信息。Github开源网站于2019年7月9日回复显示,相关内容已删除,由于没有相关的法律文件,不能共享关于其他用户的存储库的任何附加。原告确认有客多软件的源代码已被Github开源网站删除。


2019年9月5日,原告向被告盘兴公司、盘石公司分别发去律师函,要求两被告尽快沟通消除影响及赔偿损失事宜。


基于以上事实,原告主张,其有客多软件中20个技术密点所对应的965个软件源代码文件,涉及软件业务前台、服务中台全部功能模块的控制逻辑和接口的实现,被盘兴公司在Github开源网站上公开发布导致披露泄密,构成商业秘密侵权,而被告盘石公司是被告盘兴公司的唯一股东,应与被告盘兴公司承担连带赔偿责任,请求法院判令:被告盘兴公司、盘石公司连带赔偿原告经济损失及维权合理费用共计5076.916万元,并在《法制日报》上刊登声明以消除影响。


关于赔偿数额的计算,原告主张两被告承担惩罚性赔偿责任,原告提交了连城资产评估有限公司于2021年1月20日出具的[连资评鉴字(2021)01506号]价值评估鉴定报告摘要记载:本次评估以2018年12月31日为基准日,原告享有的有客多软件源代码20个技术密点对应的965个源代码的商业秘密价值评估鉴定值为1012万元。原告主张以该评估值1012万元为基数,再乘以4.94倍数得出赔偿金额,再加上76.916万元的维权合理费用,两被告总计赔偿数额为5076.916万元。


为证明其上述主张的软件源代码为非公知信息,原告委托国家工业信息安全发展研究中心司法鉴定所(以下简称司法鉴定所)以2018年12月31日为基准日,就上述软件源代码是否为非公知信息进行鉴定。2019年8月15日,司法鉴定所出具鉴定意见:2019年6月28日至7月22日,在谷歌、百度2两个知名搜索网站,Github、Seachcode两个软件源代码共享网站进行搜索,检索到与上述有客多软件中14个源代码文件内容相近似的内容,未检索到与其他源代码文件内容相近似的内容,有客多软件中20个技术密点对应的965个源代码文件在2018年12月31日之前不为公众所知悉。


为证明软件源代码对比的同一性,2019年11月27日,原告在VPN网络环境下通过输入账号、密码从SVN服务器中下载有客多软件的源代码。原告将其下载的自身研发的有客多软件的源代码与luxin212121用户在Github开源网站上公开发布的有客多软件的源代码,通过软件对比工具(Beyond Compare)进行对比后显示,二者含有965个相同文件和列表。


针对原告侵犯商业秘密的指控,被告盘兴公司认可,原告交付给其的有客多软件的源代码包中含有上述原告主张的20个技术密点对应的965个源代码文件,但luxin212121用户在Github开源网站上发布有客多软件的源代码,并不能证明是被告盘兴公司或盘兴公司的员工所为,因为通过互联网公开渠道可以查询到两被告的字号、logo、客服电话、域名、地址、邮箱等信息,从而被他人冒用。同时,原告要求两被告承担高额惩罚性赔偿责任缺乏依据,因为搜索微擎、小猪、凡科等网站均可提供微信小程序产品的开发及相关服务;2020年4月,原告销售人员给被告盘兴公司的报价显示,有客多小程序独立部署为10万元/永久、源码部署为20万元/永久,说明有客多软件的价值较低。


【审判】


广东省深圳市中级人民法院一审认为,原告在本案中主张的技术秘密为有客多软件中20个技术密点对应的965个源代码文件。商业秘密应符合秘密性、价值性和保密性的要求。关于秘密性,司法鉴定所出具的《鉴定意见书》认为,原告的上述源代码具有非公知性。关于价值性,原告提交了有客多软件使用许可合同及相关许可费的证据,显示该软件能为原告带来经济利益,符合价值性要求。关于保密性,原告对有客多软件源代码的管理采用VPN统一安全授权、SVN账号密码加密授权,与员工签订有保密协议,原告与客户签订的有客多软件源代码使用许可合同中,约定了具体的保密条款且以加密载体交付,前述措施表明原告针对的保密客体是具体明确的,该措施在正常情况下能够防止涉密信息泄露,符合保密性要求。综上,原告主张的技术信息构成商业秘密。


原告提交的证据显示,luxin212121用户在Github开源网站上公开发布的有客多软件源代码中包含了涉案技术秘密。被告盘兴公司通过与原告签订涉案软件使用许可合同,获取了有客多软件的源代码。虽无法获悉luxin212121用户的具体身份信息,但其披露的有客多软件源代码中,众多信息均指向被告盘兴公司、盘石公司,这些信息包括两被告的版权信息、域名、客服电话、logo以及平台注释、系统平台名称、默认签名等内容。特别需要关注的是,luxin212121用户公开发布的有客多软件源代码修改了原来的第三方平台的配置参数(该参数为发起微信功能所需秘钥,由用户在微信第三方平台私密获取)及目标数据库的访问地址data.db.url参数(该参数为数据库存储路径,修改后的参数显示为在阿里云购买的rds数据库链接地址),对前述参数的修改及修改后的信息属于企业的机密,不为外人所知。luxin212121用户还在Github开源网站的其他三个存储库(php-saas、laravel-mhwww、mhwsource)发布源代码,其中亦含有大量指向被告盘石公司的信息,这些信息包括被告盘石公司的版权信息、域名、介绍链接、帮助支持链接、联系我们链接、地址、官网链接、盘石网盟链接、盘石大学链接、支付宝收款账户等。前述部分信息虽可通过互联网获知,但有些是外人难以知晓或不会关注的信息。luxin212121用户在Github网站的不同存储库、不同源代码中汇集了两被告如此丰富、完整的企业信息,除了被告盘兴公司或其知情的员工外,他人均难以做到,被告盘兴公司对此未有合理解释。原告与被告盘兴公司在涉案软件源代码的使用许可合同中明确约定,若被告盘兴公司的员工违反保密义务,被告盘兴公司应承担连带责任。综上,被告盘兴公司应对侵权行为承担法律责任。


关于消除影响,由于被告盘兴公司侵权行为系对商业秘密的披露,未有证据证明侵权行为给原告造成了必须消除的不良影响,故该项诉请不予支持。


关于损害赔偿数额,现有证据不能证明被告盘兴公司对涉案源代码的披露具有恶意,故不应适用惩罚性赔偿。原告提交的审计报告是原告单方委托,且审计报告的作出未审查付款凭证、工资支付凭证等原始材料,故其客观性存疑,不予采用。由于本案难以确定原告因被告盘兴公司侵权所遭受的实际损失数额,也难以确定被告盘兴公司因侵权所获利益数额,故应适用法定赔偿确定赔偿数额。由于涉案软件源代码价值高,侵权人披露开源软件范围广,给权利人造成较大经济损失,酌定被告盘兴公司赔偿原告经济损失及维权合理费用500万元。被告盘石公司是被告盘兴公司的唯一股东,未能证明被告盘兴公司的财产独立于盘石公司的财产,故被告盘石公司应对被告盘兴公司的赔偿债务承担连带责任。


一审宣判后,盘兴公司、盘石公司不服提出上诉,最高人民法院二审判决:驳回上诉,维持原判。


【评析】


本案涉及行为人未经许可擅自将权利人的源代码在Github国际开源网站上公开发布,被判定构成商业秘密侵权并承担法律责任的典型案例,倍受社会关注,颇值研讨。


一、在开源网站上公开发布他人软件源代码的行为性质


计算机软件是指计算机程序及有关文档,其功能是驱动计算机实现一定的功能。软件代码包括源代码和目标代码,源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。目标代码(也称目标程序)是指编译器或汇编器处理源代码后生成的代码,其一般由机器代码或接近于机器语言的代码组成。[1]从著作权法的角度来看,同一计算机程序的源代码和目标代码为同一作品。[2]民事主体研发出软件代码后,其通常采用著作权法和反不正当竞争法来保护其软件源代码。无论是著作权法还是反不正当竞争法对软件源代码的保护都是以源代码不公开处于保密状态为表现特征。


本案原告花儿绽放公司于2018年8月研发出有客多快速搭建微信小程序的软件,2018年10月18日,原告花儿绽放公司与被告盘兴公司签订《花儿绽放源代码使用许可合同》,约定花儿绽放公司将有客多小程序源代码以有偿、非专有、不可转让的方式许可给盘兴公司使用,盘兴公司对花儿绽放公司的源代码负有保密义务。


2019年5月,原告发现其有客多软件的源代码在全球开源网站共享平台Github上被公开发布,发布人为Github开源网站上用户名为luXin212121的用户。原告经调查核实,该用户于2018年12月31日将其有客多软件的源代码发布到Github公共存储库,同时,还在Github开源网站的其他三个存储库(php-saas、laravel-mhwww、mhwsource)发布有客多软件的源代码。原告认为,上述在Github开源网站上发布有客多软件的源代码是被告盘兴公司所为,双方由此引发纠纷。原告选择采用反不正当竞争法中的商业秘密制度来保护其合法权益。


本案原告主张其开发的有客多软件中20个技术密点对应的965个源代码文件为其技术秘密,这是原告向两被告提起诉讼的请求权基础。根据我国反不正当竞争法的规定,商业秘密应具备秘密性、价值性和保密性三个要件。秘密性是指商业秘密所处的状态应当不为公众所知悉。价值性是指商业秘密能给权利人带来现实的或潜在的经济利益或竞争优势。保密性是指商业秘密权利人对其商业秘密采取了有效的、适当的保密措施。本案原告通过举证证明,司法鉴定所出具的《鉴定意见书》认为,原告主张的上述源代码在2018年12月31日被控侵权行为发生之前不为公众所知悉,具有秘密性。原告将有客多软件许可给用户使用并收取相应的许可费,证明原告主张的上述源代码能为原告带来经济利益,具有价值性。原告对有客多软件源代码采用VPN、SVN账号加密码方式进行授权,与员工签订保密协议,与授权许可使用的客户签订保密协议,满足保密性要求。原告上述举证能够证明,其主张的有客多软件的20个技术密点对应的965个源代码构成商业秘密。


Github开源网站是开源软件运动的产物。开源软件是指开放源代码软件,其是为了克服软件源代码知识产权专有权闭源保护的弊端应运而生,在本质上属于在开源许可证保障下的新类型著作权许可模式。GitHub开源网站《用户协议》约定,用户授予网站存储、解析和展示软件的权利,用户将页面和仓库设置为可公开查看,意味着授予GitHub上每个用户非排他、全球许可、允许通过GitHub服务使用、展示和执行该开源软件。[3]软件使用人在遵守开源社区许可证约定内容的前提下可以自由复制、修改、使用开源软件,如此一来,软件源代码通过开源成为可以自由传播的公共资源。


就本案来说,2018年12月31日,用户名为luXin212121的用户将有客多软件的源代码公开发布到GitHub开源网站上,这意味着有客多软件的源代码处于对外披露的泄密状态,造成GitHub开源网站上的用户可以对该软件源代码进行自由复制、使用、修改或传播。该披露行为一经实施,即造成有客多软件的源代码被公开的后果,此后该源代码直至2019年7月9日才被删除,源代码被删除并不意味着已经被公开的源代码可以回复到不公开的保密状态。基于以上事实可以认定,luXin212121用户将有客多软件的源代码在GitHub开源网站上公开发布,导致原告花儿绽放公司的涉案技术秘密被非法披露,该行为构成商业秘密侵权。


二、本案是否是被告将权利人的源代码发布到Github开源网站上


用户名为luXin212121的用户将有客多软件的源代码在GitHub开源网站上公开发布,原告指控该行为是被告所为,因此要求被告承担相应的法律责任。由于luXin212121用户在GitHub开源网站上存储的源代码含有被告盘兴公司、盘石公司的版权信息、域名、客服电话、logo、介绍连接、以及平台注释、系统平台名称、默认签名、支付宝收款账户等丰富、完整信息,特别是luxin212121用户公开发布的有客多软件源代码修改了原来的第三方平台的配置参数及目标数据库的访问地址参数,上述参数为企业的机密信息。以上事实可以认定,在GitHub开源网站上公开发布原告有客多软件源代码的行为是被告所为。


2018年10月18日,原告花儿绽放公司与被告盘兴公司签订的《花儿绽放源代码使用许可合同》约定,双方均负有对有客多软件源代码的保密义务,若员工违反该保密约定,公司应承担连带责任。从本案查明的事实来看,被告盘兴公司显然违反了该保密条款的约定。原告作为有客多软件源代码的权利人,基于保护自身合法权益的需要,有权选择以违约或侵权救济的方式来追究被告盘兴公司侵害其商业秘密的法律责任。原告选择侵权救济方式,被告盘兴公司应对其侵权行为承担法律责任。


三、在开源网站上发布他人源代码应承担的法律责任


侵权人未经许可将权利人的软件源代码在GitHub开源网站上公开发布,这将导致权利人的软件源代码被非法披露,从而造成开源网站上的任何用户均可以对该软件源代码进行任意复制、使用、修改或传播,侵权人应赔偿权利人的源代码商业秘密被泄密的法律责任。


本案原告主张被告承担惩罚性赔偿责任,由于被告盘兴公司非法披露原告涉案商业秘密的时间为2018年12月31日,故本案应当适用侵权行为发生时的法律,即2017年修订的反不正当竞争法。由于2017年修订的反不正当竞争法并未规定惩罚性赔偿,因此,原告要求被告承担惩罚性赔偿的请求不应被支持。


原告委托的评估机构以2018年12月31日为基准日,评估原告涉案有客多软件源代码的评估鉴定值为1012万元,由于该委托评估为原告单方委托,且存在许多缺陷,因此不宜以该评估鉴定值来计算原告的经济损失。最终法院选择法定赔偿方式,根据本案的具体案情,酌定被告盘兴公司赔偿原告经济损失及维权合理费用500万元。被告盘石公司作为被告盘兴公司的一人股东,在不能证明其财产独立于被告盘兴公司的情况下,应对被告盘兴公司承担的赔偿责任承担连带责任。可见,本案由于权利人的软件源代码价值较高,侵权人披露开源软件范围广,给权利人造成的经济损失较大,法院加大了判赔力度,判令侵权人承担较重的赔偿责任。


注释:


[1]参见《百度百科》关于源代码、目标代码的解释定义。


[2]参见《计算机软件保护条例》第三条第(一)项的规定。


[3]祝建军:“开源软件的著作权保护问题研究”,载《知识产权》2023年第4期。