Blogs

Terraform vs Pulumi vs OpenTofu: A 2026 Verdict

After HashiCorp's license change, the IaC market split. Here is which tool to pick for new projects in 2026 and why.

Dec 02, 2025 4 min

The 2023 license change reshuffled the infrastructure-as-code market. The dust has settled.

HashiCorp's 2023 switch from MPL to BUSL split the Terraform community. The OpenTofu fork, backed by the Linux Foundation, is now the default for most enterprise IaC work. Pulumi, with its real-programming-language pitch, has carved out a steady niche. Here is the 2026 picker.

OpenTofu: the new default

OpenTofu is a fork of Terraform 1.5, MPL-licensed, with active community development and a growing provider ecosystem. The HCL syntax, the state file format, and the workflow are all identical to Terraform. Migration from Terraform is one command and a backend reconfiguration.

For new projects in 2026, OpenTofu is our default unless there is a specific reason to use something else.

Pulumi: when programmers want to write code

Pulumi lets you write infrastructure in TypeScript, Python, Go, or C#. For teams whose engineers already know one of those languages, Pulumi removes the HCL learning curve. The trade-off is that some of the safety properties of declarative IaC are easier to break when "the IaC" is a regular program.

We use Pulumi for clients who already have a strong TypeScript culture and want to share types between application code and infrastructure code.

Terraform (HashiCorp): legacy

If your existing infrastructure is on HashiCorp's Terraform Cloud and the BUSL license is acceptable to your legal team, the path of least resistance is to stay. New greenfield work in 2026 picks OpenTofu instead.

The patterns that survive across all three

  • State stored in a remote backend (S3 + DynamoDB lock, or GCS, or Pulumi Cloud).
  • Modules for repeated patterns. Don't copy-paste 200 lines of network setup.
  • Plan-and-apply in CI/CD, not on engineer laptops.
  • Separate state per environment (dev, staging, prod) with separate IAM roles.
  • Drift detection running on a schedule.

What we ship

Default to OpenTofu. Use Pulumi when the team's language preference is the deciding factor. Migrate off classic Terraform when the next refactor is cheap. Above all, treat infrastructure as code with the same rigor as application code — reviews, tests, CI.