terraform vs opentofu · 2026

Terraform vs OpenTofu in 2026: the license fork, the feature gap, and which to run.

For most teams the two tools are drop-in compatible: same HCL, same providers (AWS included), same state format. They differ on licensing (OpenTofu is MPL 2.0 open source; Terraform is BSL source-available), on client-side state encryption (OpenTofu has it), on the registry, and on the commercial platform around them. Choose on licensing posture and on how much you use HCP Terraform.

relicense announced
Aug 2023
OpenTofu 1.6 GA
Jan 2024
license (OpenTofu)
MPL 2.0
license (Terraform)
BSL 1.1
TL;DR
  • OpenTofu is an open-source (MPL 2.0, Linux Foundation) fork of Terraform, created after HashiCorp moved Terraform to the Business Source License in August 2023. For most users the two are drop-in compatible: same HCL, same provider protocol, same state format, same plan and apply workflow.
  • They differ on four things: licensing (OSI-approved open source vs source-available), client-side state and plan encryption (in OpenTofu since 1.7; no native Terraform equivalent), the default registry, and the first-party platform (HCP Terraform exists; OpenTofu pairs with third-party platforms).
  • Migrating one state from Terraform to OpenTofu is usually a short job: install tofu, run tofu init and tofu plan, and confirm a no-op plan. The work is in CI pipelines and in any HCP Terraform features you use. Both tools work the same on AWS.
the relicense

IWhat happened: the BSL relicense and the fork

The split is a licensing event first. The technical differences followed from it.

On 10 August 2023 HashiCorp announced that its products, Terraform included, would move from the Mozilla Public License 2.0 to the Business Source License 1.1 for future releases (HashiCorp). Terraform 1.5.x and earlier stayed MPL; later versions ship under BSL.

The BSL is source-available, not open source. You can read, use and modify the code, but not to build a product that competes with HashiCorp's commercial offerings, such as hosted Terraform as a service. Each BSL release converts to MPL 2.0 four years after it ships. For a startup running terraform apply against its own AWS account, nothing practical changed. The community objection was about precedent: a tool open for nearly a decade was relicensed by one vendor.

The community asked HashiCorp to revert, then forked the last MPL release. The fork, renamed OpenTofu, became a Linux Foundation project on 20 September 2023 (Linux Foundation). OpenTofu 1.6.0, the first stable release, shipped on 10 January 2024 (OpenTofu).

source-available is not open source

BSL Terraform is not closed source: the code is public and you can use it for your own infrastructure. It is also not open source by the OSI definition, because the license restricts a competitive field of use. OpenTofu under MPL 2.0 is OSI-approved. If your legal or procurement rules require OSI-approved licensing, that distinction decides the question.

the baseline

IIHow compatible are they?

OpenTofu forked from Terraform 1.5 and kept compatibility on purpose. Knowing exactly what is shared is the core of the practical decision.

OpenTofu reads the same HCL, so your .tf files do not change. It speaks the same provider plugin protocol, so the AWS, Kubernetes and thousands of other providers work unchanged. It reads and writes the same state format, so an existing terraform.tfstate needs no conversion. The CLI mirrors Terraform: tofu init, plan, apply, destroy and state commands.

Compatibility is not guaranteed at the edge of the language. The projects now develop independently, so a brand-new function or syntax feature may land in one tool a release before the other. If your configuration depends on a just-released feature, check it exists in the target tool before you switch.

Identical in both

Language: HCL syntax, modules, expressions, the type system and nearly all built-in functions. Providers: shared protocol; the AWS provider runs on either. State and backends: same format; S3, GCS, Azure Blob, HTTP, local and others on both. Workflow: init, plan, apply, destroy, import and state surgery behave the same.

Where they differ

License: MPL 2.0 vs BSL 1.1. New features: OpenTofu has shipped state encryption, provider iteration and OCI registry support; Terraform ships on HashiCorp's cadence with HCP integration. Registry: different default registries with different terms. Commercial platform: HCP Terraform features (Sentinel policy, no-code provisioning, run tasks, the private registry) are HashiCorp products; OpenTofu has no first-party SaaS.

the clearest divergence

IIIState encryption: OpenTofu's clearest lead

The most cited technical difference is client-side state and plan encryption, which OpenTofu added in 1.7 and Terraform has no native equivalent for.

State files are a known liability: they hold the full resource graph and can hold secrets in plaintext (database passwords, generated credentials, keys). Backend encryption at rest, such as S3 with SSE-KMS, protects the stored bytes, but the state is plaintext again the moment it is read into a laptop or a CI job.

OpenTofu encrypts state and plan files on the client before they leave the machine and decrypts them only in memory (OpenTofu 1.7 release notes). You configure a key provider (AWS KMS, GCP KMS, OpenBao or a passphrase, among others) and an encryption method (OpenTofu docs); from then on the artifacts are ciphertext everywhere.

Terraform relies on backend encryption, access control, and keeping secrets out of state with ephemeral values, write-only arguments and external secret managers. Those are good practices and narrow the gap, but they are not transparent encryption of the whole artifact. For regulated teams that treat state as a secret store, this is a common reason to move.

providers, modules, platforms

IVThe registry and the ecosystem

Providers and modules are where Terraform's network effect lives, and the registry is where the projects split most visibly.

Alongside the relicense, HashiCorp changed the terms of its registry, so OpenTofu runs its own community registry. Most providers, the AWS provider included, are independent open-source projects published to both, so declaring hashicorp/aws resolves the same provider either way. You feel the split in registry features and in the long tail of older community modules.

Terraform's deeper integration story is HCP Terraform: private registry, no-code modules, run tasks, drift detection and Sentinel policy. OpenTofu leans on third-party platforms (Spacelift, env0, Scalr, Terrateam, Atlantis and others), most of which support both tools. For many teams that platform is where they work day to day, which narrows the practical difference.

  • Providers (including AWS): Effectively shared; the AWS provider is the same on either tool.
  • Public modules: Mostly on both; niche or old modules depend on community mirroring.
  • Private registry: First-party in HCP Terraform; for OpenTofu, provided by the platform layer or an OCI registry (OpenTofu 1.10+).
  • Policy as code: Sentinel and HCP policy on Terraform; OPA, Conftest, Checkov or platform policy on OpenTofu.
who is shipping

VMomentum and governance in 2026

A fork lives or dies on momentum and governance. OpenTofu has cleared the bar that kills most forks.

OpenTofu has shipped steadily under the Linux Foundation: 1.7 (state encryption, provider-defined functions, removed blocks), 1.8 (early evaluation of variables in backend and module sources), 1.9 (provider for_each and the -exclude flag, release notes), 1.10 (OCI registry support, native S3 state locking and OpenTelemetry tracing, release notes), and later releases. No single company controls it and the roadmap is public.

Terraform keeps moving too, with test framework work, stacks, and ephemeral and write-only handling for secrets. IBM completed its acquisition of HashiCorp on 27 February 2025 (IBM). That reassures buyers who want one enterprise vendor and worries those who distrust single-vendor control.

The 2026 picture is coexistence. Terraform has the larger installed base and the enterprise relationships. OpenTofu has the teams that need OSI-approved licensing, cost-sensitive teams, and much of the open-source platform community. Many organizations run both.

the switch cost

VIMigrating from Terraform to OpenTofu

Because OpenTofu reads the same configuration, state and providers, the base case is a binary swap. The work is in the tooling around it.

The standard path for one state, per the OpenTofu migration guide: install tofu, run tofu init against the existing backend, run tofu plan, and confirm a no-op plan. Then use tofu apply from then on. There is no state conversion. For a small, isolated configuration this is often done in an hour or two.

OpenTofu understands the terraform block and the .terraform.lock.hcl file, and it can read .tofu files, which let a configuration use OpenTofu-only syntax without breaking Terraform.

The real effort is wherever your delivery system names the binary: CI pipelines, pre-commit hooks, tflint or Checkov wiring, Atlantis or Terrateam configuration, wrapper scripts. It is find-and-replace plus a test run, multiplied by the number of pipelines.

The hard migrations are tied to HCP Terraform features (Sentinel, no-code modules, run tasks, the private registry, hosted runs). Those have no one-to-one OpenTofu equivalent, so you also move to a third-party or self-hosted platform. And going back from OpenTofu to Terraform after you adopt OpenTofu-only features (state encryption, .tofu syntax) is not guaranteed clean, so pick a direction on purpose.

the five-step happy path

1. Install tofu alongside Terraform. 2. Run tofu init against the existing backend. 3. Run tofu plan and confirm a no-op: this is the safety gate. 4. Swap terraform for tofu in CI, hooks and scripts. 5. Run tofu apply from the pipeline once and verify.

the verdict

VIIWhich to choose, by situation

There is no universal winner. Two questions decide it for most organizations: does an OSI-approved license matter to you, and how much do you use HCP Terraform?

Many teams choose per project: new services on OpenTofu, existing estates on Terraform until there is a reason to move. Because the configuration is shared and most platforms support both, running both is low friction.

Choose OpenTofu if

You need OSI-approved open-source tooling for compliance, government or procurement reasons. You want native client-side state encryption. You are starting fresh and want foundation governance with no single-vendor license risk. You pair IaC with a third-party platform rather than HCP Terraform.

Stay on Terraform if

You rely on HCP Terraform (Sentinel, no-code provisioning, run tasks, the private registry, hosted runs). You want one enterprise vendor with formal support. The BSL restriction does not touch what you do, and your tooling is standardized on Terraform. You depend on a Terraform-only feature that OpenTofu has not shipped.

on AWS specifically

VIIIThe AWS angle: both work, and the provider is shared

Picking OpenTofu costs you nothing on AWS. The AWS provider is the same open-source provider on both tools.

The hashicorp/aws provider is published to both registries and is identical either way, so every AWS resource and data source behaves the same. Authentication, assume-role, IAM Identity Center and the S3 backend work the same. Both tools now support native S3 state locking alongside the older DynamoDB lock table, and both work with SSE-KMS on the bucket. OpenTofu can add client-side encryption keyed to AWS KMS in your own account.

AWS does not care which binary runs your HCL. If the IaC work is part of moving workloads onto AWS (MAP) or launching new work on AWS (IW), a vetted AWS partner can file funding for that work when it qualifies and AWS approves: typically $50K to $150K for startups. Depends on the workload; AWS approves. Switching tools on its own is ordinary engineering work.

side by side

Terraform vs OpenTofu: the 2026 comparison

Identical where it matters most (language, providers, state, workflow); different on the four things that drive the decision: license, governance, state encryption and the first-party platform.

DimensionTerraformOpenTofu
LicenseBSL 1.1 (source-available; converts to MPL after 4 years)MPL 2.0 (OSI-approved open source)
GovernanceHashiCorp, an IBM company since February 2025Linux Foundation (multi-vendor)
Config languageHCLHCL, same files
Providers (including AWS)Shared open-source providersSame providers, same versions
State formatSameSame; reads existing tfstate
Client-side state encryptionNo native equivalentYes, since 1.7 (KMS, OpenBao, passphrase)
Default registryHashiCorp registryOpenTofu registry; OCI registries since 1.10
First-party SaaSHCP TerraformNone; pairs with Spacelift, env0, Scalr, Atlantis
Policy as codeSentinel and HCP policyOPA, Conftest, Checkov, platform policy
Best fitHCP users and single-vendor buyersOSI-license needs, new projects, cost-sensitive teams
License, governance, state encryption and first-party SaaS decide it. Everything else is effectively a tie, which is why migration is cheap for most teams.
evaluating a switch, or building IaC from scratch?
Get a vetted AWS partner to scope your Terraform or OpenTofu setup or migration
Get matched free with a vetted AWS partner who can file it
how a match works

How a match works (example)

  1. You tell us about the work

    You fill in a short form: what you run today, what you want to move, test or build, your stage and your region.

  2. We pick one partner

    We read your answers and pick one vetted AWS consulting partner that fits the work, the stack and the region. We reply within 24 hours; your matched partner reaches out within 5 business days.

  3. The partner checks which funding fits

    Your matched partner scopes the work with you. Then it checks which partner-filed funding fits: MAP if you are moving to AWS, POC if you want to test something, or incremental workload (IW) funding if you are already on AWS and launching new work.

  4. The partner files, AWS decides

    If the work qualifies, the partner files the funding request with AWS. AWS reviews it and decides. The amount depends on the workload.

  5. You pay nothing

    CloudRoute is free for startups. Partners pay CloudRoute a monthly membership plus 10% of AWS-approved funding.

AWS Activate credits are separate, and you apply for them yourself. Use Activate Founders if no investor backs you. Use Activate Portfolio with the Org ID or invite from your VC, accelerator, incubator or angel group if it is an Activate Provider. A consulting partner cannot apply for Activate on your behalf.

faq

Common questions

Is OpenTofu a drop-in replacement for Terraform?
For most configurations, yes. It reads the same HCL, uses the same providers (including AWS), reads and writes the same state, and mirrors the CLI. Run tofu init, then tofu plan, and confirm a no-op plan. The exceptions are HCP Terraform features (Sentinel, no-code modules, run tasks, the private registry) and very new language features that may land in one tool first.
Why did OpenTofu fork from Terraform?
On 10 August 2023 HashiCorp moved Terraform from the open-source MPL 2.0 to the Business Source License, which restricts using it to build a competing product. The community forked the last MPL release, named it OpenTofu, and moved it to the Linux Foundation on 20 September 2023. OpenTofu 1.6.0, the first stable release, shipped on 10 January 2024.
Is Terraform still free to use?
Yes. The Terraform CLI is free to download and use for your own infrastructure. The BSL only restricts building a product that competes with HashiCorp, such as hosted Terraform as a service. The difference that matters is legal: BSL is source-available, not OSI-approved open source. HCP Terraform is a separate commercial service.
Does OpenTofu work with the AWS provider?
Yes, identically. The hashicorp/aws provider is published to both registries and is the same provider at the same version either way. The S3 backend, state locking (native S3 locking or DynamoDB), assume-role and SSE-KMS behave the same. There is no AWS feature gap.
What is the biggest technical difference in 2026?
Client-side state and plan encryption, added in OpenTofu 1.7. OpenTofu encrypts the artifacts before they leave the machine (with AWS KMS, GCP KMS, OpenBao or a passphrase, among others) and decrypts only in memory. Terraform relies on backend encryption, access control and keeping secrets out of state.
How hard is it to migrate from Terraform to OpenTofu?
For one state, usually a short job: install tofu, run tofu init and tofu plan, and confirm a no-op. There is no state conversion. Most of the work is swapping the binary name in CI pipelines, hooks and scripts, so effort scales with the number of pipelines. Migrations tied to HCP Terraform features are bigger, because you also change platforms.
Which should a startup choose for new infrastructure on AWS?
For most new startups on AWS, OpenTofu is a safe default: OSI-approved, foundation-governed, native state encryption, identical AWS support, no license cost. Choose Terraform if you are committing to HCP Terraform for policy, no-code modules and hosted runs, or you want one enterprise vendor. The AWS provider, state and workflow are the same either way.

Picking, or switching between, Terraform and OpenTofu on AWS?

CloudRoute matches you with a vetted AWS partner who scopes the right tool and runs the migration cleanly: the no-op plan gate, the CI swap, state encryption. CloudRoute is free for startups. If the IaC work is part of a migration to AWS (MAP) or new work on AWS (IW), the partner can file funding for it: typically $50K to $150K for startups. Depends on the workload; AWS approves.

we reply within24 hours
partner reaches out within5 business days
CloudRoute fee for startups$0