在过去的几个月中,我参加了两次主题演讲小组,人们在会上提出了有关开源许可的问题
- 在云时代,我们是否需要重新定义开源的含义?
- 云厂商是否在滥用开源?
- 我们所知的开源会生存下去吗?
去年是我记忆中最热闹的一年,通常非常保守的开源许可领域
- Elastic 和 Confluent 为其部分堆栈引入了他们自己的许可证。
- Redis Labs 通过添加“Commons Clause”更改了其某些扩展的许可证,然后在几个月后更改了整个许可证。
- MongoDB 提出了一个新的许可证,称为服务器端公共许可证 (SSPL),提交给开源促进会 (OSI) 批准,但后来在 OSI 有机会做出决定之前撤回了该提案。开源社区中的许多人认为 SSPL 未能达到开源许可证的标准。因此,MongoDB 使用的许可证可以描述为“源代码可用”但不是开源,因为它尚未获得 OSI 的批准。
云中的竞争
软件供应商进行这些更改的最常见原因是云厂商的“不正当竞争”。理由是云厂商不公平地提供开源软件“即服务”,获取了大部分收入,而原始软件供应商继续承担大部分开发成本。市场传言称,亚马逊网络服务 (AWS) 从 MySQL 获得的收入比拥有该产品的 Oracle 还多。
那么,是谁声称不正当竞争正在破坏开源生态系统?通常,最响亮的声音来自风险投资支持的开源软件公司。这些公司需要非常高的增长率来证明其高昂的估值是合理的,因此他们不希望担心额外的竞争是有道理的。
但我反对这种说法。如果您的软件有开源许可证,您需要接受随之而来的好处和缺点。此外,您的软件可能会获得更快和更大的采用率,部分原因是其他企业,无论大小,都可以通过您的软件赚钱。您需要接受甚至期望来自这些企业的竞争。
简而言之,蛋糕会更大,但您只会得到其中的一块。如果您想要更大的蛋糕份额,您可以为您的全部或部分软件选择专有许可证(后者通常称为“开放核心”)。或者,您可以选择或多或少宽松的开源许可。选择正确的组合并随着时间的推移进行调整对于生产开源软件的企业的成功至关重要。
开源社区
但是,软件用户和围绕这些项目的开源社区呢?这些群体通常乐于看到他们的软件可以从云厂商处获得,例如,数据库即服务 (DBaaS),因为它使软件更容易访问,并为用户提供了前所未有的更多选择。这可能会对社区产生非常积极的影响。例如,PostgreSQL 的采用率,PostgreSQL 以前不易使用,但通过在 Heroku 上可用,然后作为主要云厂商的 DBaaS,其采用率得到了极大的提升。
对云厂商的另一个批评是他们不支持开源社区。这部分是由于他们不愿共享软件代码。然而,他们通过推动可用性的边界,为社区做出了重大贡献,而且我们越来越多地看到云厂商贡献代码的例子。受到最多批评的 AWS 拥有多个开源项目,并为其他项目做出了贡献。亚马逊为 Redis 贡献了传输中加密,最近发布了Open Distro for Elasticsearch,它为 Elastic 平台的开源版本中不可用的许多功能提供了开源等效项。
开源的现在和未来
因此,虽然受云厂商影响的开源公司继续争辩说,这种竞争会扼杀他们的业务,从而扼杀开源项目,但这种论点是误导性的。竞争并非新鲜事物。未能适应这些新商业现实的较弱公司可能会失败。其他公司将会蓬勃发展或被更强大的参与者收购。这个过程通常会带来更好的产品和更多的选择。
对于开源软件而言尤其如此,与专有软件不同,开源软件不会因公司的失败而被抹杀。一旦发布,开源代码始终是开放的(您只能更改新版本的许可证),因此如果存在需求,每个人都可以行使 fork 并继续开发的权利。
因此,我相信开源软件的运作方式完全符合预期。
一些企业试图平衡开放和专有软件许可证,现在正在转向限制性许可证。时间会证明这是否会保护他们,还是会导致他们的用户寻求更开放的替代方案。
但是,“源代码可用”许可证呢?这是一个新类别,也是软件供应商和用户的另一种选择。但是,这可能会令人困惑。“源代码可用”类别没有明确定义。有些人甚至将此软件称为开源软件,因为您可以在 GitHub 上浏览源代码。当源代码可用的代码与真正开源的组件混合在同一产品中时,可能会出现问题。如果出现问题,它们可能会损害开源软件的声誉,甚至使用户面临潜在的诉讼。我希望标准化的源代码可用许可证能够得到开发并被软件供应商采用,就像开源许可证的情况一样。
在 Percona,我们发现自己处于独特的地位。多年来,我们一直利用开源的自由来开发现有软件的更好版本,具有增强的功能,且对用户免费。Percona Server for MySQL 与 MySQL Community Edition 一样开放,但具有 MySQL Enterprise 中可用的许多增强功能以及其他优势。这也适用于 Percona Server for MongoDB。因此,我们与 MongoDB 和 Oracle 竞争,同时也感谢他们所做的令人惊叹的工程工作。
我们还与其他云厂商的 DBaaS 竞争。DBaaS 对于不担心供应商锁定的较小公司来说是一个不错的选择。它以巨大的价值提供卓越的价值,并且是一些客户的绝佳选择。这种竞争有时令人不快,但最终是公平的,竞争促使我们成为一家更好的公司。
总而言之,无需惊慌!云不会扼杀开源软件,但它应该激励开源软件企业调整和发展其运营。很明显,敏捷性将是关键,能够利用新发展并适应不断变化的市场条件的企业将更容易成功。最终结果可能是更多的开源软件和更多的非开源软件,所有软件都在各种许可证下运行。
1 条评论