OpenTofu vs. Terraform


Introduction
In this article, we will be reviewing the key differences between OpenTofu and Terraform, two popular infrastructure-as-code (IaC) tools used for provisioning and managing cloud resources. While both tools share a similar foundation, OpenTofu emerged as a response to HashiCorp’s 2023 licensing changes to Terraform, offering a fully open-source alternative.
Why was OpenTofu Created?
In August 2023, HashiCorp announced that it would change the license of Terraform from the Mozilla Public License (MPL 2.0) to a Business Source License (BSL). The BSL change sparked a backlash from the open-source community and Terraform users.
In response to these concerns, a group of developers, including former contributors to Terraform, decided to fork Terraform and create an open-source version with a completely permissive license. This fork became OpenTofu. More information can be found under OpenTofu’s Manifesto.
What are the differences?
Compatibility
As of version 1.6, OpenTofu maintains compatibility with Terraform 1.6, allowing for a straightforward migration process. OpenTofu is committed to continuing to support Terraform 1.x releases. More information can be found here.
Development & Community
Terraform: Development is primarily driven by HashiCorp, with feature implementation and roadmap decisions made internally. https://github.com/hashicorp/terraform
OpenTofu: Emphasizes community involvement, allowing contributors to influence feature development and prioritization. This collaborative approach aims to address user needs more responsively. https://github.com/opentofu/opentofu
Comparison
This table was pulled from Spacelift.io
Feature | OpenTofu | Terraform |
Language | HCL | HCL |
State Management | ✅ Yes | ✅ Yes |
State Encryption | ✅ Yes | ❌ No |
Early Variable Evaluation | ✅ Yes | ❌ No |
Provider Functions | ✅ Yes | ✅ Yes |
Community Driven | ✅ Yes, there is an issue ranking system you can influence. | ❌ No |
Examples
Init
Plan
Apply
Reference
Subscribe to my newsletter
Read articles from Christian Herrera directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Christian Herrera
Christian Herrera
Hey, I'm Chris 👨🏽💻👋🏽🤙🏽 I’m a seasoned Platform Engineer based in the LA area with extensive experience leading cloud engineering projects. I specialize in designing, deploying, and managing scalable, high-performance infrastructure using Kubernetes, Terraform, and cloud-native technologies. 💻 Currently, I’m leading Kubernetes-focused initiatives to enhance Developer Experience (DevEx) across cloud platforms like GCP and AWS. By streamlining workflows, optimizing infrastructure, and automating processes, I’m driving efficiency and empowering development teams to work faster and smarter. I’m deeply committed to building scalable, reliable, and cost-effective systems while mentoring teams to implement cloud-native best practices and elevate the overall development process.