InfluxDB OSS 的未来:更加开放、宽松,并辅以互补的闭源
作者:Paul Dix / 产品, 用例, 开发者
2021年2月26日
导航至
我最近在 Changelog 播客上谈论 Elastic 最近从开源许可转向的事情。我在 1:02:45 到 1:24:03,但如果您有时间听,整个过程非常有趣。我谈论了我们在 InfluxDB 正在做的事情以及我们未来的开源计划。昨天,我的部分采访被摘录出来,我转发并说了
我所说的未来是 InfluxDB IOx,它是 InfluxDB 的新核心:一个用 Rust 编写的列式数据库,使用 Apache Arrow,并使用对象存储进行持久化。我 在这里写了关于 InfluxDB IOx 的文章,并谈到了我们对宽松许可的偏好(IOx 在 MIT 和 Apache2 双重许可下)。
有些人误解了我在那条推文中所写的内容,以为我们为 InfluxDB 设想的未来是只为云构建软件,并放弃开源。事实并非如此。通过 InfluxDB IOx,我们加倍投入对开源的承诺,并将更多精力投入到免费可用的东西上。它将构成即将发布的 InfluxDB 2.x OSS 版本和我们云产品中存储架构的后端基础。我们还将为 InfluxDB 和 InfluxDB IOx 用户提供商业产品,以补充他们正在运行的开源部分。
关于互补性的最后一部分,我认为是我们开源策略中最重要和最有趣的部分。在为 InfluxDB 开源和商业工作制定未来计划时,我们希望具备两个属性
- InfluxDB Cloud 产品按原样运行开源部分(因为它们是为社区构建的)。
- 我们的本地部署客户应继续按原样运行开源部分。
换句话说:商业产品应该是与开源软件互补的独立软件。
从这种模式中可以获得巨大的开发、测试、稳健性和软件成熟度优势。我们的测试范围是开源版本,我们在持续交付的云产品中在生产环境中运行这些版本。这意味着我们很可能比任何人都先发现错误。在客户环境中发现的任何错误都将在开源仓库中修复,并立即在现实世界中进行测试。我们希望获得的另一个好处是,它将使我们的社区有机会比以前版本的 InfluxDB 更深入地参与开源开发和路线图。
为了实现这两个目标,意味着我们需要有一个商业软件产品,而不是开源的分支。它是另一个使用开源来构建更大系统的软件。在我们的案例中,这个更大的系统实际上是关于一个运营云平台。InfluxDB IOx 将具有复制、订阅、横向扩展和横向缩减等功能,所有这些都将以开放和宽松的许可提供,允许用户进行合作和竞争。这些功能在生产就绪版本的 InfluxDB 开源版中从未提供过,但很快,由于我们的新策略,它们将可用。
这与我们的理念相一致,即开源的东西应该真正自由、开放和宽松,而商业的东西应该显然是闭源和商业的。我们不希望 InfluxDB 的潜在用户对我们打算如何赚钱以及他们是否需要为任何东西付费感到困惑。
在 InfluxDB 1.x 版本中,我们的商业产品是开源版本的 forks。也就是说,它是一个替代品。如果您是开源用户,并且想要购买 InfluxDB 1.x 产品,您可以迁移到我们的云,或者购买我们的 InfluxDB 企业版软件,这将需要替换您正在运行的开源 InfluxDB 实例。
这完全属于我所说的“开放核心”软件阵营:核心部分是开源的,并且有一个专有分支,为该开源事物添加功能。许多数据库现在或曾经是这样构建的。但是,它们中的许多正在转向一种模式,即放弃开源许可证,而是选择一些具有使用限制的源代码可用许可证。他们明显的目的是在拥有托管产品方面创造垄断,同时仍然希望获得开源经常提供的免费营销、 buzz 和吸引力。
我认为开放核心和源代码可用策略都不是理想的。我想要开源项目,每个人都可以自由地对软件做他们想做的事情,包括与任何开发它的人进行商业竞争。我还希望项目具有明确定义的目标和责任,可以在该框架下接受贡献,同时将其他关注点推向其他软件。我所倡导的互补模式将您的闭源工作放入另一个软件类别。
现在你可能会说,等一下,你只是在玩文字游戏。你只会选择将某些东西放在闭源产品中,而不是放在开源中。我现在告诉你,这不是我的意图,但这个策略最好的部分是您不需要信任我。由于闭源代码与开源代码互补,因此没有什么可以阻止其他开源开发人员或其他公司开发他们自己版本的商业代码。他们将能够这样做,因为所有的 API 都以开源形式提供。
这种竞争受到 InfluxDB IOx 代码(以及我们所做的所有其他开源)在宽松的非限制性许可下许可的事实保护。您不必为此信任,您可以验证。它已经在互联网上公开,可以免费获取。这就是为什么 AWS 和其他公司能够 fork Elastic,并在开源工作上继续前进的原因。所以名字可能会改变……谁在乎呢?重要的是用户有自由在情况需要时将事情掌握在自己手中。
这种针对未来潜在不良行为者的保护,即使这些行为者是我们自己,也是我们如此重视宽松许可证和互补商业软件的原因。今天的许可证不是我们对社区的承诺。它是您已经签署并拥有的可交付成果。显然,对于 InfluxDB IOx,它尚未准备好使用,因此在这一点上您需要相信我们会坚持下去。但是,由于目前没有什么可使用(或失去)的,您可以坐下来,吃爆米花,看戏。