再看中国法院如何对待GPL


最近,朋友推荐我阅读一份和GPL1有关的判决书,说写得很好。

抽时间看了一下,果然水平很高,完全不亚于上次我介绍的深圳市中级人民法院写的判决书(判决时间2021年4月30日),上次是罗盒诉风灵(以下简称“风灵案”),我专门写了一篇解读文章:“看看中国法院是怎么对待GPL的”

这次是罗盒诉玩友(简称“玩友案”),广州知识产权法院判决,判决时间是2021年9月29日。

总体而言,判决书写得很好,是教科书级别的好。我觉得有必要再写篇文章总结和解读一下,毕竟原文2很长,一般人是没有耐心认真读完的。

不过,判决书仍有个别地方没有说明白,本文最后一章专门讨论一下。

一、总体概述

原告还是“罗盒”(感觉罗盒一直在各种告),被告是“玩友”。

罗盒:济宁市罗盒网络科技有限公司

玩友:广州市玩友网络科技有限公司

罗盒还顺便告了冠准航公司、奥斯坦公司、祥运公司,因为这几位是帮着玩友收费的。

罗盒要1500万元,最后只要到了50万元。

罗盒告玩友说用了它的商业软件VirtualApp,但没有给罗盒钱。

玩友说你那个是开源软件,我又不需要你服务,要什么钱。

法院认可VirtualApp是开源软件,认可GPL的效力。

但由于玩友没有开源,玩友败诉,赔罗盒50万元。

法院判决亮点:

和“风灵案”一样:

  1. 承认GPL是合同。
  2. 承认GPL授权不可撤销。
  3. 用GPL却不开源就是违规。
  4. 违规则GPL授权终止。

但在本案判决中,法院又浓墨重彩地阐述了以下观点:

  1. 作者不能在GPL之外添加进一步限制。
  2. 开源不等于免费。
  3. 法院认可GPL具备强传染性。

不过有个重大问题:用了GPL后能否转闭源?

由于这两个案子都是针对GitHub上那个开源版本讨论的,所以都没有正面讨论这个。本文最后部分讨论一下。

二、判决精华

这篇判决书,有很多精华之处,值得反复回味,我简单罗列一下。

注:判决书原文均以双引号标识。

法院认为:

1、GPL V3协议具有合同性质

这和“风灵案”中法院的态度是一样的,GPL的效力被正式认可,原告被告都要按照GPL规定的条款玩。

法院说:GPL V3协议的条款“符合合同法关于要约和承诺的规定,通过电子文本形式由授权方或用户加入开源项目中,电子文本是一种有形的表现形式,属于以书面形式订立的合同。综上,GPL V3协议具有合同性质,是授权方和用户订立的格式化著作权协议,属于我国合同法调整的范围。”

简单地说,GPL规定了使用开源软件的人,有什么权利,应遵循什么义务;同时也规定了软件发行者有什么权利和义务。

然后大家就按这个协议玩,如果有人不遵守,就可以告他。

2、用了GPL,就永远是GPL的

罗盒主导开发的VirtualApp(以下简称VA),以前是开源的(2016~2017),用的是GPL;后来罗盒又把GPL声明删了,说不准商业使用,如果商业使用,得给罗盒交钱;再后来,罗盒干脆不再维护GitHub上的版本,专心致志卖商业版了(商业版是闭源的)。

玩友没有买商业版的VA,用了GitHub上的VA,罗盒不干,认为自己说过要花钱买的,结果玩友不买就用,所以起诉。

罗盒背后的逻辑是,GitHub上那个版本已经不是GPL的,不是开源的,所以不能随便用,要按自己的要求来用:即购买商业使用授权。

法院认为,罗盒说的不对,GitHub上那个还是开源的,还是GPL的。

法院查明,“项目管理者asLody于2016年7月7日首次提交涉案VirtualApp项目,于2016年7月8日加入LGPL V3协议,于2016年9月10日将授权许可协议更改为GPL V3协议,于2017年10月29日删除了GPL V3协议,于2017年12月31日停止更新该开源版本并转为开发不开源的商业版本。”

“本院认为,根据GPL V3协议条款约定和性质,只要某个软件版本加入GPL V3协议,则无法随意删除GPL V3协议,该版本源代码将永久保持开源,即使授权方删除GPL V3协议也无回溯力,授权方只能在后续的版本中变更或删除GPL V3协议,但并不影响此前版本继续适用GPL V3协议的效力。本案中,罗盒公司确认其主张的涉案软件2017年12月30日版本与撤回GPL V3协议即2017年10月29日前的版本差别不大,因此本院认定罗盒公司主张权利的版本仍属于适用GPL V3协议的开源软件。

注意,估计判决书原文有Bug,感觉是手误,把上面最后一个日期2017年10月29日误写为2019年10月29日。

法院说得很明白,GitHub上的那个VA,就是开源的,就是GPL的,虽然你删掉了GPL声明,但你曾经声明过,那就不能撤销。你可以在后续版本用新协议,但这个版本是不能改协议了。

GitHub有个好处,历史上的所有修改都有记录,都是公开透明的,比如,我一查,就能看到在2017年10月29日,Lody(就是VA的原初作者,罗盒的实际控制人罗迪)把GPL声明给删除了。

图片Lody在2017年10月29日删除了GPL声明

法院的意思就是:删了这几行,也没用,VA也还是GPL的。

3、用了GPL,就不能加额外限制

罗盒在GitHub上VA项目的首页写到:

“当您需要使用GitHub上的代码时,请购买商业授权,获取商业授权后将可以收到最新VirtualApp商业版全部源代码。”

以下是截图:

图片罗盒在GPL之外添加的授权限制(法院认定无效!)

这么干行吗?能在一个GPL授权的项目上,再加上“请购买商业授权”这样的限制条件呢?

众所周知,GPL本身就是一种授权,授予用户对开源软件的免费使用,现在罗盒又说要使用者购买授权,这不矛盾了吗?按哪个算?

其实GPL在第7条里面明确说了:“如果你接收到的程序或其部分,声称受本协议约束,却补充了这种进一步的限制条款,你可以去掉它们。”

据此,玩友可以大大方方不用理会“请购买商业授权”这种要求。

GPL不愧是有律师帮着设计出来的,考虑得很周全,大赞!

法院怎么说呢?法院理解得很明白:

“罗盒公司的商业使用限制保留条款对于用户使用其源代码的目的进行了限制,从而也限制了用户范围,即只有非商业用途的用户才可以使用其源代码,这显然与GPL V3协议的“著佐权”特性矛盾。该限制保留条款也不属于第7条规定的可以添加的6种补充附加条款之一,应属于非许可性附加条款,属于第10条中的“进一步限制”,因此罗盒公司无权在适用GPL V3协议的涉案VirtualApp项目中添加商业使用限制保留条款。综上所述,玩友公司无需遵循该限制保留条款,罗盒公司主张玩友公司违反商业使用限制保留条款缺乏理据,本院不予支持。

判决书还给出一个信息,让我们知道罗盒要的授权费是多少:

“2017年10月12日,工作人员通过QQ联系罗盒公司的法定代表人张璐(QQ号为10890,备注为“张总 开源VirtualApp”)询问收费情况,张璐回复‘单款产品一年5万元。‘此后,张璐又回复‘VA商业授权费用:单款APP一年20万元,单独购买技术支持一年15万。’”

4、用了开源代码,产品能收费吗?

罗盒公司还认为,玩友违背了GPL V3协议,变相收取许可费及不提供开源代码,构成无权使用,其行为构成侵权。

判决书中写到:“罗盒公司主张玩友公司同时违反商业使用限制保留条款以及GPL V3协议(变相收取许可费及不提供开源代码),构成无权使用,其行为构成侵权,应承担侵权责任。”

罗盒的指控很有意思,他说对了一半,就是玩友应该提供源代码,但也错了一半,玩友收的并不是许可费。

玩友收的是会员费。

这个会员费是什么呢,法院说:

“经查,从华为应用市场和应用宝上下载的被诉侵权软件有30分钟免费试用时间,之后需支付会员费才可以继续使用。被诉侵权软件的“用户协议”第五条“用户注意事项”规定,你理解并同意支付相关费用(运营维护费用及技术支持费用)以维持本软件的持续运营。”

法院认为,这个会员费就是软件服务费用。

法院还专门论证了GPL是允许商业使用的、允许收费的。注意下面这段是精华中的精华。

“GPL V3协议规定,所谓自由软件,强调自由,而非免费”,“GPL V3协议旨在保证用户可以自由使用源代码而非免费使用源代码,开源并不等于免费。承前认定,限制开源软件商业使用与GPL V3协议的宗旨相抵触,若强制要求所有开源软件都完全免费或限制商业使用,那么开发者的工作价值将无从体现”,GPL V3协议“并不排斥软件开发者从软件中获取利益,只是盈利的方式有所改变:从过去依赖软件拷贝的销售,转向主要提供软件及信息服务。”

“简而言之,如果软件可以视作下列组成等式,即:软件=程序+文档+支持+培训+服务,虽然代表“软件形态”的程序、文档可以免费,但作为“软件服务”的支持等环节可以收费。本案被诉侵权软件收取会员费是用于运营维护和技术支持,而下载软件是不需要支付费用的。因此,玩友公司收取被诉侵权软件的会员费并不违反GPL V3协议的规定。”

有人会觉得,什么?罗盒就不能收费?玩友就可以收费?

这里我不想多说(说起来费劲),我只想说:罗盒公开了源码,罗盒可以卖源码,但不能因为别人不买你源码而告人家;玩友也一样,玩友也可以卖软件服务费,但不能因为别人不买而告人家。

总之,如果开源了,别人想买可以买,别人不买你也不能告。

对,你没有看错,源码也可以卖,但你源码都在GitHub上公开了,你觉得还会有人向你买吗?抑或是你改动了源码然后卖钱,那么买了你源码的人又可以按照GPL第4条免费公开它,所以大家还是可以拿到免费开源版本。

5、用了GPL,自己也要开源

上面说,罗盒说对的一半,没错,玩友应该开源。

法院看得也很清楚:

“本院认为,用户依据GPL V3协议授权可以获取软件源代码进行修改、再发布,那么他必须保证其他用户可以获取到修改后的源代码,这也是GPL V3协议保持开源传染性的核心要求。因此,玩友公司至少应当公开被诉侵权软件中使用了涉案软件沙盒分身功能部分的源代码。”

感觉这里很仁慈,说至少应该开源沙盒部分的代码。

说到这里,这里简要介绍一下玩友的产品到底是个啥:

根据我的大致分析(只能保证大致正确,我没有时间专门测试):玩友卖的是“微信视频美颜版”这样的东西(涉案一共4款软件),可以在微信的视频通话过程中,实现美颜效果(微信本身是不支持的)。为了实现这功能,玩友做了一个微信的美颜模块(插件),而且要安装在手机沙盒(类似手机上的虚拟机)中才能实现。所以这个“微信视频美颜版”,需要内含一个沙盒(这就是VA干的事!)。

至于玩友是否应该开源除沙盒之外的源代码(也即视频美颜的代码),法院专门分析了GPL的传染性。(所以说这法院不愧是专业法院啊!)

6、法院认为,GPL是强传染性的

法院为了说明这个问题,还专门拿安卓举例子,先说明了一下谷歌是怎么把GPL的传染性在安卓操作系统和上层应用隔离开来的。

“为了解决GPL协议过于严格的问题,谷歌公司发布的安卓移动操作系统通过将系统分为多个独立的不同层级框架,并对每个层级适用不同的开源授权许可协议。谷歌公司在安卓操作系统的内核使用了遵循GPL许可协议的开源Linux内核,那么个人或企业为安卓系统开发的应用软件也必须遵循GPL进行公开,这将严重降低企业和个人开发者参与安卓系统开发的积极性,妨碍了整个开源操作系统生态环境的建立。谷歌公司为了解决该问题,通过将GPL的适用局限在安卓系统独立的底层Linux内核空间中,而在上层的类库和应用框架以及用户空间部分则适用较为宽松的ASL开源软件许可协议。由于上层的类库和应用框架以及用户空间部分并不视为底层Linux内核的衍生产品,因此避开了GPL许可协议传染至整个安卓系统,那么安卓系统上层的硬件驱动和应用框架程序就是独立的,其开发者适用ASL进行开发,可以自由选择是否公开其源代码。”

然后,法院承认了GPL的强传染性,认为玩友应该开源整个软件的源代码(包括美颜部分的代码)。

“承前所述,对于在逻辑上与开源代码有关联性且整体发布的衍生作品,只要其中有一部分适用了GPL V3协议发布,那么整个衍生作品都必须适用GPL V3协议而公开。本案中,沙盒分身部分功能代码是作为被诉侵权软件的衍生部分而整体发布的,玩友公司并未举证证明沙盒分身功能部分源代码是独立的,或使用了类似谷歌公司的安卓系统方法,即在各个独立的不同层级框架中适用不同的开源授权许可协议,因此被诉侵权软件应整体适用GPL V3协议,玩友公司应开源整个被诉侵权软件的源代码。综上,玩友公司虽主张被诉侵权软件中只有沙盒分身使用了被诉部分源代码,但被诉侵权软件仍应遵循GPL V3协议向用户开放源代码下载,玩友公司未向用户提供被诉侵权软件源代码下载已经违反GPL V3协议的规定。

如果想进一步了解谷歌如何在安卓中隔离GPL的传染性,可以看看这篇文章

7、用了GPL不开源,就撤销对你的授权

玩友并没有开源自己的产品,那么怎么办?

那罗盒通过GPL授予玩友的权利统统收回。

法院先是介绍了德国的做法:

“德国法院倾向于将GPL开源许可协议所设定的条件认定为附解除条件的合同。法院认为,GPL开源许可协议中所设定的使用条件应当认定为“解除条件”,当被许可人违反该条件时,GPL许可协议属无效,被许可人的行为便构成了侵权行为”

然后指出,玩友因不开源而违反了GPL,从而造成授权终止,构成侵权。

“GPL V3协议属于附解除条件的著作权合同,许可条款是版权许可的条件,如果用户违背条款规定,那么许可的前提条件已不复存在,则GPL V3协议终止适用,用户获得的授权也将自动终止。如前所述,玩友公司未向用户提供被诉侵权软件源代码下载已经违反GPL V3协议规定,则玩友公司对涉案软件源代码的复制、发布行为因失去权利来源而构成侵权。”

精华之处就介绍结束了。

如果对GPL有兴趣,又不想看英文原版,可以读读我写的《人话解读GPL V3》

三、几件小事

1. 不要扯上别人

“罗盒公司还主张冠准航公司、奥斯坦公司、祥运公司与玩友公司构成共同侵权,承担连带责任。本院对此认为,准航公司、奥斯坦公司、祥运公司仅代玩友公司收取用户的会员费,其已对上述含有侵权沙盒分身功能源代码的四款软件具有著作权登记证书做了初步审查,再施加过高的审查注意义务不符常理,故仅凭代收会员充值款项的事实尚不足以认定该三公司与玩友公司构成共同侵权。罗盒公司的该主张缺乏依据,本院不予支持。”

2. 再有人告也不管了

如果哪天又冒出一个人,说他是VA的贡献者之一,也向玩友索赔的话,法院说,你找罗盒要钱去。

判决书说:“特别需要指出的是,以后涉案软件的贡献者以同一事实向玩友公司索赔的,若能证明其属于合作作品作者之一的,应基于前述赔偿数额向罗盒公司主张分割赔偿款。”

3. 翻译来自哪里?

我在解读“风灵案”的文章中,有一个疑惑:GPL中文翻译版本到底来自哪里?

从文字上看,和阮坤良版本3非常接近,但又有细小的差异,这就让我大惑不解。

这次终于明白了:

判决书中说到:“罗盒公司为本案支付了公证费、鉴定费、翻译费。”

那就是罗盒请的翻译呗。

而翻译费也着实够便宜,所以译者也就是在阮版上略微做了一点小改动。

“关于维权的合理开支,罗盒公司提交民事委托代理合同一份、律师费发票一张(金额10万元),公证费发票九张(金额合计11500元),鉴定费发票一张(金额30000元),翻译费发票一张(金额820元)。”

这820元,除了翻译GPL V3,估计还包括翻译GitHub用户条款的费用。

四、裁判结果

简略地讲:

一、玩友立即停止侵害罗盒,相关侵权软件(共4款)下架,停止相关运营。

二、玩友赔偿罗盒经济损失及维权合理开支共计50万元。

这50万是怎么算出来的呢,这里简要说一下,详情见判决书。

侵权费计算的主要考虑因素:

VA实现的是沙盒分身功能,并非玩友4款软件的核心功能,玩友的核心功能是美颜;2. 玩友4款软件虽然在各个平台的下载累计上百万次,但玩友说里面存在刷量;3. VA商业版授权一年20万;4. 综合考虑玩友的侵权性质、侵权时间及不履行GPL协议的情况。

维权合理费用:

罗盒为本案支付的公证费、鉴定费、翻译费、律师费。

三、驳回罗盒的其他控诉。

图片广州知识产权法院

五、还有一个重大问题

有一个重大问题,“风灵案”和“玩友案”的判决书都没有正面去说。

玩友认为:

“VirtualApp项目人aslody罔顾社区其他开发者的贡献及相应著作权权利,将开源项目据为私有并进行大肆敛财,违背开源社区的基本准则。”

如果我没有理解错,玩友诟病的是罗盒闭源的那个商业版。

广州知识产权法院是这么回答的:

“至于玩友公司称涉案软件使用了其他开源项目源代码却将项目据为私有违背开源社区基本准则的问题,在软件开发中使用他人开源代码只要不违反开源协议即属合规行为,罗盒公司在引用其他开源代码时保留了相关权利人信息及开源授权许可协议且保持项目开源,玩友公司该主张缺乏理据,本院不予支持。”

在我看来,这段说得不够清楚,回答得不够完整。

法院说的是GitHub上那个VA,但罗盒那个已经闭源了的商业版VA是什么性质呢?

所谓闭源软件,就是没有按照任何开源协议发布的软件。罗盒现在的商业版VA(不在GitHub上公开的那个),我看并没有按照开源协议授权,虽然购买授权者可以拿到源码。

这涉及的关键问题是:罗盒能不能把多人共同创作的VirtualApp闭源为自己的商业版?

我认为,从严格意义上讲,是不可以的。(虽然可能确实有超过90%的代码都是asLody完成的)

如果罗盒是VA的唯一作者,私有化没问题,当然可以。(参见我对“风灵案”的解读文章)

但罗盒并非VA的唯一作者,如果要私有化,就要征得所有作者同意,而且还要把商业版收益分给所有作者。这在我国著作权法实施条例中说得很清楚:

《中华人民共和国著作权法实施条例》第九条规定:“合作作品不可以分割使用的,其著作权由各合作作者共同享有,通过协商一致行使;不能协商一致,又无正当理由的,任何一方不得阻止他方行使除转让以外的其他权利,但是所得收益应当合理分配给所有合作作者。”

在VA按照GPL开源期间,有30多位贡献者,这些贡献者,每人都拥有部分版权(著作权)。

法院说:“访问GitHub官网,搜索查看VirtualApp项目的开源许可、合作者、版本等信息。2016年至2017年期间,该项目有三十多位贡献者,其中paulo-raca提交19次(增加721行,删除2622行),prife提交16次(增加274行,减少59行)。该项目于2016年7月7日首次提交并开源。该项目使用了Cydia Substrate、LAYOUT、FB等开源源代码。”

这些GitHub上的贡献者(也即作者)是否把著作权转让给了罗盒?

判决中说:

GitHub用户协议条款说:“6.每当您对含有许可协议通知的仓库做出贡献时,您将按照相同的条款许可您的贡献,并且您同意您有权按照这些条款许可您的贡献。如果您有一个单独的协议来根据不同的条款许可您的贡献,例如贡献者许可协议,那么该单独的协议将会取而代之。”

GitHub的用户协议条款4

由于罗盒与贡献者并没有签单独的协议(GitHub上没有,也未在历次官司中出示),按照GitHub用户协议,贡献者们仅仅是将代码按照GPL授权给罗迪(罗盒)使用,而没有将著作权送出。而GPL是不允许衍生程序闭源的,VA的商业版也必须按照GPL继续开源。

更不要说,VA中还使用了Cydia Substrate开源软件,这也是GPL的,按照强传染性,VA是其衍生品,也必须继续使用GPL。(至于LAYOUT、FB是不是GPL的,我懒得查了)

VA商业版如果继续使用GPL,就要允许别人不买授权也可以商业使用。而且,如果有人从罗盒那里买了商业版VA,他就可以按照GPL第4条,把商业版VA源码放到GitHub上公开,我想这是罗盒所不愿看到的。

所以,为了避免今后的麻烦,罗盒公司应该正视这个问题,想办法解决(比如完全剥离干净)。

如果没有解决好,这就始终是一把悬在罗盒上方的达摩克利斯之剑。

因为谁知道哪天会冒出来一个作者,指控罗盒违背GPL授权,要求罗盒赔偿呢。(至少是索取应得收益)

如果真有,按照我国法院现在对GPL的理解,罗盒很难打赢官司的。

文|卫剑钒


  1. 《人话解读GPL V3》  
  2. 罗盒诉玩友一案判决书  
  3. 阮坤良版GPLv3翻译 
  4. GitHub用户协议

文章作者: 卫剑钒
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 卫剑钒 !
  目录