汉坤 观点 未履行开源许可证义务的专有软件受法律保护:GPL抗辩的探讨(续)
作者:汉坤律师事务所 段志超 鲁学振 迟嘉宁 梁杰
近期,最高人民法院(最高院)就一起软件著作权侵权案件作出判决,对业界广泛讨论的开源软件中的GPL抗辩问题一锤定音。最高院认为,软件开发者在使用开源软件过程中是否违反开源许可证要求,不影响其就开发的软件向侵权行为人主张权利[1]。该判决将开源义务和开发者独创性贡献明确为不同的法律问题,维护了软件开发者的合法权益,避免了不合理地剥夺或限制其基于独创性贡献所享有的著作权。
一、最高院认定,软件开发者是否违反GPL协议和是否享有软件著作权,是相对独立的两个法律问题
此前,南京市中级人民法院(南京法院)就一起软件著作权侵权案件(南京案)作出判决,其认定由于涉案软件的主程序包含Sharpziplib开源软件,但未依照该开源软件适用的GPL协议履行相应的开源义务,不符合诚实信用原则,因此涉案软件主程序的权利人无法对未经许可利用主程序的被告主张权利:
原告违反了GPLV2协议要求提供相应的源代码的义务,违反了GPL协议,构成违约,同时导致授权人与原告之间的授权自动解除,原告基于GPL协议获得的许可终止,原告对原GPL开源代码的继续使用系无权使用。原告起诉被告行为不当,构成侵权,但其自身首先应当规范使用开源代码,遵守开源协议,并证明自身权利的正当和合法,否则即会导致一个不当、不法的行为人指责另一个实施相同行为的不当、不法行为人的逻辑怪圏。法院如果基于原告的该权利认定其他行为人构成计算机软件侵权,即会保护原告未来公司的不当行为带来的利益,势必赋于其特殊法律地位和特别商事利益,不符合公平、诚信原则。[2] 被告将其称为GPL抗辩。[3]
我们对此进行了详细分析,在汉坤 观点 未履行开源许可证义务的专有软件不受法律保护 GPL抗辩的探讨(下)中,我们指出,即使整个主程序被认为受到开源义务传染,未履行开源义务的软件权利人仍有权进行维权:原告是否违反了GPL协议,是否因未履行GPL开源义务而与案外人(开源软件权利人)存在违约/侵权纠纷等,这仅涉及原告是否有权使用软件中的开源代码,属于另案法律纠纷,不影响原告基于自己创作的满足独创性要求的新作品禁止他人的侵权行为。
最高院近期判决也认定,基于法律关系的相对性,未履行开源义务的软件应受法律保护。在这起案件中,被告的软件产品未经许可使用了原告的软件代码。作为抗辩,被告主张涉案软件是在开源框架OpenWRT的基础上开发的,原告并未按照GPLv2协议的要求公开源代码,因此被告认为原告不享有软件著作权,也无权指控被告侵犯其著作权。这一抗辩思路与所谓GPL抗辩一致。
对此,最高院的判决明确指出,未履行开源义务是与开源软件权利人之间的法律关系,而能否主张权利是原被告之间的法律关系,这两者是不同的法律问题。原告违反与开源软件权利人之间的GPL协议将导致债权债务关系的产生,但不影响其对开发的软件向被告主张权利。判决进一步强调,在软件尚未被开源、该软件著作权人认为其软件不受GPLv2协议约束、被诉侵权人则依据GPLv2协议提出不侵权抗辩的侵权纠纷中,软件开发者自身是否违反GPLv2协议和是否享有软件著作权,是相对独立的两个法律问题,二者不宜混为一谈,以免不合理地剥夺或限制软件开发者基于其独创性贡献依法享有的著作权。
二、最高院也指出,判断是否受GPL协议开源义务约束,应基于通信机制进行判定
在南京案中,南京法院认为,基于技术调查的结论,由于开源软件在涉案软件主程序中被函数调用,实现了不可或缺的功能,因此涉案软件主程序应受GPL协议约束:主程序与涉案GPL开源代码存在函数调用关系的情况,涉案GPL开源代码实现的压缩功能系投标文件上传前不可或缺的功能,因此,主程序系涉案GPL开源代码的衍生作品,受GPL协议的约束。
在此前的汉坤 观点 未履行开源许可证义务的专有软件不受法律保护 GPL抗辩的探讨(上)中,我们就涉案的GPL with Classpath开源协议进行了解读,以主程序与所使用的开源动态链接库的通信机制为基础,指出开源义务的传染范围不应认定为整个主程序。
近期的最高院判决与我们此前的观点一致。该案中,由于开源软件权利人并不涉诉,法院认为难以认定、也不必认定涉案软件是否受GPL协议开源义务约束,但仍然给出了判定GPL协议约束范围的大致方向,即考察软件自有部分与开源软件的通信机制,但并未提及是否需要考察开源软件实现了必要功能:关于涉案软件是否受 GPLv2协议约束,该问题涉及底层系统软件是否受 GPLv2 协议约束、上层功能软件是否构成 GPLv2 协议项下独立且分离的程序、两者间采用的隔离技术手段、通信方式、通信内容等如何界定以及软件领域对 GPLv2 协议传导性的通常理解与行业惯例等因素。
在合理的程序设计中,所引入的开源软件必然会执行必要的功能,以此为理由认定传染范围实际上意味着但凡使用开源软件则程序本身就受到传染,这种认定标准有些过于宽松。以通信机制来判断开源义务的约束范围是GPL协议发布者Free Software Foundation开源组织的观点,亦为业界的实践所认可,也符合促进软件共享的开源精神。[4]
三、结语
在目前的软件产业,在开发中使用他人的开源软件的情形已经十分普遍,而成熟的软件产品中往往也会含有他人的大量开源软件。认为未履行开源义务就剥夺开发者对于其独创性部分的权利,忽略了开发者在开发中作出的独创性贡献,也不利于软件行业的繁荣和稳定。最高院的这一判决有力地维护了软件开发者的合法权益,澄清了软件开发者在使用开源软件过程中是否违反开源许可证要求,不影响其对开发的软件向侵权行为人主张权利,避免了不合理地剥夺或限制其基于独创性贡献所享有的著作权。
然而,未履行合规义务虽不必然导致失权,但违反开源许可证所带来的风险仍然不容忽视。首先,违反开源许可证可能引发传染性风险。其次,违反开源许可证可能导致被迫将核心自研代码开源,这可能破坏了企业的商业机密和竞争优势。更重要的是,若软件产品被发现违反开源许可证,可能会面临下架的风险。此外,违反开源许可证还可能引发潜在的舆论风险,损害企业的声誉和形象,从而影响市场竞争力和用户信任度。
因此,企业在软件开发过程中应重视开源合规问题。要确保遵守开源许可证的要求,包括正确标识和保留开源组件的许可证信息、遵循开源许可证的分发义务以及及时更新和修复存在的漏洞。此外,建议企业建立开源合规的内部流程和政策,培训员工关于开源合规的重要性,并进行定期的审核和合规检查,以降低开源风险并维护企业的声誉和可持续发展。
注释
[1] 微信公众号知产财经,附判决┃最高院涉GPL最新判决:未开源的软件权利人有权主张侵权责任,见https://mp.weixin.qq.com/s/z6WQz_brabalpQMxXgKDYA
[2] 2022年度南京法院知识产权司法保护十大案例一(2021)苏01民初3229号案计算机软件GPL开源代码著作权不侵权抗辩案,见https://www.njfy.gov.cn/njxxweb_publishing/www/njfy/cpws/cpws_mb_a20230426147291.html
[3] 微信公众号中国版权协会,版权案例丨全国首起民事生效判决GPL抗辩获得法院支持!,见https://mp.weixin.qq.com/s/IzuXPvcberePf9lxw8oCKg
[4] 汉坤 观点 未履行开源许可证义务的专有软件不受法律保护 GPL抗辩的探讨(上)