Terraform vs OpenTofu
OpenTofu is the community fork of Terraform 1.5.x, created after the August 2023 BSL relicensing and maintained by the Linux Foundation. Three years in, it's no longer a protest project — it ships features upstream doesn't have. Here's the honest head-to-head.
Pick OpenTofu if the BSL license, IBM ownership or HCP's per-resource pricing bothers you — migration is usually just swapping the binary, state stays compatible, and you get state encryption and faster releases on top. Stay on Terraform if you're invested in HCP Terraform's platform (Sentinel policies, private registry, no-code provisioning) — OpenTofu doesn't plug into it. For teams running IaC from their own CI with their own backend, the switch is close to free.
Side by side
Terraform vs OpenTofu
| Terraform | OpenTofu | |
|---|---|---|
| License | BSL 1.1 since v1.6 (Aug 2023); reverts to MPL after 4 years | MPL-2.0, permanently |
| Governance | HashiCorp, an IBM company (since Feb 27, 2025) | Linux Foundation, community steering |
| Language | HCL | HCL — same syntax, same modules |
| Providers | registry.terraform.io | registry.opentofu.org mirror — 3,900+ providers, same binaries |
| State compatibility | n/a (origin) | ✓ reads Terraform state; only version marker changes |
| Fork-only features | ✗ | State encryption (1.7), early variable eval (1.8), provider for_each (1.9), -exclude (1.9), OCI registries (1.10) |
| Managed platform | HCP Terraform ($0.10–$0.99/resource/mo) | None first-party — BYO CI/backend, or Spacelift/env0/Scalr |
| Cost to run yourself | Free (BSL terms apply) | Free, open source |
| Proof at scale | The incumbent — largest installed base in IaC | Fidelity: 50k+ state files, 4M+ resources, 70% adoption in two quarters |
Sources: opentofu.org · developer.hashicorp.com/terraform · HCP Terraform pricing. Compiled July 2026.
A fair call
Which one fits you
Choose OpenTofu if…
- License scrutiny or vendor risk keeps blocking Terraform in reviews.
- You run plan/apply from your own CI with your own state backend anyway.
- You want state encryption without a managed platform.
- You'd rather bet on community governance than on IBM's roadmap.
Stay on Terraform if…
- You depend on HCP Terraform — Sentinel policies, private registry, no-code provisioning.
- A vendor or compliance regime requires commercially supported tooling.
- Your modules rely on post-1.6 Terraform-only behaviours you'd have to re-test.
- The BSL genuinely doesn't restrict your internal use — for most companies it doesn't.
Common questions
Terraform vs OpenTofu — common questions
Is OpenTofu state-compatible with Terraform?
Yes, within matching versions. OpenTofu reads Terraform state files directly — on the first apply only the version marker in the state changes. Remote backends (S3, GCS, Azure Blob) keep working unchanged, and if tofu plan shows no changes after the switch, the state is fully compatible. The further both projects diverge past the 1.5.x fork point, the more a round-trip between them needs care.
Can I switch back from OpenTofu to Terraform later?
Early on, yes — the state formats were identical at the fork. In 2026 it needs more care: if you've adopted OpenTofu-only features such as encrypted state, provider for_each iteration or OCI-registry sources, you must undo them before Terraform can read your configuration and state again. Treat the switch as low-risk but not automatically reversible once you use fork-specific features.
Does OpenTofu work with HCP Terraform (Terraform Cloud)?
No — HCP Terraform is HashiCorp's managed platform for Terraform, and it doesn't run OpenTofu. OpenTofu teams typically run plan and apply from their own CI pipeline with a self-managed state backend, or use an orchestration platform that supports both engines, such as Spacelift, env0, Scalr or the open-source Atlantis.