OpenTF Foundation

OpenTF Announces Fork of Terraform

Posted on:

Two weeks ago, HashiCorp announced they are changing the license to all their core products, including Terraform, to the Business Source License (BSL). In an attempt to keep Terraform open source, we published the OpenTF manifesto, and the community response was huge! Over 100 companies, 10 projects, and 400 individuals pledged their time and resources to keep Terraform open-source. The GitHub repository for the manifesto already has over 2.5k stars, and the number is growing quickly!

The manifesto outlined the intent of the OpenTF initiative in two steps — the first was to appeal to HashiCorp to return Terraform to the community and revert the license change they were making for this project. The second, in case the license was not reverted, was to fork the Terraform project as OpenTF.

The time is now!

Since no reversal has been done, and no intent to do one has been communicated, we’re proud to announce that we have created a fork of Terraform called OpenTF. Many engineers across a number of companies, sometimes even competing companies, have been working together over the last week to make this possible. It’s been an incredible experience, really!

As outlined in our manifesto, we are keeping OpenTF:

  • Truly open source – under a well-known and widely-accepted license that companies can trust, that won’t suddenly change in the future
  • Community-driven – so that the community governs the project for the community, where pull requests are regularly reviewed and accepted on their merit and changes are proposed through a public RFC process
  • Impartial – so that valuable features and fixes are accepted based on their value to the community, regardless of their impact on any particular vendor
  • Layered and modular – with a programmer-friendly project structure to encourage building on top, enabling a new vibrant ecosystem of tools and integrations
  • Backwards-compatible – so that the existing code can drive value for years to come

Becoming part of a foundation

We completed all documents required for OpenTF to become part of the Linux Foundation with the end goal of having OpenTF as part of Cloud Native Computing Foundation. By making a foundation responsible for the project, we will ensure the tool stays truly open-source and vendor-neutral.

If Terraform wasn’t open-source from the beginning, many of the tools that you are using right now for your Terraform workflows simply wouldn’t exist, thus, we believe the future for Terraform is OpenTF, developed fully in the open.

Roadmap

As previously outlined, we’ve been working on this fork for a number of days already, with over 10 engineers across multiple companies working on it.

In short, here’s the current status:

  • Almost done with the repository-wide rename to OpenTF
  • Selected initial steering committee members
  • Performed initial adjustments and cleanup of community documents.
  • Got CI/CD pipelines and multiple testing harnesses of end-to-end and snapshot tests to work and be green, to make sure that we stay backwards-compatible.

Expect the repository to be published very soon, once we’re officially part of a foundation and have some basic community guardrails and processes in place.

You might wonder why we already started work on this project so early? It’s quite simple, really. If HashiCorp were to reverse their decision, worst case we’d just lose a week of work. But if, and that is what indeed happened, HashiCorp wasn’t to reverse their decision, we didn’t want to lose any time, so that we could have a working OpenTF 1.6.0 release ready for you as soon as possible. And that’s why we started work on this over a week ago.

In the spirit of being as open as possible, we’ve created a public repository tracking our progress towards important milestones. You can subscribe to the issues there to be notified as soon as the fork is public. If you have any questions, feel free to create additional issues on that repository – we’ll try to respond as quickly as possible.

FAQ

When will I be able to see the fork?

We’re planning to publish the fork in the next 1-2 weeks. That doesn’t mean there will be a release by then, but the repository will be open. Releases (alpha and stable) should follow shortly.

Will I be able to use OpenTF as a drop-in replacement for legacy Terraform?

Yes

Will OpenTF work with all the providers and modules Terraform works with?

Yes

What will be the first release of OpenTF?

The first release will be 1.6.0-alpha, forked from the most recent commit that was still MPL-licensed.

Who is maintaining OpenTF? Is there enough firepower behind the project?

So far, four companies pledged the equivalent of 14 full-time engineers (FTEs) to the OpenTF initiative. We expect this number to at least double in the following few weeks. To give you some perspective, Terraform was effectively maintained by about 5 FTEs from HashiCorp in the last 2 years. If you don’t believe us, look at their repository.

How can I contribute to OpenTF?

If you’d like to pledge resources as a company, please get in touch via email or PR on the manifesto repository. Otherwise, the best way to contribute right now is to spread the word! Once the repository is public and we have a contribution process in place, you’ll be able to do code contributions.

Does OpenTF have a public roadmap? Can I affect it?

You can find current public roadmap on this GitHub repository. We will put an RFC process in place for you to be able to contribute to the roadmap as soon as possible.

Will OpenTF be compatible with future Terraform releases?

OpenTF will be 100% interoperable with future Terraform releases until the community wishes otherwise.

Can OpenTF change its licensing model in the future?

Once OpenTF becomes part of the foundation, it’s governed by the foundation and the project community. Its licensing model cannot change.

Read More