违反GPL协议,法院判罚了!国内首例

整理 | 一君

出品 | OSC开源社区(ID:oschina2013)

近日,一起关于 GPL 版权纠纷案裁判文书公示。一审判决书显示,GPL3.0 协议是一种民事法律行为,具有合同性质,可认定为授权人与用户间订立的著作权协议,属于我国《合同法》调整的范围。一审判定两侵权被告公司赔偿原告公司经济损失及维权合理费用共计 50 万元,并停止侵权行为。

此判例可以说是中国首个明确 GPL3.0 协议的法律效力的案例。判决书显示,明确违反开源软件许可证的侵权法律责任,一方面可以及时制止侵权行为,防止他人对开源软件的不正当利用;另一方面能够有效保护授权人的利益,使他们保有继续创作的动力,促进源代码共享和知识的传播。

不过值得注意的是,本案中被告的侵权事实成立,是因为违反 GPL3.0 协议导致 GPL3.0 协议自动解除,被告失去了 GPL3.0 协议下的源代码授权保护,进而构成侵权。

判决书中对于违反 GPL3.0 协议的侵权责任明确如下:

关于违反 GPL3.0 协议的侵权责任。

著作权法为了保护权利人的专有权,仅规定非权利人可以在如“合理使用”等范围内使用作品,诸如复制、修改、发行等权利则专属于权利人,任何人非经许可实施这些行为将构成侵权。

根据 GPL3.0 协议第 8 条“终止授权”的约定,授权人许可用户在遵守许可证规定的前提下行使某些权利,但用户必须承担相应的义务。若用户违反 GPL3.0 协议的使用条件来复制、修改或传播受保护的作品,其通过 GPL3.0 协议获得的授权将会自动终止。

对此,我国《民法总则》第一百五十八条规定:“民事法律行为可以附条件……附解除条件的民事法律行为,自条件成就时失效”。

根据开源软件的特性,GPL3.0 协议规定的使用条件(如开放源代码、标注著作权信息和修改信息等)系授权人许可用户自由使用的前提条件,亦即协议所附的解除条件。一旦用户违反了使用的前提条件,将导致 GPL3.0 协议在授权人与用户之间自动解除,用户基于协议获得的许可即时终止。用户实施的复制、修改、发布等行为,因失去权利来源而构成侵权。

本文案件相关内容整理自一审判决书。

案件概况

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

被告:福建风灵创景科技有限公司(以下简称福建风灵公司) 

被告:北京风灵创景科技有限公司(以下简称北京风灵公司)

(福建风灵公司系被告北京风灵公司的全资子公司)

被告:深圳市腾讯计算机系统有限公司(以下简称腾讯公司)

原告济宁市罗盒网络科技有限公司独立开发“罗盒(VirtualApp)插件化框架虚拟引擎系统 V1.0(简称 VirtualApp V1.0)。VirtualApp 从 2016 年 7 月 8 日的版本开始引入开源协议,起初为 LGPL3.0 协议,2016 年 8 月 12 日更换为 GPL3.0 协议。

2017 年 10 月 29 日,原告公司在 VirtualApp 后续开源版本中删除“适用 GPL3.0 协议”的表述。

2017 年 11 月 8 日,原告公司为 VirtualApp V1.0 取得计算机软件著作权登记证书,依法享有 VirtualApp V1.0 软件著作权的全部权利。

2017 年 12 月 30 日由 Lody(原告公司股东、VirtualApp 项目人罗迪) 提交的更新(对应 Git 码为8e6d9cd925af55b53a7e93046c469dd69676c38b)的 CHINESE.md 文件内载明“VirtualApp(中文名为罗盒)2017 年 8 月份正式公司化运作,当您需要将 VirtualApp 用于商业用途时,请务必联系 QQ1*****购买商业授权……VirtualApp 源代码将于 2017 年 12 月 31 日停止更新”。

2018 年 9 月,原告调查发现名为“点心桌面”的软件使用了 VirtualApp V1.0 的代码,将两个软件源代码进行分析比对,两者间 421 个可比代码中有 308 个代码具有实质相似性,有 27 个代码具有高度相似性,有 78 个代码具有一般相似性。因此,被诉侵权软件与涉案软件构成实质相似。

原告向法院起诉,庭审时明确诉请为判令如下:

1.被告福建风灵公司、被告北京风灵公司立即停止侵害原告的计算机软件著作权,即立即停止通过互联网提供所有版本的“点心桌面”软件的下载、安装和运营服务;

2.被告福建风灵公司、被告北京风灵公司赔偿原告经济损失 2000 万元;

3.被告福建风灵公司、被告北京风灵公司赔偿原告为制止侵权行为而支出的合理费用 50 万元;

4.被告福建风灵公司、被告北京风灵公司承担本案诉讼费用。

证据显示,被告福建风灵公司系被诉侵权软件“点心桌面”的著作权人。被告北京风灵公司亦被有关互联网平台标示为“点心桌面”的开发者,并被登记为“点心桌面”软件的著作权人。此外,提供被诉侵权软件下载、安装和运营服务的“点心桌面官网”和“应用宝”网站分别由被告福建风灵公司和腾讯公司经营。

立案之后,经查,被诉“点心桌面”App(V6.5.8)中使用了原告采用 GPL3.0 协议发布的VirtualApp,同时被告对此亦予以确认。

法院观点

法院认为,该案系侵害计算机软件著作权纠纷,涉及开源软件的相关问题。根据双方诉辩意见及举证情况,该案争议焦点有四方面。法院已就焦点问题给出明确观点。

(此部分为法院观点截选,详情可查看判决书原文。)

焦点一:GPL3.0 协议的法律效力。

法院明确 GPL3.0 协议具有合同性质,可认定为授权人与用户间订立的著作权协议,属于我国《合同法》调整的范围。

关于违反 GPL3.0 协议的侵权责任,明确若用户违反 GPL3.0 协议的使用条件来复制、修改或传播受保护的作品,其通过 GPL3.0 协议获得的授权将会自动终止。

焦点二:原告是否有权提起本案诉讼。

一是根据代码托管网站上的上传记录及证明等,原告公司可以证明是 VirtualApp 的著作权人。

二是原告提起本案诉讼无需贡献者的同意或授权,即有权提起诉讼。原因包括:原告公司股东罗迪作为项目人已将 VirtualApp 初始版本的源代码共计 31097 行在 Github 网站上公开发布,此系原告主张权利的基础;本案项目人对“主分支”中 VirtualApp 源代码的形成起到了决定作用;贡献者选择在 GPL3.0 协议的 VirtualApp 项目中上传自己的源代码,贡献者亦将按照 GPL3.0 协议许可其贡献,即视为同意将贡献内容许可给项目人及其他用户使用,并且若开源项目的起诉维权需经全体贡献者一致同意或授权,实则导致维权行为无从提起。综上,原告提起本案诉讼无需贡献者的同意或授权。

三是,GPL3.0 协议中仅限制授权人不得向用户主张任何专利权,而并未限制授权人对违反许可协议的用户主张著作权。因此,原告的诉讼行为并未违反 GPL3.0 协议关于争议解决方式的约定。

焦点三:被诉行为是否侵害原告的著作权。

一是原告虽将 VirtualApp 分为开源版本与商业版本,并且在后续开源版本中删除“适用 GPL3.0 协议”的影响问题。

原告在本案中系以 VirtualApp 开源版本而非商业版本作为其权利基础,故本案中不必对VirtualApp 开源版本与商业版本的关联及影响作出认定。而根据 GPL3.0 协议,若先前版本使用了 GPL3.0 协议,则后续版本也必然受 GPL3.0 协议的约束,因此 VirtualApp 后续开源版本仍然受 GPL3.0 协议的约束。

二是 GPL3.0 协议允许用户进行商用,授权人不得对此作出限制。所以原告主张“点心桌面”App进行商用违反 GPL3.0 协议及其附加条款缺乏理据,法院不予支持。

三是被诉“点心桌面”App(V6.5.8)本应当遵循 GPL3.0 协议向公众无偿开放源代码,但被告福建风灵公司拒不履行 GPL3.0 协议规定的使用条件。根据 GPL3.0 协议第 8 条自动终止授权的约定及《民法总则》第一百五十八条的规定,被告福建风灵公司通过该协议获得的授权已因解除条件的成就而自动终止。被告福建风灵公司对 VirtualApp 实施的复制、修改、发布等行为,因失去权利来源而构成侵权。

焦点四:若侵权成立,被告应承担的法律责任。

被告福建风灵公司作为“点心桌面”App(V6.5.8)的开发、运营和发布者,依法应承担停止侵害 VirtualApp 著作权的行为。鉴于被告福建风灵公司系被告北京风灵公司的全资子公司的情形,原告指控两被告共同承担侵权责任合法有据,法院予以支持。

被告腾讯公司对其“应用宝官网”上可能存在的侵权行为制定了相关规则、设置了投诉渠道,且对被诉软件作了及时下架处理。原告亦未对被告腾讯公司提出具体诉请。因此,被告腾讯公司无需承担法律责任。

关于赔偿问题,原告主张以被告福建风灵公司、被告北京风灵公司的侵权获利来计算。鉴于开源许可协议缔约方式和缔约主体的特殊性,导致违约或侵权行为更具隐蔽性,相应法律责任的承担应有助于敦促缔约方诚信履行开源义务,确保开源社区规范、持久的发展。开源软件大多都是免费的,但授权人付出的开发成本是必然存在的,按照侵权获利来承担赔偿责任更为公平合理。

最终,法院酌情确定赔偿数额为 50 万元。原告为制止本案侵权行为所支出的合理费用,计算在赔偿损失数额范围之内。

关于此案的更多细节和法院观点,详情可登陆中国裁判文书网查看此案(2019)粤03民初3928号一审判决书。

一审判决书:

https://wenshu.court.gov.cn/website/wenshu/181107ANFZ0BXSK4/index.html?docId=05f553bd178d4354bb48ad5100c1314f(中国裁判文书网地址)

https://www.iphouse.cn/cases/detail/woznd0v9pek4jx35ovdj8y5gxrm371q2.html?keyword=GPL(其他网站地址)

律师解读

我们邀请专注 TMT 领域的知识产权问题的邓超律师(18611123013)就此案件做相关解读。后续邓超律师将发表深度解读文章,敬请期待!

问题一:此案对后续有关开源软件版权纠纷案件有何具体参考意义?

这个案子据我所知,被告上诉了,所以现在这个判决还没有生效,最后法院怎么认定,还没有最终定论。

但毫无疑问的一点是,违反许可证的义务是会遭到权利人的侵权索赔的。

因为以往国内开源主要是拿来主义,使用国外的代码比较多,但随着国内开发者的不断成熟。将来相关的纠纷会越来越多,这就要求法务和开发人员了解开源的相关问题。

问题二:为什么此案件中,“点心桌面”未被强制开源?

没有要求强制开源是因为原告没有提出这样的要求,那么法院是一个被动的审判机关,不告不理,只被动审理原告提出的请求。

在这个案件中,原告没有选择合同,也就是许可证违约,而是选择了版权侵权这条救济途径。一般而言,版权侵权要比合同违约的救济力度要大,无论从各个方面,这在国内和在美国都是如此。

问题三:如果原告提出了开源的诉求,会如何?

如果原告选择了合同违约这条途径,法院是不是会支持被告将代码强制开源这个问题其实很值得探讨,我个人初步的观点是,法院不一定会支持这种诉请。关于这个事情,我准备近期写篇文章,但我现在初步的看法是要求代码强制开源,在法院不太可能得到支持。

所以,如果违反 GPL 许可证的义务,那么将代码全部开源,更多的是一种理论上的可能。在实践中,以中国和美国的法院为例,我理解支持这种诉求的可能性都非常低。

延伸阅读

GPL 解读文章:

人话解读GPLv3:https://my.oschina.net/vigor23/blog/4951596

论“GPL就是给软件开发者们准备的坑”:https://my.oschina.net/vigor23/blog/4954734

开源软件、自由软件、Copyleft、CC都是啥,傻傻分不清楚?:https://my.oschina.net/vigor23/blog/5138356

夜天之书 #6(Copyleft 相关解读):https://my.oschina.net/u/4489239/blog/5252879

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/298404.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开篇 — 【面向对象设计模式学习】

说明: 关于设计模式的文章网上已经很多了,本人也只是想参考别人的文章来系统地学习一下设计模式,因此,这个系列并不是一个系列教程,而仅仅是作为本人学习设计模式的一个学习笔记,此外,由于本人能…

又来了!深度学习PyTorch与TensorFlow到底哪家强?

全世界只有3.14 % 的人关注了爆炸吧知识自从2012年深度学习再一次声名鹊起以来,许多机器学习框架都争先恐后地要成为研究人员和行业从业者的新宠。面对如些众多的选择,人们很难判断最流行的框架到底是什么。在某些情况下,深度学习或深度迁移学…

mysql从多个表查询数据类型_MySQL 之 多表查询

阅读目录一.多表联合查询#创建部门CREATE TABLE IF NOT EXISTSdept (didint not null auto_increment PRIMARY KEY,dnameVARCHAR(50) not null COMMENT 部门名称)ENGINEINNODB DEFAULTcharset utf8;#添加部门数据INSERT INTO dept VALUES (1, 教学部);INSERT INTO dept VALUES …

通过 GitExtensions 来使用 Git 子模块功能

通过 GitExtensions 来使用 Git 子模块功能目录一、前言二、Git 子模块三、子模块更改提交四、更新子模块五、[附] 去除最近的提交记录独立观察员 2021 年 9 月 5 日一、前言众所周知,编程,尤其是面向对象编程的一个重要思想就是 “封装”,可…

Linux系列-Red Hat5平台下的Postfix邮件服务搭建(二)

咱们接着上次的说,本次没有小标题。想了半天也没想出个好名子来,因为这次我们要做三件事:1.搭建基于Postfix的webmail;2.设置用户别名和邮件群组;3.设置邮件大小、邮箱空间的限制。环境还是之前的,做之前可…

单片机断电后静态存储区里面还有数据吗_单片机启动流程和存储架构详解

最近在给公司的ADAS DCU做内存分配(Memory Allocation),在这儿记录一下相关知识点,也算是给中文社区做贡献了。目录:1. ECU启动流程2. 存储空间解析3. TC397单片机的Memory Map和一些备注1. ECU启动流程图总比文字直观…

培养有见识的孩子,这6部适合孩子的纪录片,在家也能涨知识!

全世界只有3.14 % 的人关注了爆炸吧知识对孩子来说,好的纪录片就像打开了一扇新世界的大门,让他们了解更多世界的奇妙之处。BBC(英国广播公司)的纪录片题材广泛、制作精良。看这些经典的纪录片,既可以追溯上下数千年的…

Beta版本发布报告

项目名称学霸系统写手机客户端项目版本Beta版本负责人北京航空航天大学计算机学院 hots团队联系方式http://www.cnblogs.com/hotsbuaa/要求发布日期2014-12-28第一阶段基本功能已经完成,因此第二阶段的任务是:美化UI,修复接口,修复…

Dapr牵手.NET学习笔记:开篇

dapr,一个为分布式应用程序的运行时,为开发者在对接分布式组件时,提供了便利。使用dapr带来的好处可扩展性,因为它是通过sidecar的理概念来集成其他运行时的。同时dapr还提供了多种语言的SDK。关于dapr更多介绍,官方文…

vue 一个页面有点请求需要同时发送_前端性能优化,这些你都需要知道

来源: 海洋里的魔鬼鱼前言最近花了一些时间在项目的性能优化上,背后做了很多工作,但是最后依然没有达到自己想要的结果,有些失望,但是还是记录下自己的执着。性能优化总结:减少请求次数、减小资源大小、提高响应和加载…

男人能有什么错呢?

1 这上菜方式厉害了!2 谁上学的时候还没转过笔了!3 和朋友的塑料友情 图自别叫我P图仔4 非洲最致命的猫!传说能撂倒长颈鹿!大家估量一下!5 狗子:你放开我好吗??6 这位小姐姐真的很酷…

H3C 5510 交换机DHCP设置

DHCP不能发现网络上非DHCP客户机已经在使用的IP地址;当网络上存在多个DHCP服务器时,一个DHCP服务器不能查出已被其它服务器租出去的IP地址;DHCP服务器不能跨路由器与客户机通信,除非路由器允许BOOTP转发。PC发出的广播包&#xff…

opentrace在mysql中使用_采用OpenReplicator解析MySQL binlog

Open Replicator是一个用Java编写的MySQL binlog分析程序。Open Replicator 首先连接到MySQL(就像一个普通的MySQL Slave一样),然后接收和分析binlog,最终将分析得出的binlog events以回调的方式通知应用。Open Replicator可以被应用到MySQL数据变化的实…

雷军:有人说我写的代码像诗一样优雅~

全世界只有3.14 % 的人关注了爆炸吧知识整合整理:程序员的那些事(id:iProgrammer)雷军的代码像诗一样优雅↓↓↓有些网友在评论中质疑,说雷军代码不会是「屎」一样优雅吧。说这话的网友,也许是开玩笑的&…

mysql分析日志_MYSQL 索引(三)--- SQL日志分析

慢查询日志Mysql 的慢查询日志是 Myql 提供的一种日志记录,用来记录在 Myql 中响应时间查过阈值的语句,具体指运行时间超过 long_query_time 值的 SQL,则会被记录在日志中。long_query_time 默认为 10,单位为秒。默认情况下&#…

C#多线程开发-任务并行库

你好,我是阿辉。正文共2090字,预计阅读时间:6min。之前学习了线程池,知道了它有很多好处。使用线程池可以使我们在减少并行度花销时节省操作系统资源。可认为线程池是一个抽象层,其向程序员隐藏了使用线程的细节&#…

为什么数学不好,和语文有关系?

▲ 点击查看苏步青教授在担任复旦大学校长时曾经说过:“如果允许复旦大学单独招生考试,我的意见是第一堂课就考语文,考后就批卷子。不合格的,以下的功课就不要考了。语文你都不行,别的是学不通的。”苏步青作为享誉世界的数学家&a…

python string length_如何使用python获取字符串长度?哪些方法?

掌握多种python技巧,对于我们更好的灵活应用python是非常重要的,比如接下来给大家介绍的获取字节长度,那大家脑海里就该有印象了,有几种方法呢?一起来看下吧~1、使用len()函数这是最直接的方法。 在这里,我…

python turtle 绘图_谈一下Pycharm中关联系统Python解释器的方法

大家知道,PyCharm是一款著名的Python IDE开发工具,是拥有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,具备基本的调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等等。该IDE分为社区免费版(…

python中线程和进程_python中线程和进程的简单了解

一、操作系统、应用程序1.硬件:硬盘、cpu、主板、显卡........2.装系统(本身也是一个软件):系统就是一个由程序员写出来的软件,该软件用于控制计算机得硬盘,让他们之间进行互相配合。3.安装软件:各种应用程序二、并发和…