| Aspect | Terraform | OpenTofu |
|---|---|---|
| License | BUSL 1.1 since August 2023 (previously MPL-2.0) | MPL-2.0 |
| Governance | HashiCorp (now part of IBM) | Linux Foundation, open community |
| Config language | HCL | HCL, compatible with Terraform |
| Providers | Terraform Registry | Own registry, most providers are the same |
| Unique features | HCP Terraform, Sentinel, paid HashiCorp features | State encryption, provider for_each, early variable evaluation |
| First release | 2014 | 2023 (fork of Terraform 1.5.x) |
| Migration | Baseline | For versions up to 1.5 it is a binary swap, beyond that check differences |
| Best for | Teams already on HCP Terraform or needing vendor support | New projects that want a truly open license |
Choose Terraform when
- You already use HCP Terraform and paid support.
- Your company standardizes on Terraform and BUSL is no problem.
- You want HashiCorp features first.
Choose OpenTofu when
- You want a truly open license and neutral governance.
- You need state encryption out of the box.
- You sell a product competing with HashiCorp and BUSL blocks you.
Bottom line
For an ordinary user they are nearly identical in practice. New projects with no HashiCorp tie are better started on OpenTofu, and if you already run Terraform there is no urgent migration.
Compared
Logos belong to their owners and are used for identification only. Icons: Simple Icons (CC0), Devicon (MIT).