Why developers are moving away from Terraform—and what they're choosing instead
Published on 31 Aug 2025 by Adam Lloyd-Jones
The Terraform Exodus: What Happened?
For years, Terraform was the undisputed champion of Infrastructure as Code (IaC). Its declarative syntax, provider ecosystem, and modular design made it the go-to tool for cloud engineers and DevOps teams. But in mid-2023, HashiCorp made a controversial decision: it changed Terraform’s license from the permissive Mozilla Public License (MPL) to the Business Source License (BSL).
This move sent shockwaves through the open-source community. The BSL restricts commercial use of the software, especially for companies building competing products or services on top of Terraform. While HashiCorp claimed the change was necessary to protect its business interests, many developers saw it as a betrayal of open-source principles.
Licensing Shift: From Open to Controlled
Under the MPL, Terraform was free to use, modify, and redistribute—even for commercial purposes. The BSL, however, introduces legal ambiguity. What counts as “competitive use”? Could internal tooling built on Terraform violate the license? These questions forced many organizations to consult legal teams before continuing to use Terraform in production.
The result? A loss of trust. Developers who had contributed to Terraform’s ecosystem—writing modules, filing issues, and evangelizing the tool—felt excluded from its future. The open-source spirit that once fueled Terraform’s growth was replaced by corporate caution.
Enter OpenTofu: The Community Fork
In response to HashiCorp’s licensing change, a coalition of developers and companies launched OpenTofu, a community-driven fork of Terraform’s last open-source version. Backed by the Linux Foundation, OpenTofu aims to preserve the open-source ethos while maintaining full compatibility with Terraform workflows.
Why OpenTofu Is Gaining Traction
- Open Governance: Decisions are made transparently, with input from contributors and users.
- Backward Compatibility: OpenTofu supports existing Terraform modules and state files.
- Active Development: The roadmap includes long-requested features like encrypted state files and faster plan/apply performance.
- Migration Support: Tools and guides make it easy to switch from Terraform with minimal disruption.
For many teams, OpenTofu is a drop-in replacement. You can alias terraform
to opentofu
, run opentofu init
, and continue managing infrastructure as usual. The migration is smooth, and the community is vibrant.
Legal and Strategic Implications
The licensing shift didn’t just affect individual developers—it created ripple effects across the industry. DevOps platforms like Spacelift, Terrateam, and env0 had to reevaluate their Terraform integrations. Some pivoted to OpenTofu; others began exploring alternative IaC paradigms altogether.
For startups and enterprises alike, the question became: Do we want to build our infrastructure on a tool with legal uncertainty and closed governance?
OpenTofu answered that question with a resounding “no”—and offered a viable path forward.
Exploring Alternatives to Terraform
While OpenTofu preserves the Terraform experience, some teams are using this moment to rethink their IaC strategy entirely. Here are three alternatives gaining momentum:
1. Pulumi: Code-First Infrastructure
Pulumi takes a radically different approach: instead of writing declarative HCL, you define infrastructure using real programming languages like TypeScript, Python, Go, or C#.
Key Benefits
- Familiar Syntax: Developers can use loops, conditionals, and functions—no need to learn a DSL.
- Unified Stack: Infrastructure and application code live side-by-side.
- Rich SDKs: Pulumi offers deep integrations with cloud providers and Kubernetes.
Considerations
- Steeper learning curve for ops teams unfamiliar with programming languages.
- Requires runtime dependencies (e.g., Node.js or Python) in CI/CD pipelines.
Pulumi is ideal for teams that want full programmatic control and already have strong software engineering practices.
2. Crossplane: Kubernetes-Native IaC
Crossplane is a control plane for cloud infrastructure built on Kubernetes. It lets you define infrastructure as Kubernetes Custom Resources (CRDs), enabling GitOps workflows and native reconciliation.
Key Benefits
- Kubernetes Integration: Seamless with existing clusters and GitOps tooling.
- Composable Resources: Build abstractions and policies using CRDs.
- Multi-Cloud Support: Manage AWS, Azure, GCP, and more from a single control plane.
Considerations
- Requires Kubernetes expertise.
- Best suited for platform engineering teams building internal developer platforms.
Crossplane shines in environments where Kubernetes is already the backbone of infrastructure.
Cloud-Native SDKs and Tools
Some teams are moving away from IaC tools entirely, opting for cloud-native SDKs like AWS CDK, Azure Bicep, or Google Cloud Deployment Manager.
Why?
- Tighter Integration: SDKs are maintained by cloud providers.
- Rapid Evolution: Features are released faster than third-party tools can support.
- Fine-Grained Control: Developers can leverage provider-specific capabilities.
These tools are ideal for teams deeply invested in a single cloud and looking for maximum control.
Migrating from Terraform to OpenTofu: A Practical Guide
If you’re ready to switch to OpenTofu, here’s a streamlined migration process:
Step-by-Step Migration
-
Backup Your State
cp terraform.tfstate terraform.tfstate.backup
-
Install OpenTofu
brew install opentofu # macOS
-
Alias or Replace Terraform CLI
alias terraform='opentofu'
-
Initialize and Validate
opentofu init opentofu validate
-
Test with a Small Change
opentofu plan opentofu apply
-
Update CI/CD and Tooling Update references to terraform in your pipelines, scripts, and integrations.
OpenTofu’s compatibility means you don’t need to rewrite your modules or rearchitect your workflows. It’s a low-friction migration with long-term benefits.
Strategic Considerations for Teams
The Terraform licensing shift is more than a technical hiccup—it’s a strategic inflection point. Teams must now weigh:
- Governance: Who controls the roadmap?
- Legal Risk: Are we exposed to licensing ambiguity?
- Community: Is the tool actively maintained and supported?
- Future-Proofing: Will this tool evolve with our needs?
OpenTofu offers a compelling answer to these questions. But for some teams, Pulumi or Crossplane may align better with their architecture and culture.
The Future of IaC: Open, Modular, and Ethical
As the IaC landscape evolves, one thing is clear: developers want tools that are open, modular, and aligned with their values. The Terraform exodus isn’t just about licensing—it’s about trust, transparency, and community.
OpenTofu represents a return to those principles. Pulumi and Crossplane offer new paradigms for teams ready to rethink their infrastructure strategy. And cloud-native SDKs provide deep integration for those committed to a single provider.
Whatever path you choose, the goal remains the same: build infrastructure that’s reliable, maintainable, and empowering.
Final Thoughts
The Terraform story is a cautionary tale—but also a catalyst for innovation. By embracing open alternatives and exploring new IaC models, developers are reclaiming control over their infrastructure.
Whether you’re migrating to OpenTofu, experimenting with Pulumi, or diving into Crossplane, now is the time to rethink your tooling, refactor your workflows, and recommit to the principles that make DevOps powerful: openness, automation, and community.
Related Posts
- The Essential Guide to Docker for Packaging and Deploying Microservices
- The Diverging Paths of Infrastructure as Code: How OpenTofu Handles State Management Differently from Terraform
- Understanding OpenTofu config files
- Making infrastructure as code (IaC) better: A modular and scalable approach
- What are the different files used by Terraform?
- How Infrastructure as Code delivers unprecedented time savings
- What is OpenTofu? Terraform’s open-source alternative
- ClickOps vs. IaC: Why Terraform wins in the modern cloud era
- What is Terraform?