Terraform vs Pulumi vs OpenTofu — what do I need to change?
Choosing an Infrastructure as Code tool in 2026, considering HashiCorp's BSL license change, OpenTofu's CNCF status, and Pulumi's real-language approach with current pricing.
Blockers
- License changed from MPL 2.0 to BSL 1.1
- requires_version: framework/opentofu → framework/terraform
Who this is for
- enterprise
- cost-sensitive
- small-team
- compliance
Candidates
Terraform
HashiCorp's IaC tool using HCL. License changed from MPL 2.0 to BSL 1.1 (August 2023). Largest provider ecosystem. HCP Terraform (formerly Terraform Cloud) free tier: 500 managed resources.
When to choose
When you need the largest provider ecosystem and your organization accepts BSL 1.1 licensing. Best for enterprise teams already invested in HashiCorp stack (Vault, Consul, Nomad).
Tradeoffs
BSL 1.1 prohibits competitive use — cannot offer Terraform as a managed service. HCP Terraform free tier limited to 500 resources, Teams $0.00014/hour per resource. Largest community and module registry. State management well-understood.
Cautions
BSL 1.1 license since August 2023 — evaluate legal implications for your use case. Competitive use (offering IaC-as-a-service) is prohibited. HCP Terraform pricing changed from per-user to resource-based in 2024. Verify current pricing at hashicorp.com.
OpenTofu
Community fork of Terraform (pre-BSL), maintained under Linux Foundation. CNCF Sandbox project since April 2025. MPL 2.0 license. Compatible with Terraform providers through v1.5.x.
When to choose
When BSL 1.1 is unacceptable (competitive use, open-source policy, or legal risk aversion) and you want HCL-compatible IaC with no license restrictions. Best for cost-sensitive or compliance environments requiring OSS-only tooling.
Tradeoffs
Drop-in replacement for Terraform ≤1.5.x. State encryption built-in (not available in Terraform OSS). Growing provider support but some HashiCorp-proprietary providers may lag. CNCF backing provides governance stability.
Cautions
Post-1.5.x Terraform features (removed blocks, check blocks) are implemented independently — not guaranteed 1:1 compatible. Some enterprise Terraform modules may use BSL-licensed features. Verify provider compatibility for your stack before migrating.
Pulumi
IaC using real programming languages (TypeScript, Python, Go, C#, Java). Apache 2.0 license. Pulumi Cloud free for individual use, Team $0.01/deployment minute.
When to choose
When your team prefers writing infrastructure in familiar programming languages over learning HCL. Best for small-team where developers want full IDE support (autocomplete, refactoring, testing) for infrastructure code.
Tradeoffs
Full language support enables loops, conditionals, and unit tests natively. Smaller provider ecosystem than Terraform but growing — supports Terraform providers via bridge. Pulumi Cloud pricing is usage-based ($0.01/deployment minute on Team plan).
Cautions
Avoid over-abstracting infrastructure code — the flexibility of real languages can lead to unnecessary complexity. Pulumi AI (natural language to IaC) is a differentiator but verify generated code. Self-managed backend available if Pulumi Cloud pricing is a concern.
Try with your AI agent
$ npm install -g pocketlantern $ pocketlantern init # Restart Claude Code, Cursor, or your MCP client, then ask: # "Terraform vs Pulumi vs OpenTofu — what do I need to change?"