【案例导读】
主张他人软件侵权的权利人,自身在开发阶段使用了受GPLv2协议约束的开源代码,被诉侵权人依据GPLv2协议抗辩不侵权的,该抗辩能否成立?软件权利人是否有权主张他人的侵权责任?软件权利人是否应该依据GPLv2协议,开源其软件的全部源代码?对于以上问题,最高法院的以下判决给出了答案。
【争议阶段】
程序员跳槽至其他公司,利用保存的源代码,在新公司开发同类软件
【涉及技术问题】
1.使用开源代码搭建底层框架,并在底层框架基础上开发上层功能,是否均受开源协议约束?
2.使用套接字(socket)与命令行(command line)等技术手段,能否隔离开源代码与自行开发代码,从而使自有代码免于“被传染”?自行开发代码是否属于“独立且可分离”的程序?
【案情简介】
一、【事情起因】A公司投入巨资,经过6年开发完成某网关软件,其SVN服务器记录了整个开发过程,该公司对软件进行了软件著作权登记,并对公司相关标识注册了商标。A公司在公开招标中发现B公司研发的软件,涉嫌侵犯其软件著作权,于是购买B公司软件进行分析,发现源代码中含有A公司的特殊标记及其他相同指标,于是以侵犯著作权罪向公安机关报案。
二、【公安机关侦查情况】在公安机关侦查期间,分别询问B公司多名开发人员,根据询问笔录:刘某从A公司离职后,B公司招聘其做硬件开发,后刘某陆续推荐A公司离职员工 B公司任职,B公司成立C公司专门用于开发涉案软件。从A公司离职的吴某在C公司负责涉案软件的开发,吴某表示一开始还想自己开发,但后来嫌麻烦且C公司赶工期,于是其使用在A公司任职期间下载至笔记本电脑的源代码,不仅自己修改,还给整个开发团队作为参考。C公司开发小组把各自负责的模块上传至编译服务器,统一由吴某打包生成程序。经公安机关指定的鉴定机构对2款软件相似度进行鉴定,相似比例接近90%。至原告起诉至法院,公安机关未有定论。
三、【一审法院判决】A公司以B公司、C公司、刘某、吴某为共同被告,起诉至法院要求赔偿300万元。刘某辩称其是硬件工程师,不懂软件开发,涉案软件与其无关;B公司、C公司、吴某辩称,涉案软件是A公司在开源软件的基础上修改而成,A公司应该开源,其无权主张侵权。另外对于A公司主张吴某在离职后登录其服务器非法获取源代码,吴某辩称是A公司开发人员有技术问题请其解决,其才登录的,在修复技术问题后,A公司相关人员通过微信向其支付了报酬。
一审法院认为:第一,基于开源软件系统框架形成软件产品的著作权,应区分不同情况:基于开源产品本身进行的功能修改、优化及开发,应按开源协议确定其著作权归属;但只是调用开源产品或者基于开源产品之上进行的二次开发,开发者付出创造性劳动足以构成独立作品的,则开发者享有自己的著作权 。第二,根据 GPLv2协议的相关规定,GPLv2协议的许可客体是在 GPLv2协议许可下批准的受版权保护的程序以及基于该程序的衍生产品或修订版本。但不能简单认为与该程序相关的所有软件必须开源。本案中没有证据表明涉案软件各目录下均存在GPLv2协议开源代码。况且,本案中涉案软件源代码并非公开,不存在B公司、C公司有权在GPLv2协议授权下使用第三方开源程序并构建衍生软件产品的先决条件。
根据公安机关委托鉴定情况,B公司、C公司开发软件与A公司软件相似比例超过90%且含有A公司的特殊标识,足以作出B公司、C公司软件部分复制A公司软件的事实判断。综上判决B公司、C公司共同赔偿A公司50万元,刘某与吴某不构成侵权。
【最高法院二审裁判要点】
略
【实务操作启示】
由以上案例分析,笔者尝试归纳如下启示要点,供开发者在软件开发使用开源代码等实务操作中,作为参考:
略
【关联裁判规则】
【南京中院:南京某公司诉江苏某公司侵害计算机软件著作权纠纷案(一审)】
略