Terraform has long held the crown as the go-to infrastructure as code (IaC) solution for DevOps teams. As of 2024, it still holds most of the market share in the IaC space, thanks to its extensive feature set and active community.

But there has been a major shift recently, with many DevOps teams migrating from Terraform to an alternative called OpenTofu.

This article will explore the changes in Terraform that prompted many developers and organizations to reconsider their options and why OpenTofu emerged as the leading alternative.

Recent Changes to the Terraform Ecosystem

Terraform was created in 2014 by U.S. software company Hashicorp, which operated under a freemium business model for nearly a decade. During this period, the DevOps community embraced the tool, with many further feeding the Terraform ecosystem with code enhancements and plugin modules as open-source contributors.

But all of that changed in 2023, when the company announced that it was moving away from the permissive open-source Mozilla Public License (MPL) to the more restrictive Business Source License (BSL). The change restricts commercial usage, particularly for competitors looking to build and sell solutions based on Terraform’s code.

While this may sound minor on paper, its implications are quite significant. Many organizations rely on the permissiveness of MPL-like licenses to customize and extend tools to fit their unique workflows. Under the BSL, such changes are restricted, limiting how organizations can modify and integrate the tool into their commercial products or services. Others simply felt betrayed because they had lost transparency and opportunities to impact the product they had championed and helped develop.

DevOps didn’t take the change lightly, with many expressing their disappointment on public coding forums, Github, and Reddit. Their main concern remains what Terraform’s license change means for the future of open-source IaC. After all, moving away from an open-source ethos could herald other non-user-friendly decisions, harming flexibility and innovation in the space.

Why OpenTofu Is the Preferred Alternative

Fortunately for developers, Terraform no longer has a virtual monopoly over the IaC space, as there are plenty of options emerging over the last few years. However, no one has been able to benefit from the licensing change fiasco more than OpenTofu, a Linux-backed tool that started as a fork of Terraform’s last truly open source code base.

Naturally, IaC leaders who have been looking to get away from the restrictions imposed by Terraform’s new licensing model see OpenTofu as the perfect alternative, providing the same core functionality without the limitations on flexibility and commercial use. OpenTofu relies on the Mozilla Public License 2.0, with no restrictions on commercial and patent use, or distribution.

Based on statements from OpenTofu’s leadership, it is clear that the platform values its commitment to remaining fully open-source. This is unlikely to change, which helps developers to see it as an ideal, long-term Terraform replacement.

Another major factor driving adoption is trust in the OpenTofu community. Unlike corporate-driven solutions, OpenTofu truly feels like a solution made by developers, for developers. There is a growing number of contributors, forums, and resources who each contribute to a collaborative environment for fostering best practices, solving problems, and having a direct say in the evolution of the platform.

Since the code and syntax work very similarly in both tools, teams that want to transition can do so without worrying about a steep learning curve, while widespread community support can help them smooth out any potential issues.

Getting Over the Challenges of Migrating

While migrating from Terraform to OpenTofu is probably not the most challenging task for a seasoned dev team, there are a few things to keep in mind to make the process as smooth as possible.

The migration process begins by evaluating your current Terraform setup, including all active configurations, state files, and modules. Take very good note of all dependencies between modules and external integrations, as they may require some tweaking to function normally in an OpenTofu environment.

Luckily, OpenTofu is extremely well equipped when it comes to guides and community support regarding all types of issues. Perhaps the greatest resource is OpenTofu’s guide library specifically for Terraform migrations. You can select the Terraform version you’re migrating from, and OpenTofu will provide you with a step-by-step walkthrough.

Before deploying everything in a live environment, remember to first thoroughly test your configurations in a staging or test environment. This will help you identify any potential misconfigurations or compatibility issues.

Conclusion

Terraform’s decision to move away from the permissive, open-source license that made it a cornerstone in the IaC community has created a unique opportunity for more competition and innovation in the space.

While OpenTofu emerged as the immediate beneficiary of a flood of unhappy Terraform users, it has also set the stage for other open-source projects to gain traction and challenge the status quo. Hopefully, this will end up benefiting developers, who know how to reward truly flexible and community-focused solutions.

If you’re also unhappy with the licensing changes, know that you have options, and that it may be the perfect time to give OpenTofu a shot.