Comparison
Terraform vs OpenTofu
How the OpenTofu fork differs from Terraform on licensing, features, and drop-in compatibility — and which to choose in 2025.
In short — OpenTofu is a community fork of Terraform created after HashiCorp moved Terraform to the BUSL license. For everyday HCL it is a drop-in replacement; the differences are about governance, licensing, and a few diverging features.
| Terraform | OpenTofu | |
|---|---|---|
| License | BUSL 1.1 (source-available) | MPL 2.0 (true open source) |
| Governance | HashiCorp (IBM) | Linux Foundation, community-led |
| Language | HCL | HCL — compatible with Terraform |
| CLI | terraform | tofu — same subcommands |
| State format | Compatible | Compatible; can read Terraform state |
| Unique features | Stacks, HCP integration | State encryption, early variable eval, provider-for-each |
| Registry | registry.terraform.io | Own registry; pulls the same providers |
Which should you use?
Pick OpenTofu when you want a permissive OSS license and community governance — migration is usually changing the binary and provider source addresses. Stay on Terraform if you depend on HCP Terraform, Stacks, or an enterprise support contract.
Go deeper
Full, hands-on DevSecOps courses