开源许可证的法律效力:
许可证算是社区自治,去制定规则,这一部分我们不叫规定,更倾向于叫约定。那么它背后所承载的规定也不是基本法,我们更倾向于看做是合同。
作为案例,罗盒公司的两个案子:
罗盒的案子和其他案子的根本区别在于:它是一个纯粹意义上的开源软件作者,起诉了使用者名单。
权利人其实就是罗盒公司。权利人对外开放了一 个软件,最终选择的许可证是 GPL。被告使用了这个软件。依照 GPL 一个最基本的要求 —— 你使用 了 GPL,那么在 GPL 之下的代码,除了独立可区分的部分外,衍生作品的那一部分也要全部开源出来。但是被告并没有开源,而是直接进行了商业化的使用,原告就去起诉了被告。
法院最后判决说,要求被告承担侵权责任,这里 就有一个合同和侵权相关的问题。。。
那先聊下它为什么会变成赔偿?在这个起诉过程中,法院认定罗盒在开始进行开源时,使用了GPL协议,这个GPL协议是受法院认可的,法院认为它构成了一个合同。被告的修改、分发行为发生了之后, 相当于被告已经接受了GPL 这样的一个合同,这个合同变成了双方的共同意愿。在合同约束双方的前提下,被告没有履行相应的开源义务,所以就丧失了GPL 赋予他的权利。最终,法院判决被告赔偿原告50万元人民币。简单来说,我们今天讨论的案情基本上是这样一个情况。
许可证在美国法律体系下可能会有一些争议,主流观点认为它不是合同,是一个版权许可。因为美国有两套法系,联邦法和各个州的法院,版权和知识产权在美国属于联邦法院管辖,所有州都一样,合同法可能各个州就不一样,除非是联邦法,否则每个州的法律只在当地有效。那么许可证到底是划为版权还是合同,就很重要了。但是在大陆法系,合同也好、许可也好都是一样的,因为咱们许可也是一个许可合同。
什么是双许可:
谈回双许可,这是开源软件里面进行商业化的一种最古老的商业模式。最早是 MySQL 提出来的, 应该已经有 30 年了。它采用的模式是:MySQL 的 源码用 GPL 的方式对外发布,GPL 下的 MySQL 用户有两种,第一种是各种互联网厂商把 MySQL 部署在内部,没有涉及分发的环节;另一种是像 CRM、SAP 这种 ERP 公司,要将其部署到客户系 统里面去,所以就会涉及到发布的行为,其实就是商业行为。这种商业行为恰恰是属于受 GPL约束的范 围, GPL要求你在进行软件发布时,也必须要采用GPL 开源。
显然基于 MySQL 做 CRM、ERP 的厂商肯定是不愿意开源的。所以 MySQL 背后的厂商还提供了另外一个商业许可,选择这个特定的商业许可,你就不用对外开放你的源码,包括你的 CRM、ERP这种核心竞争力就不需要开放。如果购买了商业许可,双方可以谈交易。
双许可的条件:
双许可的可行性依靠的两个方面,第一是 GPL传染性带来的被迫开源。第二,还需要一个强有力的法治环境。如果法治环境不是很好,侵权无处可告的话这个模式也是不成立的,只有在法治环境很好的情况下,才可以采用双许可的开源模式。
可想而知,双许可、甚至多许可的情况下,会针对不同的代码、选择相应的协议,从而形成代码和协议的矩阵组合 —— 这也是个技术活儿。
许可证中的先决条件 —— 我理解就是pre-condition、适用范围之类,比如:
The Atmosphere Licenses 这个许可证非常特殊, 它带有化石燃料撤资的条款,也就是说如果涉及到化 石燃料企业的话,是不会给予许可的。在这里我先说 一下,我觉得人类共同体一定要共同应对气候危机。 但今天我们先不做道德讨论,先来聊一聊法律。就是 这个许可证,是不是涉及对特定领域或者人群有歧视 的问题。
作者绕了半天,表示这个许可证是想符合OSD的:
The Atmosphere Licenses 是想要符合 OSD 标准的, 尤其是第 6 条定义。为了符合这个标准,它就说不 限制我们的软件在任何领域的使用,我们只限制 re Licensing —— 所谓的先决条件。但是我个人认为, 我不给你许可,但允许你使用,这个法律逻辑是说不 通的。
但不管怎样:
话又说回来,即使 The Atmosphere Licenses 没有通过 OSI 的认证,它自己本身也是可以对软件 进行个性化处理。因为知识产权是一个私权,所谓私 权就是 —— 我的东西我做主,所以在进行处理的时 候,有一个道德准则,他认为人类要共同应对气候危 机,那么在这个前提下,只允许部分企业使用,对部 分企业开源,我认为这个事情本身是可以的。不符合 OSD,不代表他不能这样去处理自己的知识资产,我 觉这个方向上讲是没有问题的。
最后就是附加条款了:
我见过比较 奇怪的许可证,比如有一个 Jason Hunter 许可证说 你要用我的代码,你要去买一本 Java 实践最新版的 参考书,参考书作者就是 Jason Hunter 这个人。这 肯定也是合法的,并没有什么违法的情节。
我们今天提到的 The Commons Clause 也是一个许可证,他规定你不能拿我的软件去商用,无论你是直接卖许可还是通过维护更新升级来收钱,都不可以。
The Commons Clause出现的原因:
2018 年的时候,有公司 —— 一般是云厂商, 云厂商比较容易搭开源的便车 —— 去搞商业化,赚 的盆满钵满,但回馈开源社区的比较少。于是开源厂 商就纷纷更改许可证。因为 GPL 的触发条件是分发 才会触发,不分发、没有软件副本的交换就不会触发。 那么像云、SaaS 这些不涉及软件副本的下载,就不 涉及分发,就不用遵守 GPL,所以针对这些云厂商, 就搞出来 AGPL、SSPL,那么就有软件比如 Redis 把 自 己 的 协 议 变 成 Apache 协 议 加 上 The Commons Clause 附加条款,不允许你商用。
总结:
- 开源许可证 = 合同,在中国法律体系下
- 双许可模式,形成代码X许可证的矩阵,是最古老的开源商业模式、产生于没有云服务之前
- 那么,什么是开源许可证呢?并不是只有OSI认证的才是开源许可证,当然OSI的认证省去了很多人的信息费用
- 许可证 + 附件条款的商业模式,纯粹是为了应对云服务厂商的出现
问题来了,那么所谓的云原生呢?先记录下来吧。