Will OpenTofu Replace Terraform?

On August 10th, 2023, HashiCorp announced a significant shift in licensing strategy, transitioning from the Mozilla Public License to the Business Source License (BUSL) for future releases, including Terraform starting from version 1.6. BUSL is a business license that allows for source code to be available but not classified as open-source, imposing limitations on commercial code use. This, as you probably remember, was REALLY BIG news.

In response to this licensing shift, a new fork of Terraform version 1.5 emerged, wryly named OpenTofu (because it’s an Open TF). Joining The Linux Foundation on September 20th, 2023, the product is designed to be a drop-in replacement for legacy Terraform. Excitingly, OpenTofu made its stable debut on January 10th, 2024: https://opentofu.org/blog/opentofu-is-going-ga/

Impact on Users:

From a day-to-day operational perspective, whether utilizing the free Terraform or Terraform Cloud, users haven’t experienced any changes. However, the implications are more high-level and forward-thinking. Over the last 2-3 years, there were growing complaints about HashiCorp’s reluctance to accept community changes; it was open-source in name only. Additionally, the paid version lacked features, paving the way for companies like Env0, Spacelift, and Scalr to emerge as Terraform providers and address market needs. There’s no secret that this competition was the driving force behind the licensing change in the first place. 

OpenTofu, in contrast, adopts a genuinely open-source approach. The project actively encourages community participation through contributions, bug reporting, testing, and open discussions. Notably, Env0, Spacelift, Scalr, and Harness jointly committed to covering the cost of 18 full-time engineers for at least 5 years, with Gruntwork contributing to development and open-source community efforts.

Are there any reasons for switching to OpenTofu today? Outside of supporting an open-source project, not many. The latest release is mostly the same ol’ Terraform under a new coat of paint.  However, with the momentum behind OpenTofu, there’s an opportunity to address long-standing issue, for example they have already commented this:

 

Parameterizable backends, providers, and modules have been a very common community request, e.g. parameterizing module versions using variables, maybe even instantiating providers using for_each parameters on a static list of values. This is something we’re looking into and hope to introduce an answer for eventually.

So, will OpenTofu Replace Terraform?

Today, obviously, no. Terraform’s extensive market penetration and inertia make it challenging for OpenTofu to supplant its position. Migration is particularly hard to justify when both products are free and provide similar functionality. It’s hard to justify to your supervisors the need to switch tools when there are no savings, only potential risks on both sides. To gain widespread adoption, OpenTofu needs to offer tangible benefits and killer features, let’s see how they deliver on that front in the next 2 years.

 

Share with your network