opentofu brainboard

Terraform alternative: OpenTofu

We are thrilled to introduce OpenTofu on Brainboard! 🎉

Mike Tyson of the Cloud (MToC)

--

OpenTofu, Terraform’s most promising fork, is an opensource and drop-in replacement to HashiCorp’s Terraform. They recently shipped their 1st stable version 1.6.0, then 1.7.1 and it’s already out on Brainboard!

Tldr;

  • What is OpenTofu
  • Hashicorp Terraform vs OpenTofu
  • From Terraform to OpenTofu
  • How Hashicorp license change for Brainboard?
  • OpenTofu 1.7.1 available on Brainboard
  • Final Thoughts

What is OpenTofu?

OpenTofu terraform alternative
This is not an original image. Env0 copyright.

OpenTofu is an open-source Infrastructure as Code (IaC) tool that emerged as a response to HashiCorp’s switch from an open-source license to the Business Source License (BSL) for Terraform. It was created by a collaboration of companies including approximately 150+ companies and 700 individual contributors.

The main aim of OpenTofu is to provide a free and open-source alternative to Terraform, particularly focusing on being community-driven and ensuring that it remains truly open-source.

Hashicorp Terraform vs OpenTofu

hashicorp terraform vs opentofu

From this OSS Insight, this is clearly showing off both capabilities and development:

OSS insight opentofu
Screenshot from the OSS Insight
  • Contributor Count: OpenTofu has a significantly lower count than Terraform.
  • Contributions by Region: Regional contributions for OpenTofu and widespread global contributions for Terraform.
  • Contribution Heatmap: Lower density of OpenTofu contributions.
  • Commits Over Time: OpenTofu has consistent commits over time but a lower number of commits. Terraform has a higher and more consistent commit activity.
  • Lines of Code (LoC) Changes: OpenTofu shows fluctuating LoC changes, while Terraform has a steady increase in LoC over time.
  • PRs Created: OpenTofu has a lower number of PRs created, whereas Terraform has a higher number of PRs created.
  • PRs Merged: OpenTofu has fewer PRs merged, while Terraform has a higher number of merged PRs.
  • PRs Closed without Merge: OpenTofu has fewer PRs closed without merging, while Terraform has a higher number of PRs closed without merging.
  • Issues Created: OpenTofu has a lower number of issues, whereas Terraform has a higher number of issues.
  • Issues Closed: OpenTofu has fewer issues closed, while Terraform has a higher number of issues closed.
  • Release Frequency: OpenTofu has less frequent releases, whereas Terraform has more frequent releases.

From Terraform to OpenTofu

  1. Open-Source Nature: OpenTofu is released under the Mozilla Public License (MPL), offering unrestricted usage for both commercial and personal projects. This contrasts with Terraform’s BSL license which imposes certain limitations on commercial use.
  2. Community-Driven Development: OpenTofu is designed to be driven by community needs rather than the interests of any single company, ensuring a wide range of contributions and fast resolution of issues.
  3. Compatibility with Terraform: OpenTofu is a fork of Terraform and is compatible with Terraform’s versions up to 1.5.x. It also works with existing Terraform state files, making the transition easier for existing Terraform users.
  4. Support for Various Use Cases: OpenTofu can be used for diverse applications including PaaS application setup, software-defined networking, Kubernetes management, and setting up parallel environments for staging or QA.
  5. Improved Tools and Features: OpenTofu aims to introduce enhancements and new features, such as a service to replace the Terraform Registry, a new encryption capability for improved security, and a plugin system for extending the core code​​​​​​.
  6. For everyone: OpenTofu is designed to be more user-friendly and accessible, even for those without extensive programming experience, in contrast to the more complex Terraform​​.

I found a full tutorial of their migration from Terraform to OpenTofu here:

How Hashicorp license change for Brainboard?

There are 2 parts in Brainboard:

1. Design to code: the part that converts the design / diagram to Terraform code. This part is not impacted at all as we don’t use any Terraform source code or library, we have our own engine that generates the Terraform code from the graphical representation.

Also, all Terraform providers are and stay open source under Mozilla Public License v2.0 (MPL 2.0). Here is the link to the statement.

2. CI/CD: this part allows our customers to build the pipeline to check if the code is correct, secure and under budget and eventually deploy the infrastructure.

We give you all the options available:

  • We support the open source version of Terraform
  • If you want to use Terraform cloud (paid version), it’s supported as well. You just need to configure it.
  • We now support OpenTofu 🎉

OpenTofu 1.7.1 available on Brainboard

opentofu terraform alternative

Here’s how to use OpenTofu on Brainboard:

  1. In the canvas, design your cloud architecture
  2. In the deploy settings (CI/CD tab), set OpenTofu as binary
  3. Run any one action like validate or plan

So in short, you are able to:

  • Design cloud architectures for Azure, AWS, GCP & OCI
  • Validate your infrastructure with OpenTofu or Terraform

Final Thoughts

  • Terraform, with its maturity and extensive feature set, is suitable for complex and large-scale infrastructure projects.
  • OpenTofu, on the other hand, offers a community-driven, open-source alternative with a growing range of features and enhancements. Its commitment to staying truly open-source and its ease of use make it an attractive option for a wide range of users.
  • The choice between OpenTofu and Terraform depends on individual needs and preferences. Brainboard supports both.
  • IBM has acquired HashiCorp.
terraform configuration

Ready to experience the future of infrastructure management?

Give OpenTofu a spin for 🆓.

--

--

As a growth architect in the cloud (AKA Brainboard), I build scalable solutions to drive business growth and improve efficiency while learning to code.