Imagine waking up one day to find that your go-to Infrastructure as Code (IaC) tool has suddenly changed its license, potentially putting your business at legal risk. That’s exactly what happened to the Terraform community in August 2023 when HashiCorp dropped a licensing bombshell that shook the entire DevOps world.
Enter OpenTofu – the community’s bold response and perhaps the future of Infrastructure as Code.
What is OpenTofu? The Phoenix Rising from Terraform’s Ashes
OpenTofu is an open-source Infrastructure as Code tool that emerged as a direct fork of Terraform version 1.5.6. Think of it as Terraform’s younger, more principled sibling who decided to stay true to the family values of open source.
Here’s the story: When HashiCorp switched Terraform from the Mozilla Public License (MPL) 2.0 to the restrictive Business Source License (BSL) 1.1, the community didn’t just complain – they acted. Within weeks, major players like Gruntwork, Spacelift, Harness, and Env0 came together to create OpenTofu, ensuring that a truly open-source IaC tool would continue to exist.
Today, OpenTofu operates under the Linux Foundation’s stewardship with the MPL 2.0 license, giving it the legitimacy and governance structure that enterprise users demand.
The License Drama: Why OpenTofu Was Born
The Problem with Terraform’s New License
HashiCorp’s shift to BSL 1.1 created a minefield of uncertainty:
- Ambiguous Terms: The license’s definition of “competitive” use is deliberately vague, leaving companies guessing whether their infrastructure setups might violate the terms
- Commercial Restrictions: Organizations building products that compete with HashiCorp could face legal challenges
- Future Uncertainty: HashiCorp can change the license again, potentially making it even more restrictive
- Ecosystem Impact: Third-party tools and services that rely on Terraform faced an uncertain future
OpenTofu’s Response
OpenTofu addressed these concerns by:
- Maintaining the battle-tested MPL 2.0 license that the community trusted
- Establishing neutral governance under the Linux Foundation
- Ensuring no single company can dictate the project’s direction
- Creating a truly community-driven development process
OpenTofu vs Terraform: Feature Face-off
The Similarities (What Makes Migration Easy)
Both tools share fundamental DNA:
- Same Configuration Language: Both use HashiCorp Configuration Language (HCL)
- Provider Ecosystem: Access to 3,900+ providers and 23,600+ modules
- Declarative Approach: Define your desired infrastructure state, let the tool handle the rest
- State Management: Track infrastructure changes with state files
- Modular Design: Create reusable infrastructure components
The Key Differences (Why OpenTofu Wins)
Feature | OpenTofu | Terraform |
---|---|---|
License | MPL 2.0 (truly open source) | BSL 1.1 (restrictive) |
Governance | Community-driven via Linux Foundation | Corporate-controlled by HashiCorp |
State Encryption | ✅ Built-in end-to-end encryption | ❌ Not available |
Early Variable Evaluation | ✅ Use variables in terraform blocks | ❌ Limited support |
Community Influence | ✅ Direct community impact on features | ❌ Corporate priorities only |
Legal Certainty | ✅ Clear, established licensing | ❌ Ambiguous restrictions |
OpenTofu’s Exclusive Features
State Encryption: One of the most requested Terraform features for over five years, OpenTofu delivered it in version 1.7. Your infrastructure state can now be encrypted client-side, crucial for regulated environments.
Enhanced Import Capabilities: OpenTofu 1.8 introduced loop-able import blocks, making it easier to import existing infrastructure into your code.
Provider-Defined Functions: Execute custom functions written in Go directly in your configuration, extending OpenTofu’s capabilities beyond what’s possible with built-in functions.

Current Terraform Limitations That Push Users to OpenTofu
1. Licensing Uncertainty
The biggest limitation isn’t technical – it’s legal. Companies are left guessing whether their use cases might violate Terraform’s BSL license. The ambiguous terms around “competitive” use create a compliance nightmare for legal teams.
2. Missing Critical Features
- No State Encryption: Despite years of community requests, Terraform still lacks built-in state encryption
- Limited Variable Usage: Can’t use variables and locals inside terraform blocks
- Slower Innovation: Corporate priorities often override community needs
3. Vendor Lock-in Risk
With HashiCorp’s history of license changes, there’s no guarantee Terraform won’t become even more restrictive. Companies investing heavily in Terraform face potential future migration costs.
4. Community Disconnect
HashiCorp’s decision-making process increasingly ignores community feedback in favor of commercial interests, leading to features that serve business goals rather than user needs.
Migration Guide: Making the Switch to OpenTofu
The good news? Migrating to OpenTofu is surprisingly straightforward. Here’s how to do it right:
Pre-Migration Checklist
- Backup Everything
# Backup your state file cp terraform.tfstate terraform.tfstate.backup # Backup your configuration tar -czf terraform-config-backup.tar.gz *.tf
- Ensure Clean State
# Make sure no changes are pending terraform plan # Should show: "No changes. Your infrastructure matches the configuration."
- Check Compatibility
- OpenTofu 1.6+ supports Terraform 1.5.x and 1.6.x
- OpenTofu 1.7+ supports Terraform 1.7.x and 1.8.x
- OpenTofu 1.8+ supports Terraform up to 1.9.x
Step-by-Step Migration Process
Step 1: Install OpenTofu
# Using Homebrew (macOS)
brew install opentofu
# Using package managers (Linux)
# Check official docs for your distribution
# Verify installation
tofu --version
For detailed installation instructions for your operating system, visit the official OpenTofu installation guide.
Step 2: Update Configuration (If Needed) For Terraform 1.6+ users, make these code changes:
# Remove skip_s3_checksum if using S3 backend
terraform {
backend "s3" {
bucket = "my-terraform-state"
key = "prod/terraform.tfstate"
region = "us-west-2"
# skip_s3_checksum = true # Remove this line
}
}
Step 3: Initialize OpenTofu
# Initialize with upgrade flag to download from OpenTofu registry
tofu init --upgrade
Step 4: Verify Migration
# Check for unexpected changes
tofu plan
# Should show: "No changes. Your infrastructure matches the configuration."
# Apply to update state file format
tofu apply
Step 5: Update CI/CD Pipelines
# GitHub Actions example
- name: Setup OpenTofu
uses: opentofu/setup-opentofu@v1
with:
tofu_version: 1.8.0
- name: OpenTofu Init
run: tofu init
- name: OpenTofu Plan
run: tofu plan
For more CI/CD integration examples, check out the OpenTofu GitHub Actions documentation and Jenkins integration guides.
Large-Scale Migration Strategy
For organizations with hundreds of Terraform stacks:
- Inventory Assessment: Catalog all Terraform configurations and their versions
- Batch Migration: Group similar workloads and migrate in phases
- Automated Validation: Create scripts to verify migration success across all stacks
- Team Training: Ensure all team members understand the command changes (terraform → tofu)
Rollback Plan
If something goes wrong:
# Restore state backup
cp terraform.tfstate.backup terraform.tfstate
# Remove OpenTofu lock file
rm .terraform.lock.hcl
# Reinitialize with Terraform
terraform init
Real-World Success Stories
Oracle’s Bold Move: Oracle quietly migrated their EBS Cloud Manager from Terraform to OpenTofu, signaling enterprise confidence in the tool.
VMware’s Transition: VMware Tanzu switched to OpenTofu for their infrastructure management, citing licensing concerns and community governance as key factors.
OpenStreetMap’s Choice: Even non-profit organizations like OpenStreetMap moved their cloud services management to OpenTofu to avoid potential licensing issues.
The Future is OpenTofu
Why OpenTofu is Winning
- Community-First Development: Features are built based on user needs, not corporate revenue goals
- Faster Innovation: No bureaucratic overhead means quicker response to community requests
- Enterprise Support: Major cloud platforms and tool vendors are rallying behind OpenTofu
- Legal Clarity: MPL 2.0 provides the certainty that businesses need for long-term planning
What’s Coming Next
The OpenTofu roadmap includes exciting developments:
- Enhanced testing capabilities
- Improved module system
- Advanced state management features
- Better integration with cloud-native tools
Stay updated with the latest developments by following the OpenTofu blog and community discussions.
Making the Business Case
For Developers: OpenTofu offers the same familiar experience with added features like state encryption that Terraform users have been requesting for years.
For Engineering Managers: Avoid potential licensing compliance issues while gaining access to community-driven innovation.
For CTOs: Reduce vendor lock-in risk and ensure your infrastructure tooling remains under your control.
For Legal Teams: Clear, established licensing eliminates the ambiguity that comes with BSL’s restrictive terms.
The Bottom Line
OpenTofu isn’t just a response to HashiCorp’s licensing changes – it’s an evolution of what Infrastructure as Code should be: truly open, community-driven, and focused on user needs rather than corporate profits.
The migration process is straightforward, the benefits are clear, and the community momentum is undeniable. Major companies are already making the switch, recognizing that OpenTofu represents the future of Infrastructure as Code.
The question isn’t whether you should migrate to OpenTofu – it’s whether you can afford not to.
In a world where infrastructure is the backbone of every digital business, choosing tools that prioritize community, openness, and innovation isn’t just smart – it’s essential for long-term success.
Ready to make the switch? Your infrastructure (and your legal team) will thank you.