For those who haven’t heard, on Thursday, August 10, 2023, HashiCorp announced that it was switching Terraform from the MPL v2 licence to a Business Source License (BSL). The BSL license does not allow you to use Terraform if you both have a competing product with Terraform and host or embed Terraform in your products. Now that we had time to digest it, we thought it was time to share some thoughts.
What does this mean?
Ultimately, it means Terraform is no longer an open-source product. For now, Terraform is still free for individuals and organizations to use. HashiCorp has not indicated that there is any desire for this to change.
It’s not just Terraform, either. Nomad, Consul, and Vault are also included in this license change.
Many in the industry (and certainly internally here at PALO IT) have suggested this is similar to what happened with Docker in 2021 when it changed its licence model so that only small businesses and individuals could use Docker Desktop for free. Whilst it's an interesting comparison, it’s different as HashiCorp is not charging organisations to use their products (at least, not yet).
The wording is also specifically vague and open-ended. Some of the questions that have arisen include:
- Is running Terraform in a CI/CD pipeline considered hosting?
- Is committing Terraform IaC code along with your application code considered embedding?
As of the time of writing, the answer to both these questions is no, but that’s up to the discretion of HashiCorp. That could change. Every company, vendor and developer currently using Terraform must wonder if their business could be considered competitive. And how can you build any confidence that the terms will not change in the future, leading to you or your organization violating those terms?
Can we "just fork" Terraform and keep it open source?
OpenTF is proposing something along these lines. The OpenTF manifesto aims to keep Terraform open source. It requests that HashiCorp revert the change to BSL and move Terraform back to the previous MPL licence or some well-known, widely accepted open-source license (e.g. Apache License 2.0).
Its fallback plan is to create a fork of the "legacy" MPL licensed version of Terraform and maintain that fork within the foundation, run by multiple organisations and individuals. This is similar to how Kubernetes and Linux operate now and is designed to keep the tool open-source and community-driven.
An open-source version of TF seems like a good outcome, right? Not necessarily. This could lead to two potentially different products, with OpenTF and Terraform diverging over time, making it a high and challenging effort to move between them.
It's worth noting that this is distinctly different from other organizations that offer both an open-source/community edition and a paid edition. In this model, the open-source edition is fully featured, but with the additional fee, you get additional features, level of support, etc. In these situations, the underlying product organization owns and maintains both sets of products, and it's generally easy to move between them.
At PALO IT, we have generally been a Terraform-first company. Its multi-cloud ability and supportive community make it perfect for us. Is this going to be the case moving forward? It may be too early to tell.
What about you? Has this made you rethink your use of Terraform and other HashiCorp products? What are some of the other questions that have come up?
Send us your thoughts. Or, if you'd like to learn more about Terraform, infrastructure as code, or other game-changing software tools, get in touch with our team of experts to learn more about what's possible in: