Now that OpenTofu has joined the Linux Foundation we wanted to answer all of your questions. As a reminder, HashiCorp updated their license for all of their products from a Mozilla public license to BUSL, which prevents any other product they view as a competitor from using Terraform version 1.6.0 and higher. As a result, OpenTofu is a Terraform fork from version 1.5.x to provide a drop-in replacement and truly open source alternative to Terraform.
The 1.6.0 release was the first GA release, but now we’re on to implementing new features in 1.7.0! The 1.7.0 beta version was released recently and you can test it out today. Here are a few of the highlights:
On top of the main highlights above, there were many other improvements and fixes that were added by the community. See all of the release information here.
You can install it by going to the “installing OpenTofu” page on the main OpenTofu site. Most users will likely start with Homebrew on their MacOS, but you’ll see there are packages for all operating systems.
Your other option is to test directly in Scalr. You’ll see you now have the option to select between Terraform and OpenTofu.
One important thing to note is that OpenTofu is now in testing for the Alpine Linux distributions and Terraform has been dropped by the team supporting AlpineLinux due to the license change. More can be seen here.
The community around Opentofu continues to grow now that the GA release is out and is adding some long-awaited features in 1.7.0 For those interested in the release cadence, the current model is to release when the flagship feature for that release is ready. So, as soon state encryption is ready to go GA, the GA version of 1.7.0 will be released.
Keep up to date on the updates to OpenTofu in their weekly updates. Also, check out one of the various OpenTofu conferences worldwide through the help of the Linux Foundation.
When the license change was announced, Scalr as well as others, like Gruntworks, Harness, Spacelift, and Env0 knew that they would be impacted. The license language was very vague and there was no way of knowing if our offerings would violate their license.
With that, a team of individuals made the decision to create the OpenTofu manifesto. The manifesto was created to make individuals aware of what was at stake as well as push HashiCorp to contribute Terraform to a foundation such as the Linux Foundation or CNCF, where most open source projects live. The manifest gained support of hundreds of companies and individuals in just a short time, which proved there was serious support from the rest of the open source community.
As predicted, Hashi did not donate the project, which then resulted in the forking of Terraform 1.5.x, the last version under the Mozilla public license, and the launch of OpenTofu. Originally, the project was named OpenTF, but at the advice of legal teams, it was changed to something that was not related to Terraform at all.
On September 20th, 2023 at the open source summit in Europe, the Linux Foundation Executive Director, Jim Zemlin, and Scalr CEO, Sebastian Stadil, announced the acceptance of OpenTofu into the Linux Foundation under the name OpenTofu. Representatives from ExpressVPN and Allianz joined them on stage to show support for the OpenTofu project.
To date, companies like Scalr, Env0, and Spacelift have either hired or have openings to hire full-time developers to join the OpenTofu team and support the OpenTofu initiative.
Foundations such as the Linux Foundation or the CNCF were created to ensure open source projects remain impartial, are maintained by a community, and have a collective commitment to excellence.. By joining a foundation, you will not have to worry about a license change that impacts all organizations and users that use the software. Foundations are great at maintaining standards, driving open collaboration, and ensuring projects have a long lived success without external companies influencing the direction.
Terraform went from a project that was truly community driven to one that was basically maintained by a few members of the HashiCorp team before the license change happened. This is not going to happen with OpenTofu. We encourage everyone in the community to contribute and make their voice heard by opening pull requests, reporting bugs, testing bug fixes, and participating in discussions in the public repo.
You can also join the growing Slack community where members of the core OpenTofu team work together with the general community. That link to join is here.
Lastly, the project is governed by a Technical Steering Committee that publishes minutes from each meeting here.
At this time, there is no difference between the Terraform and OpenTofu commands other than calling “tofu” rather than “terraform”. The basic commands remain the same:
The migration to OpenTofu is straightforward as you do not need to make changes to any of your files, but we do encourage you to backup your state file and do some testing first. Migrating to OpenTofu is the same as upgrading to a major version of Terraform. Please see the official guide on the migration here.
At this point, there are very few differences between OpenTofu and Terraform. OpenTofu was forked from Terraform version 1.5.x so you can expect the same functionality that you have always used in Terraform. The differences really come down to the command you’re going to use in the CLI to interact with OpenTofu and then the names you see in the output.
The shift from Terraform to OpenTofu is undoubtedly going to take some time. It is expected that both Terraform and OpenTofu will be used in parallel for some time. At this point in time, you can continue to use Terraform 1.5.x and lower without having to worry about the license change. Once you are ready for a newer version, you can opt to stick with Terraform or use OpenTofu.
OpenTofu is compatible with all Terraform providers.
In the very rare event you find a provider that works for Terraform but doesn’t for OpenTofu, please let us know so we can immediately fix it. In the future, we might even have a bounty for such cases!
Most providers are maintained by a community, a majority of which is often employed by an interested vendor. For example, the Datadog provider is mostly maintained by Datadog engineers. If any software developer, whether HashiCorp or other, stops maintaining a particular provider, then it’ll likely gradually have issues such as incomplete functionality coverage or incompatibility with newer OpenTofu and Terraform versions. If the provider is popular, some helpful members of the OpenTofu and Terraform communities may decide to help out and maintain it.
There have been some discussions about making a standard provider format, but nothing to share publicly yet.
We’re committed to ensuring that OpenTofu supports all Terraform providers, short, mid and long term.
In addition, there is no “separate provider” for OpenTofu and for Terraform: there is a single provider format that both projects support. As a provider maintainer or author, you do not need to make any changes to your project, nor will you need to add additional tests. In the rare event that your provider works for Terraform but not for OpenTofu, please let us know so we can immediately investigate and restore compatibility.
In terms of longevity, the Linux Foundation provides a great framework for long term project success, like the Technical Steering Committee or a requirement that projects have maintainers from many organizations to provide redundancy. There are already several dozen contributors, some one-time, some full-time, so the project is moving fast.
We can't make any announcements just yet, but thinking from first principles: none of the big cloud providers (or any vendor for that matter) love the developer experience being out of their control, and even less having it in the hands of an organization seeking to monetize their middleman position. OpenTofu, with its transparent and open-to-all development model, is in a unique position to provide the big cloud providers with the ability to improve the experience where they want to improve it. It follows suit that one should expect them to contribute to the project.
Oracle has already publicly started, for example, with a proposal to add OCI as a state storage backend.
We get this question a lot! Picking a name for any project is hard, and picking a good name is even harder. We wanted something that was easy to remember and use, without causing confusion in the market. It had to be short since we’ll be typing it a lot (tofu), and unique as to be easy to google. OpenTofu is all those things.
And as a bonus, the little yellow tofu cube makes for a super cute mascot (have you started collecting all the tofu stickers?).
We of course can’t speak for Hashicorp, but as far as the OpenTofu community goes, we are eternally grateful for the contributions made by Mitchell and Hashicorp. We don’t see the relationship as contentious, more so a simple difference in values.
We would be thrilled to welcome Hashicorp into the OpenTofu community. This would be the best possible outcome from the fork: the Terraform and OpenTofu communities merging under the neutral Linux Foundation umbrella. The door will always be open.
It might be important to note that Scalr, from which you are reading this FAQ, got started because it simultaneously 1) believed in the potential of building great developer experiences on top of Terraform, and 2) observed that Hashicorp wasn't executing well on Terraform Cloud / Enterprise which left a gap that the market filled. Many other commercial and non-commercial organizations came to this realization and similarly built value-add products for the Terraform language, and it is sad that Hashicorp feels the need to pull the rug on the community in an effort to catch up.
The first stable release of OpenTofu is the main goal right now. A tremendous amount of work has been done to put in a best in class development process, but we will continue to improve. The project is in the process of being transitioned to the Linux Foundation where they already have existing processes and standards that will only accelerate the progress. The Cloud Native Computing Foundation, an organization that is part of the Linux Foundation, is also the next step in terms of foundations. The CNCF is mainly focused on projects specific to infrastructure, which is exactly what OpenTofu is.
We encourage you to follow the OpenTofu project, check out the code changes, and open pull requests as the OpenTofu project gets closer to the first stable release for a drop-in replacement for Terraform!
We’ll continue to update this post when there is new information to share! Sign Up to try OpenTofu on Scalr today!
Originally published on November 30th 2023.