OpenTofu and Terraform solve nearly the same day-to-day problem. For Belvedere's current stack, AWS, EKS, Kubernetes, Helm, and Git-based CI/CD, the normal workflow is effectively equivalent: write HCL, use providers and modules, plan changes, apply through controlled automation.

The meaningful differences are licensing, governance, managed-service alignment, and how each tool handles state and plan artifacts.

For Belvedere's greenfield infrastructure work, OpenTofu fit the constraints we cared about most: open-source licensing, tool-layer state and plan encryption, active community governance, and portability across commercial, regulated, and customer-controlled environments.

Terraform remains a mature tool with the larger ecosystem, deeper HCP Terraform integration, and Terraform Stacks for teams centered on HashiCorp's managed control plane. Our decision was narrower: Belvedere was starting fresh, and OpenTofu gave us the Terraform-style workflow without taking on Terraform's current licensing and vendor-alignment tradeoffs.

Why This Matters

Infrastructure-as-code is not just deployment scripting. It becomes the control plane for cloud accounts, Kubernetes clusters, network boundaries, IAM, secrets-adjacent configuration, and recovery.

That makes three risks worth treating as first-class:

  • Can we run the tool cleanly in customer-controlled or restricted environments?

  • Can we reduce exposure if state or plan artifacts are mishandled?

  • Can we keep the platform's future licensing posture simple as Belvedere evolves?

OpenTofu lined up well against those questions for our context.

Quick Comparison

Dimension

OpenTofu

Terraform

Clear Fracture Take

License

MPL 2.0

BSL 1.1 for current releases

OpenTofu keeps the licensing model simpler for platform evolution.

HCL workflow

Terraform-style HCL

Native Terraform HCL

No meaningful day-to-day difference for our stack.

State format

Compatible for common migration paths

Native

Starting greenfield avoids migration risk.

Provider ecosystem

OpenTofu registry and existing provider support

Terraform Registry

AWS, Kubernetes, and Helm providers are available in both.

State and plan encryption

Native tool-layer support

Backend-dependent encryption and sensitive-value handling

OpenTofu decouples artifact protection from backend choice.

HCP Terraform

Not applicable

First-class

Important for teams centered on HashiCorp's managed platform.

Terraform Stacks

Not a Terraform Stacks implementation

HCP Terraform feature

Useful in HCP-centric operating models.

Governance

Linux Foundation / community-governed

HashiCorp, now part of IBM

OpenTofu gives us a more vendor-neutral foundation.

The Core Reasons for Our Choice

1. Greenfield Work Changes the Tradeoff

The hardest part of moving infrastructure tooling is rarely the CLI. It is the accumulated estate: modules, state backends, CI jobs, naming conventions, training material, and operational habits.

Belvedere did not have that burden. We were choosing the IaC foundation for new platform infrastructure, so the decision could focus on long-term fit instead of migration cost.

2. The License Question Is Concrete

HashiCorp moved Terraform from MPL 2.0 to BSL 1.1 in August 2023. Normal internal Terraform usage is usually not the concern, it's more the competitive-offering restriction.

Belvedere is a platform product. Over time, infrastructure automation may be embedded in customer delivery, deployed into customer-controlled environments, or exposed through managed platform capabilities. If that ever overlaps with HashiCorp's commercial offerings, the licensing question becomes more complicated.

OpenTofu's MPL 2.0 model is simpler for that future. It keeps the IaC layer open, inspectable, and easier to package around without negotiating the edge cases of a source-available license.

3. Encryption Is About the Trust Boundary

OpenTofu's native state and plan encryption is a real differentiator with real operational responsibilities. It uses customer-managed keys, so teams still need key management, CI isolation, backend controls, and disciplined handling of sensitive values.

For a well-configured AWS backend, Terraform with S3 and KMS already gives encrypted-at-rest state. The marginal value of OpenTofu is different: encryption moves closer to the tool layer and becomes less dependent on the backend we happen to use.

That matters when infrastructure runs in customer-controlled, air-gapped, regulated, or otherwise constrained environments where we may not get to choose the backend pattern. It gives us another defense-in-depth layer for artifacts that often contain sensitive operational context.

4. Provider Parity Is Not the Blocker

The obvious question is whether the provider ecosystem is there. For our stack, it is.

AWS, Kubernetes, and Helm provider availability is not a blocker, and we have not seen major providers withhold basic OpenTofu compatibility for the common paths Belvedere uses. Terraform still has more examples, training content, and vendor documentation, but most operational guidance transfers directly.

5. Governance Matters for Foundational Tools

IBM completed its acquisition of HashiCorp in February 2025. That does not make Terraform fragile or unsuitable. It does make Terraform's future more tightly connected to a large enterprise vendor's commercial priorities, especially around HCP Terraform and managed workflows.

OpenTofu's Linux Foundation governance gives us a more neutral base for a tool we may need to run across customer environments, deployment models, and compliance boundaries. The project has also continued shipping independent releases since the fork, which matters for confidence that the ecosystem is not standing still.

Where Terraform Still Fits

Terraform remains a strong choice for teams with mature Terraform estates, heavy HCP Terraform usage, existing Terraform Stacks plans, or teams that value the largest possible hiring and training pool.

Many organizations will run both: Terraform where the estate already exists or HCP is the control plane, OpenTofu for new work where license neutrality, portability, and tool-layer encryption matter more.

That is a reasonable outcome. The tools overlap heavily, and the fork has made the ecosystem more competitive.

Risks and Mitigations

Risk

Impact

Mitigation

Smaller OpenTofu ecosystem

Some examples and vendor docs still assume terraform.

Keep Terraform literacy in the team. Most patterns transfer directly.

Feature divergence

Terraform-specific features may not exist in OpenTofu, and OpenTofu-specific features may not exist in Terraform.

Pin versions, test modules in CI, and document accepted IaC patterns.

Registry assumptions

Some tooling may assume the Terraform Registry or Terraform CLI name.

Validate providers and modules before use; prefer providers with active OpenTofu compatibility.

Encryption key handling

Native encryption adds key-management responsibility.

Store encryption material in managed secrets infrastructure and run production plan/apply from CI.

How We Are Using It

For Belvedere, the implementation path is straightforward:

  1. Build and pin an internal CI runner image that includes OpenTofu. Current OpenTofu Docker guidance documents copying the tofu binary from a minimal image such as ghcr.io/opentofu/opentofu:1-minimal in a multi-stage build, or installing tofu with the standalone installation script.

  2. Use OpenTofu for new AWS, EKS, Kubernetes, and Helm infrastructure modules where there is no customer or environment requirement for Terraform.

  3. Enable state and plan encryption for new workspaces.

  4. Store encryption material in approved secret-management infrastructure, not in repositories.

  5. Validate provider compatibility as part of module CI.

  6. Document when Terraform is still the right fit, especially for customer requirements or HCP Terraform-centered workflows.

Wrap Up

For Belvedere, OpenTofu was the practical choice: Terraform-style IaC, a cleaner open-source license, native artifact encryption, and governance that fits customer-controlled and regulated deployment models.

Terraform is still valid infrastructure tooling. OpenTofu simply matched the risks we were trying to manage without adding meaningful friction to the stack we are building.

References