开源基础设施即代码工具。
OpenTofu 之前名为 OpenTF,它是 Terraform 的一个分支,开源、社区驱动,并由 Linux 基金会管理。
我们的目标
真正的开源
采用知名且广泛接受的许可证,企业可以信赖,未来不会突然更改,也不受单个供应商的支配。
社区驱动
以便社区为社区管理项目,定期审查和接受基于其价值的拉取请求。
公正
以便根据其对社区的价值接受有价值的功能和修复,而不管其对任何特定供应商的影响。
分层和模块化
向后兼容
具有对程序员友好的项目结构,以鼓励在其之上构建,从而形成一个充满活力的工具和集成生态系统。
以便现有代码能够在未来几年内发挥价值。
常见问题
什么是 OpenTofu?
OpenTofu 是一种基础设施即代码工具,可让您在人类可读的配置文件中定义云和本地资源,您可以对这些文件进行版本控制、重用和共享。然后,您可以使用一致的工作流程在整个生命周期中配置和管理所有基础设施。OpenTofu 可以管理低级组件(如计算、存储和网络资源),以及高级组件(如 DNS 条目和 SaaS 功能)。
为什么创建 OpenTofu?
OpenTofu 是 Terraform 的一个分支,由 Gruntwork、Spacelift、Harness、Env0、Scalr 等公司发起,以应对 HashiCorp 将许可证从开源许可证切换到 BUSL 的举措。该计划拥有众多支持者,所有支持者都列在 这里。
HashiCorp 团队概述的 BUSL 和附加使用授权不明确,这使得使用 Terraform 的公司、供应商和开发人员难以确定他们的行为是否会被解释为超出允许的使用范围。
HashiCorp 的常见问题解答目前让最终用户和系统集成商稍感安心,但许可条款对未来使用的影响尚不清楚。该公司对“竞争性”或“嵌入”的定义可能会发生变化,或者许可证可能会进一步修改以使其成为闭源,这使得 Terraform 用户不确定。
我们坚信 Terraform 应该保持开源,因为它是一个许多公司使用的项目,并且许多贡献者使 Terraform 成为今天的样子。如果没有社区为其构建许多支持性项目,Terraform 就不可能取得成功。
OpenTofu 和 Terraform 之间有什么区别?
在技术层面上,OpenTofu 1.6.x 在功能方面与 Terraform 1.6.x 非常相似。未来,这两个项目的特性集将会有所不同。
另一个主要区别是 OpenTofu 是开源的,其目标是以协作的方式驱动,没有一家公司能够决定路线图。
为什么应该使用 OpenTofu 而不是 Terraform?
个人使用
初步印象表明,您可以将 OpenTofu 或 Terraform 用于个人使用,因为 BUSL 许可证对非商业用例没有限制。随着 Terraform 生态系统变得越来越不稳定,这种情况可能会发生变化,并且可能会切换到其他许可证。熟悉 Terraform 的用户在将 OpenTofu 用于个人用途时不会有任何问题,因此至少在开始时不会存在任何知识差距。
顾问
顾问应为其客户提供与他们的预算相一致的最佳解决方案。OpenTofu 将与 Terraform 一样出色,并且该项目的核心目标之一是倾听社区的问题,因此建议始终保持开源的项目是有意义的。在过去八年中使用过 Terraform 的任何人可能都遇到过需要一些时间才能解决的问题。参与开发 OpenTofu 的大型社区意味着这种情况将不再发生。
公司
企业在当前情况下会遇到更多困难。切换到新项目存在风险,但继续使用未经预警就更改许可证的项目风险更大。将 OpenTofu 交付给 Linux 基金会可以最大程度地降低这种风险,并且 OpenTofu 旨在在未来版本中保持与 Terraform 的功能一致,从而降低了技术风险。
OpenTofu 是否与未来的 Terraform 版本兼容?
社区将决定 OpenTofu 将具备哪些功能。一些期待已久的 Terraform 功能将很快公开发布。
如果您在 OpenTofu 中缺少 Terraform 中可用的功能,请随时创建问题。
我可以将 OpenTofu 作为 Terraform 的直接替换吗?OpenTofu 适合用于生产环境吗?
目前,OpenTofu 是 Terraform 的直接替换,因为它与 Terraform 1.5.x 版本和大多数 1.6.x 版本兼容。您无需对代码进行任何更改即可确保兼容性。
OpenTofu 适用于所有生产用例,没有任何例外。
请参阅 我们的迁移指南 以获取更多信息。
支持者
- 支持公司:163163
- 支持项目:1212
- 支持基金会:11
- 支持个人:791791