文/北京市集佳律师事务所 周丹丹 曹阳
近几年,开源软件的使用合规越来越为国内企业所重视。尽管进入公众视野的开源软件诉讼案件并不太多,但开源软件使用人遭遇开源软件权利人的维权行动却早已屡见不鲜,其中,最为多见的就是Qt开源软件权利人向使用Qt开源软件的企业发送侵权警告函、向各地版权局、文化执法大队、证监会、银监会等机构持续不断投诉的维权行动。诚然,开源软件权利人基于自身合法正当权利进行维权无可厚非,开源软件使用人进行商业使用时遵守开源协议条款也是应尽义务。但现实情况是,一方面存在部分维权代理机构罔顾开源软件的特殊性,采用商业软件的维权套路,避而不谈开源协议条款本身,而一味要求企业购买Qt商业版实现“正版化”;另一方面,也存在开源协议条款复杂,企业难以判断自身是否存在违反开源协议的行为,导致双方陷入商谈僵局,不但企业不堪其扰,行政监管部门也无所适从。本文意在为企业应对Qt开源软件权利人的维权警告,提供一些解决问题的思路和方法。
一、Qt软件简介
Qt软件是由Qt公司开发的跨平台C++应用程序开发框架和工具,广泛用于开发应用程序和设备。Qt产品主要包括软件开发框架Qt Framework(含基本模块Qt Essentials和扩展模块),开发工具如Qt Creator(用于应用程序开发的跨平台IDE)、qmake或CMake(构建工具)等,设计工具如Qt Design Studio(UI设计构成工具)等。【1】 Qt软件的大部分模块采用商业许可证+开源许可证的双重许可模式,主要开源许可证为LGPLv3,用于Qt核心库和部分扩展库;【2】部分模块仅以GPL许可证(主要为GPLv3)授权,所有以LGPL授权的Qt模块也均适用GPL。【3】
二、Qt软件维权警告的警告内容及途径
(一)Qt软件维权警告的主要内容
1、要求在产品的每一个副本中进行GPL/LGPL协议声明、无保修声明,并附上协议文本;
2、要求开放源代码、开放硬件接口;
3、要求静态链接LGPL库只能用商业版;
4、禁止商业许可和开源许可混用;
5、认为使用GPL/LGPL协议开发的产品相关知识产权将会失效。
(二)Qt软件维权警告的主要途径
Qt软件权利人主要通过如下两种途径进行维权:
1、发送警告函
Qt软件权利人往往会先向企业业务或法务发送警告函,同时或在与业务或法务沟通未果后,向企业领导层、投资人或控股股东等发送警告函。
2、行政投诉
在Qt软件权利人警告函件中,往往会声称要向版权局、文化执法大队、证监会、证券交易所、银监会或者相关行业主管部门投诉举报、申请查抄等等。如果与企业的直接沟通未果,部分维权代理机构会向上述行政监管部门进行大范围投诉。
三、企业应对Qt软件权利人维权警告的几点建议
在收到Qt软件维权警告后,建议企业在正式启动沟通前“知己知彼”,在充分了解Qt软件授权方式、厘清认知误区的基础上,尽快进行内部核查,充分进行法律风险的评估;若确实存在违约行为,尽快予以纠正,并与对方进行积极的商务沟通及投诉应对。
(一)充分了解Qt软件授权方式和相关开源协议规定,厘清认知误区
如果企业对于Qt软件授权方式和相关开源协议规定不够了解,在部分Qt维权代理机构完全按照商业软件维权套路,要求核查清点使用数量,并购买商业版授权进行“正版化”的情况下,企业难免自乱阵脚。如下针对企业可能面临的典型认知误区,进行初步厘清。
1、即使使用GPL协议发布的Qt库,在属于聚合体的情形下,其他代码不受GPL协议传染,无须开源
Qt软件维权函件中往往会绝对性地提出只要使用了GPL模块就必须提供全部源代码。这实际上是一种误区。
GPL协议中明确约定了聚合体情形下不需要对整体软件进行开源。虽然程序究竟怎样组合才属于聚合体最终依赖于法律判断,但企业在日常使用中,如遇到必须使用GPL协议发布的Qt库的情形,最好由技术人员配合内外部法律团队,按照GPL协议中关于“衍生作品”和“聚合体”的原则性规定,分析软件与其调用的Qt库之间的通信机制、调用关系,评估构成聚合体的可能性。在有充分的理由评估认定属于聚合体的情形,那么,无须对整体代码进行开源。
2、静态链接LGPL库,在履行了提供最小对应源码等协议义务的情况下,可以正常使用开源版,并非必须购买商业版
对于必须静态链接的Qt库,例如QtMain,Qt公司是以BSD开源许可证进行许可的。对于LGPL协议发布的Qt库,若没有特别需求,应尽量动态链接调用。但即便是静态链接调用此类Qt库,根据LGPLv3协议第4d0项,静态链接情形下在履行了提供“最小对应源码”等协议义务的情况下,即可正常使用,而非只能使用Qt商业版。
3、企业在购买了Qt软件商业授权的情况下,仍然可以使用开源Qt软件
开源Qt软件使用的GPL、LGPL开源协议本身既不限制软件的商业性使用,也不限制与商业版Qt软件混用。部分维权代理机构会将Qt商业许可协议中禁止在同一个产品中同时使用商业Qt许可证开发的代码和Qt开源许可证开发的代码,曲解为只要购买了商业许可,则在公司的任何产品中即不得使用Qt开源版。事实上,《Qt许可协议》(Qt公司的商业许可协议)中定义的“Prohibited Combination”(禁止组合)指的是在一个软件中,将商业Qt软件与使用开源 Qt 软件创建的软件,一起使用、合并、链接或集成,或者使用商业Qt软件开发此类禁止组合软件的行为。也就是说,Qt公司并没有要求企业一旦购买过商业版,在整个企业范围内、授权期间内就完全不允许再使用任何开源Qt软件。
4、即使存在违约行为,若在一定期限内及时纠正,则授权恢复
GPLv3第八条“终止授权”条款明确约定了权利恢复期,包含三种情形:第一种,第一次收到版权所有人的维权警告,收到通知后30日内改正,授权永久恢复;第二种,停止违反协议,权利暂时恢复,直到版权所有人明确终止授权许可;第三种,停止违反协议,如果版权所有人没有在停止违约后的60天内以合理方式指出违约行为,授权永久恢复。
5、即使存在违约行为,也不会导致使用开源软件开发的软件相关知识产权权利失效
部分维权代理机构会提及,如果不遵循开源协议,又不购买商业版,可能导致使用开源软件开发的软件丧失相关知识产权权利。此种表述十分容易引起企业的焦虑。在“国内GPL抗辩成功第一案”中,【4】一审判决支持了被告的GPL抗辩,即认为原告权利软件中使用了GPLv2开源代码,但未按照协议要求进行开源,违反GPLv2协议构成违约,就不得再向其他行为人主张软件侵权。这一判决的出现,或许更加重了软件权利人的不安,对于在开发过程中使用GPL开源软件存在的权利瑕疵是否会导致未来维权困难,产生极大的疑虑。
近日,最高人民法院在最新判决中对前述误区进行了澄清。最高人民法院在(2021)最高法知民终51号案判决中明确指出“即便假定X公司因违反GPLv2协议导致涉案软件存在权利瑕疵,该假定瑕疵亦不影响X公司在本案中针对被诉行为寻求侵权救济”“软件开发者自身是否违反GPLv2协议和是否享有软件著作权,是相对独立的两个法律问题,二者不宜混为一谈,以免不合理地剥夺或限制软件开发者基于其独创性贡献依法享有的著作权。”【5】
因此,企业使用开源Qt软件开发完成自己的软件,就其独创性的部分仍然依法享有著作权,不会因违反开源协议而导致其权利丧失。当然,如果未来Qt公司就违反开源协议的行为提起违约或侵权之诉,企业是否需要承担违约或侵权责任,应另当别论。
至于专利权,显然也不会因为开源软件使用不合规而失效。专利有效与否,仍然应当按照《专利法》的相关规定予以判断。
(二)内部全面核查,对违约行为进行纠正
企业法务部门与技术部门应尽快协同进行内部核查,排查公司对Qt开源软件的使用情况、对应的开源协议、是否遵循了开源义务、是否购买过商业授权、软件使用量等。如果无法确定涉及的开源软件及相应的开源义务遵守情况,建议找专业外部律师团队进行咨询。如果确实存在违约行为,则尽快予以纠正。
(三)积极的商务沟通及投诉应对
在核查自身对开源义务遵循情况并进行评估后,企业可以与Qt软件维权代理机构展开积极的沟通,就企业核查及开源协议义务遵循情况进行说明、解释。即便双方对于开源协议的某些条款存在各自不同的解读,也应当秉持着尊重开源协议、尊重开源软件权利人的基本立场,有理有据地进行善意沟通。
(四)对过度维权进行合理反制
在处理Qt开源软件合规纠纷的案件中,笔者发现,部分维权代理机构在没有任何侵权、违约实证的情况下,仅仅依据企业使用了Qt软件(例如招聘信息中要求应聘者熟练使用Qt,或开发人员通过工作邮箱注册、登录Qt网站的记录等),武断地推断企业必然违反了开源协议义务。也有部分维权代理机构自身对开源协议缺乏了解,只是套用一些模板,对于具体应当遵循何种开源协议义务、究竟违反了哪条开源协议条款语焉不详,往往还会刻意、过度夸大侵权/违约后果。当维权代理机构向产品的终端用户、上下游合作商、投资人、竞争对手等进行无理由、无根据进行投诉、警告,给企业造成商业机会损害或商誉损失,涉嫌商业诋毁或者其他不正当竞争行为时,建议企业及时固定相关证据,进行合理的法律手段反制。
(五)加强内部开源软件使用的制度管控
开源软件的使用,当然不仅仅涉及Qt软件。企业应当加强内部开源软件使用的制度管控,包括但不限于:制定合规使用开源软件的相关制度;树立合规意识,将开源协议知识产权培训纳入入职培训或者专项培训中,面向技术人员普及开源协议的核心权利义务,明确企业使用开源软件的底线和具体要求;针对开源软件进行全流程、全生命周期的管理、跟踪监控,引入新的开源软件时做好风险评估,掌握企业内部存量开源软件使用情况,发现问题及时处置等。
注释:
【1】https://www.qt.io/product
【2】自2016年发布Qt 5.7开始,Qt公司不再使用LGPLv2.1,全面更新为LGPLv3,以确保嵌入式设备的终端用户能够自由地修改并在设备上部署和运行其修改版,避免设备生产商锁定其设备。https://www.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation; https://www.ics.com/blog/changes-qt-licensing
【3】Qt模块和工具对应的开源许可证可通过官网页面查询:https://www.qt.io/product/features。
【4】江苏省南京市中级人民法院(2021)苏01民初3229号,裁判日期:2022年9月19日。
【5】最高人民法院(2021)最高法知民终51号,裁判日期:2023年10月12日,关于本案的报道及判决书原文可访问:https://mp.weixin.qq.com/s/z6WQz_brabalpQMxXgKDYA