HashiCorp 放弃开源原则这件事并无新意。
在加利福尼亚蒙特利召开的 Linux 基金会成员峰会Linux Foundation Members Summit 上,最受关注的议题是人工智能和开源。而第二重要的话题涉及到 HashiCorp 放弃 Terraform 的 Mozilla 公共许可证Mozilla Public License(MPL),转而采用 商业源代码许可证Business Source License(BSL)1.1,以及由此引发的 OpenTofu 项目复刻。因 Linux 基金会对 OpenTofu 项目的支持,HashiCorp 的 CEO David McJannet 表现出极度的不满。
关于许可证切换、源代码复刻以及由此产生的争议,火热的讨论并未减少。但在我看来,有一点被人们忽视:人们一直误认为这是新鲜事物,实则不然。
之前已经有过不止一次,甚至不止十次,公司将开源代码转变为专有程序,或者隐藏在一个专有的包装中。
首先,人们经常拿走开源代码,但却抹去其许可证信息,然后就此继续下去。虽然这并不一定构成窃取行为,实际上,有些许可证,比如 MIT 许可证和两句版 BSD 许可证,完全允许公司和开发者在他们的专有程序中使用这些代码。例如,我们都熟知以下基于 MIT 许可证的程序,比如 Angular、.NET、Node.js、Ruby on Rails 和 React。
其次,有一些程序最初以开源的形式开始,但随着时间的推移,原始所有者和许可证规则发生了变化,以至于许多人甚至都不知道它们曾经是开源的。举例来说,苹果公司的 macOS 就是其中的一个典型。
你是否知道 macOS 曾经是开源的?确实,它曾经是。
macOS 的核心基于 Darwin,这是一种 Unix 操作系统。史蒂夫·乔布斯Steve Jobs 回归苹果公司时,引入了他的基于 Unix 的 NeXTStep 操作系统。到了 2000 年,苹果公司逐步放弃了他们的经典 Mac 操作系统,转而支持 macOS Darwin。除了来自 NeXTStep 的部分,Darwin 还大量借鉴了开源的 FreeBSD 和 Mach 操作系统的设计。
如今,如果你深入研究,仍然可以在 macOS 中找到 Darwin,它在 苹果公共源代码许可证Apple Public Source License 2.0 下开源。虽然还有一项名为 PureDarwin 的工作正在努力制作一个独立的 Darwin 操作系统,但进展甚微。在这个过程中,苹果公司巧妙地减弱了一个重要的开源操作系统的影响力。更为常见的方式是开源软件以 “开放核心open core” 的方式融入商业程序中。简而言之,开放核心,与开源不同的是,这是一种商业模式。在这种模式中,公司基于一个免费的、开源的核心程序,然后通过加入商业版本或者专有的附加组件来发展。
此术语由 Andrew Lampitt 在 2008 年提出,虽然代表的并不是一个新的概念。他提出这个术语是为了替代混乱的术语 “双重许可dual licensing”。这个命名更改是为了 “消除误解,推广一个对于开源社区、付费客户和供应商都有利的商业模式”。同时,其目标也是为了消解我们现在在 HashiCorp 看到的 “诱捕并切换bait and switch” 类似的争议。
尽管我们可以辩论这是否是一个 “出色的商业模式”,但无可争议的是它已经成为一个非常流行的模式。然而,近年来,我们看到的趋势是,许多企业从开放核心模式退回到 源码可得source-available 模式。在源码可得模式下,你可以查看所有的代码,但在某些情况下你不能修改或使用它。
例如,MongoDB 创建了一种非开源许可证,即 服务端公共许可证Server Side Public License(SSPL),以应对那些通过提供自托管版本和服务从其代码中获利的超级云计算公司。
并非只有 MongoDB 做出了这样的决定。Elastic 在开源核心模型运作的很好,但当亚马逊 AWS 等公司通过提供 ElasticSearch 服务赚取巨额利润时,Elastic 在 2021 年做出了 策略调整。它放弃了开源的 Apache 2.0 许可,转而采用非开源的 SSPL 和 Elastic 许可证。
Elastic 和其他几家公司(如 Redis 等)的此类做法,主要目的是阻止云服务公司将他们的开源程序作为一种服务而提供。然而,这个做法反过来对 Elastic 产生了负面影响,因为 AWS 对这个项目进行了 复刻。这一切是否让你想起了 HashiCorp?是吧。
尽管这些向非开源许可的转变惹怒了一些用户和很多开发者,但这些公司的业绩仍表现相对稳定。你可能对此感到不满,但事实是,对于这些公司来说,这种转变在一定程度上取得了成功。
接着,我们来看红帽公司的情况。红帽公司对其红帽企业 Linux(RHEL)代码的使用 施加了限制,只允许其客户使用。几十年来,红帽公司一直在权衡作为开源领导者与处理 RHEL 克隆产品(例如 CentOS,以及最新的 AlmaLinux 和 Rocky Linux)的关系。
随着时间的推移,红帽公司对与他人共享其代码表现出越来越大的犹豫。现在,你可以(且很多人确实正在这么做)辩论红帽公司不再是一个真正的开源公司。批评者认为,红帽公司虽然仍然严格遵守 GNU 通用公共许可证(GPL)的条款,但已经失去了开源精神。
虽然 RHEL 和与其相关的一系列程序仍在产生可观的利润,但红帽公司希望能够从中获取更多的收益,因此,它也开始逐步偏离开源原则。
实际上,所有这些案例的共同之处在于:对更大财富的欲望。如圣经所言,“贪财是万恶之根”。我不确定这一句话的真假,但我确实知道,对金钱的热爱和开源原则很难两全。
对于从开源软件中赚钱并没有错误之处。理查德·斯托曼Richard M Stallman(RMS)曾言:“工作寻求报酬,或者寻求尽可能增加收入,这并没有错,只要不采用破坏性的方式即可。” 然而,在 RMS 看来,“通过限制它们的使用来从程序的用户中挤取金钱,是一种破坏行为。”
尽管在现今开源软件与商业实践交汇的情况下,RMS 的观点可能并不如过去那样深受欢迎,但他仍然拥有众多的支持者。
(题图:
MJ/b06e9a62-5c0d-49c5-a7b3-fd5af60ac0b1)
via: https://www.theregister.com/2023/10/27/open_source_vs_sort_of_open_source/
作者:Steven J. Vaughan-Nichols译者:ChatGPT校对:wxy
本文由 LCTT原创编译,Linux中国荣誉推出