跳转到主要内容

开源生存威胁简史

时代变了。在21世纪初,史蒂夫·鲍尔默曾将 Linux 称为“癌症”。但微软并非最大的威胁。当时一场激烈的辩论正在上演,它有可能制造混乱、分裂社区,并使整个开源运动脱轨。这场辩论的核心是:修改开源软件的人是否应该像 GPL 协议要求的那样,将其修改也开源?还是他们应该可以随心所欲,即使这意味着将修改保密?这是开发者自由与用户自由之争,自由软件基金会 (Free Software Foundation) 和 Apache 软件基金会 (Apache Software Foundation) 分别站在了对立的两端。没有统一的战线,开源注定要失败——或者说,这正是微软所希望的。

在一段时间里,红帽 (Red Hat) 展示了成功资助开源项目的模式:免费提供软件,通过销售支持和服务来盈利。在这种模式下,许可证的选择在很大程度上无关紧要,因为代码本身并不直接产生收入。这场辩论逐渐平息,双方基本上同意求同存异,和平共处。采用 BSD 许可证的软件愉快地运行在采用 GPL 许可证的 Linux 内核和 GNU 用户空间之上。似乎“免费如啤酒”(free as in beer)就足够了,尽管这并非理查德·斯托曼和自由软件基金会的初衷。预言中的开源消亡得以避免。红帽在服务器领域取得了进展,而微软则陷入了困境。

image

红帽模式在一个每个人都运行自己的服务器、安装自己的软件的世界里完美运作,但变革的浪潮正在涌动。购买服务器和安装软件的整个过程是一个主要的痛点,而亚马逊(Amazon)富有远见地预测,公司愿意花费数十亿美元来避免这种麻烦。如果亚马逊为你管理部署并运行你的数据库,那么你就不再需要向供应商支付支持费用了。亚马逊会处理任何出现的问题。


挑战者出现…#

红帽拿到了“金色降落伞”,卖给了 IBM,但那些较小的开源公司却面临一个问题。没有了商业模式,他们庞大的风险投资就永远无法得到回报。大多数公司试图坚守其开源根基,并创造出新的“开源”许可证,例如 MongoDB 和他们的“服务器端公共许可证”(Server Side Public License),但由于未能获得 OSI 的批准以及社区的强烈反对,这项努力基本上失败了。

取而代之的是,那些流行的开源数据库的支持者们已经完全放弃了开源。允许访问代码仅仅是对其开源根基的一种残存的敬意。这类“源码可用”(source available)和“开放核心”(open core)许可证的采用率有限,它们是否会进一步稀释理查德·斯托曼曾经要求的“自由”仍然是一个悬而未决的问题。曾经,用户拥有“运行、复制、分发、研究、修改和改进软件”的权利,而现在,他们或许只能进行研究。


意想不到的救星…#

正当开源似乎再次注定失败时,亚马逊又抛出了一个意想不到的转折。如果其使用的开源软件背后的实体不打算保持其开放性,那么亚马逊将接手并自己维护它。今天,亚马逊宣布了“Open Distro for Elastisearch”。他们使用了强有力的措辞,例如“开源项目的维护者有责任保持源代码分发的开放性,而不是中途改变规则”(重点为我所加)。看来开源再次取得了胜利。

但亚马逊是一把双刃剑。如果开创新开源项目的作者知道,一旦项目足够大,亚马逊就会接手,他们还会继续创建新的开源项目吗?对亚马逊来说,问题也依然存在。如果他们在运行和支持软件方面实现了垄断,他们还能否以外部贡献的形式获得开源的好处?对于每一个红帽客户来说,都有更多的用户在没有支持的情况下运行软件并向上游贡献代码。在一个公司将运营完全外包给亚马逊的世界里,这种动态还会继续吗?


不确定的未来…#

开源本意在于解放我们,并且在一段时间内,它似乎挑战了地心引力。一个来自芬兰的年轻学生可以挑战微软的操作系统垄断。但现在看来,巨人歌利亚已经学会了驾驭大卫的石头。过去十年的教训很明确:如果你不托管客户的基础设施,你就不会成为支持他们开源软件的人——即使那个软件是你写的。

有一点是肯定的,这个新世界比 90 年代的微软垄断要友好得多。至少我们可以修复那些每天困扰我们的漏洞,我们只需要在亚马逊的硬件上运行它就行了。

至于 KeyDB?我们自豪地保持开源。在 GitHub 上查看我们