作者:dragondrop.cloud 来源:https://medium.com/@hello_9187/
背景
2021年8月10日,HashiCorp 将其之前的“开源”项目的许可证更改为商业源代码许可证(BSL),从而使它们成为未来所有版本的“源代码可用”。我们在这里详细讨论了此变更的原因和动机。
2021年8月15日,OpenTF 宣言发布。其主要观点是,他们希望HashiCorp将 Terraform 的许可证恢复为真正的开源许可证,否则承诺者联盟将支持由基金会管理的 Terraform 分支。
我们的看法
我们认为 OpenTF 宣言对新许可证的描述方式有失偏颇,有利于那些受到许可证变更影响最大的盈利公司,而如果发生分支,Terraform 生态系统的潜在成本太高。此外,作为受影响方,我们不介意将 Terraform 许可给嵌入到我们自己的解决方案中,因为 HashiCorp 建立和维护的庞大支持生态系统。
让我们详细分析这个说法*。
*以下内容不构成法律建议,请咨询熟悉您特定情况的律师。
许可证偏颇和扭曲的陈述
1) 在宣言的开头部分“我们的关切:BUSL 许可证是 Terraform 的毒丸”,他们声称: “…现在,使用 Terraform 的每家公司、供应商和开发人员都必须考虑他们的行为是否可能被视为与 HashiCorp 的产品竞争。”
这个说法似乎相当不准确。唯一需要担心许可证变更的公司是那些将“在托管或嵌入的基础上为第三方提供 Licensed Work”的公司,这些行为与 HashiCorp 的产品竞争。
最初确实有一些关于某些具体问题的合理疑问,即如果 HashiCorp 发布与您先前发布的工具重叠的功能,会发生什么情况?然而,在 HashiCorp 的首席技术官回答了其中一些常见问题后,似乎很明显,这只会影响那些向其他公司销售软件,并且该软件与 HashiCorp 的 Terraform Cloud 和 Terraform Enterprise 产品竞争,或者将 Terraform(源代码或 CLI 二进制文件)托管或嵌入的公司。
值得注意的是,与 HashiCorp 管理的 Terraform 产品直接竞争的三家最大公司,Spacelift、Env0 和 Scalr,在支持一个 Terraform 分支的多年里,已经做出了数百万美元的承诺(这三家公司之间共有13个全职员工,为期五年)。他们的员工和创始人一直是 OpenTF 宣言的最积极的贡献者和传播者。
2) 对于一个分支可能带来的好处的引用,这些好处在 2021 年和现在一样成立。 OpenTF 宣言列出了分支的关键原因,包括创建一个“真正的开源”、“社区驱动”、“公正”和“分层和模块化”的 Terraform。这些都是 Terraform 核心的有效关切,实际上是任何拥有的开源项目公司的问题,但是这些与 Terraform 核心仓库的问题并不是新问题。多年来,HashiCorp 社区接受社区提交的速度一直很慢,他们从未在核心中添加某些企业风格的功能(像任何拥有开源工具的公司一样)。
在过去的大约14天里,唯一的实质性变化是一些公司的利润状况发生了变化。
分支生态系统潜在的成本非常高
如果发生了分支,Terraform的主干版本可能不会闲置。HashiCorp可能会感到迫切,加强其地位,并在新版本的Terraform和主干云供应商中引入不兼容的差异。在最好的情况下,这可能会导致社区为了采用新的Terraform主要版本而做很多额外的工作,在最坏的情况下,导致主干版本和分支之间的兼容性裂痕。
这样的裂痕对于工具的应用将是毁灭性的(我应该使用哪个版本的Terraform?有什么区别?算了,我只是去选择一个替代品)以及纯粹支持Terraform的开源项目(我为哪个分支编写?我是否支持两者并增加维护工具所需的工作?)。这还可能导致巨大的重复工作量,需要永久地并行维护镜像库、provider(提供者)和Terraform核心。
即使在发生分支的情况下,HashiCorp继续照常运营,对整个社区来说,这也像是一个巨大的重复劳动,因为分支的主要受益者只是不同的营利实体及其用户。
总之,分支对Terraform社区可能非常、非常代价高昂。
HashiCorp支持Terraform社区的投入巨大
Terraform社区主要是由HashiCorp维护的,与之相关的成本非常高。
他们每年支持数十亿的提供者下载,免费的模块托管(我们的组织将其作为一个关键的分发机制)以及数十亿的Terraform二进制下载。
上述成本投入不包括主干云Terraform提供者和Terraform核心本身的维护。不用说,HashiCorp会持续的在社区大量投入,并将继续这样做。
反论:BSL的改变不就是遏制竞争吗?
许多Terraform Cloud替代品,特别是Spacelift、Env0、Scalr和Digger,都为Terraform管理开发了创新的工具和功能。与此同时,他们已经从HashiCorp所做的大型生态系统投资中取得了利益。明确地说,这种方法没有错,只要能继续以接近零成本的方式进行,这是一个聪明的商业策略。
许可证更改至少提高了所有Terraform Cloud/Enterprise竞争对手的运营成本。这些成本很可能以某种形式转嫁给他们自己的客户。这可能是通过更高的定价结构,因为许可费冲击了他们的利润率,或者是某些企业完全放弃了Terraform管理,从而选择较少(这种后续响应当然最能遏制竞争)。
还有一件事需要记住,那就是HashiCorp也是一家企业,因此期望它们继续亏损,而与此同时,不受维护和运营Terraform社区资产所需的固定成本的约束的竞争对手直接针对它们,是不现实的。虽然这个领域的产品价格几乎肯定会因为生态系统成本更加均匀地被承担而变得更加昂贵,但如果HashiCorp变成一个不存在的实体,那也不是理想情况。
结论
从我们的角度看,Terraform社区主干分叉的潜在成本可能非常高昂,并可能对Terraform的未来造成严重破坏。HashiCorp继续使用BSL对>99%的Terraform用户没有影响;但主要的OpenTF宣言作者有明确的利润动机,并已经从不同的角度呈现了这种情况。
我们认为Terraform的分支对社区的维护成本,远远超过了少数那几家被改变了营利模式企业的商业价值,并因此我们不支持OpenTF项目。
背景
本文作者所在的公司:如果对我们自己的偏见感到好奇,我们的公司构建了一个嵌入了Terraform CLI的产品,并具有与Terraform Cloud重叠的一些功能,特别是漂移检测,因此受到了BSL更改对Terraform 1.5.5之后版本的影响。dragondrop.cloud的使命是在使用基础设施作为代码时自动化开发者的最佳实践。我们的旗舰开源产品cloud-concierge允许开发者将他们的云计算进行编码,检测漂移,估计云计算成本和安全风险等,更多地通过拉取请求提供结果。对于大规模运行cloud-concierge的企业,我们提供了一个自托管的管理平台。