On August 10th, HashiCorp dropped a bombshell on the open source world announcing that going forward they will be changing the license on their core products, including Terraform, to a Business Source License (BSL v1.1 to be specific). Unlike the Mozilla Public License (MPL v2) that their products were previously licensed under, BSL is not an open source license. While it still allows similar freedoms for individuals to use, share, and modify, it places restrictions on various forms of commercial use.
Commercial development on open source foundations is nothing new and historically has benefited the industry by creating a base for competitive innovation that gives birth to better products and more choice for end users. One such example is the open source version control system Git, licensed under an open source GPL license. Git remains the most widely adopted version control system in the world. There are many successful commercial products built upon Git including GitHub, GitLab, BitBucket and more. End users have a choice between several powerful innovative tools and the Git ecosystem is thriving as a result.
Many open source projects are founded and managed by commercial organizations. This has for a long time been an accepted part of the open source ecosystem. The community benefits with open source projects backed by dedicated resources and structure, and the founding companies benefit by virtue of their position as custodians of the project and can leverage that visibility to aid their own commercial offerings.
To a large extent the balance between commercial interest and open source integrity has been maintained as the nature of open source licenses prevents projects from unilaterally changing their licensing terms. Traditionally, contributors retain the rights to their code which is protected under the same license terms.
In recent years however, we have seen a number of commercial organizations launch projects under open source licenses but require all third parties to sign a contributor license agreement (CLA) before any contributions will be merged into their source code. The purpose of this CLA is normally to require the contributor to hand over the rights to the code they contribute to the company. CLAs have been seen by many as a risk and an affront to the core principles of open source software since they consolidate the rights of all code to one entity, often with a commercial interest in the project. This is how HashiCorp was able to make this surprise move to Terraform.
The new BSL license that Terraform will adopt going forward contains restrictions on using the software on a hosted or embedded basis which is competitive with HashiCorp’s products. Rather than encourage open innovation and competition in the Terraform ecosystem, HashiCorp have decided to attempt to block any other companies from competing with their own commercial offerings by snatching Terraform back from its open source foundations, violating the trust of the whole community that have adopted, contributed to, and advocated for Terraform over the past nine years helping make it the most prolific IaC tool we have.
Community Response: Announcing OpenTF Manifesto
The actions that HashiCorp has taken this week have left many in the community with very little clarity. The vague nature of the wording in the new license raises more questions than it answers. In fact, the only true clarity that we have is that the custodians of Terraform can and will pull the rug out from under its users whenever they feel that the way in which people use Terraform affects their commercial interests. There are no guarantees that HashiCorp won’t further modify its license to add even more restrictions in the future. Many feel that this introduces too much unpredictability to an ecosystem that thousands of organizations rely on to underpin their core infrastructure.
One thing that we all agree on is that Terraform is a fantastic tool that many of us rely on to deploy and maintain vital infrastructure. It is imperative that Terraform remains an open and collaborative project that serves the interests of the entire community, not just one commercial entity.
Since the announcement of the license change last week there has been a tumultuous amount of activity, speculation and discussion about the future of Terraform and what can be done to not lose such a precious and important asset. As a result, in the true spirit of our community, many companies and individuals have come together in unison to act as one under the umbrella of OpenTF.
OpenTF is a collaborative initiative supported by many of the most recognized companies and projects in the Terraform ecosystem, including Spacelift, pledging time, funding and resources to ensure the success and stability of the initiative.
On August 15th, just five days after the initial announcement from HashiCorp, OpenTF released its manifesto. The manifesto lays out OpenTFs intent and goals and sets out a roadmap to ensure the continued survival of Terraform as an open source tool. As a first step, OpenTF is appealing to HashiCorp to reverse their decision and revert Terraform back to a true open source license and put safeguards in place to ensure it stays that way forever.
If unsuccessful in appealing to HashiCorp, OpenTF is paving the way to fork the Terraform project under its original MPL license. Forking a project is never something to be taken lightly. There are always risks of fragmentation and division within the user base that ultimately hinder the adoption of both sides. Trust has been lost and end users need confidence in the project and its management. That’s why OpenTF is seeking to fork the project into a foundation with true independent and impartial governance that only has one objective; continue to make Terraform the number one IaC tool and deliver what users want.
We at Spacelift believe that OpenTF has the right objectives. Furthermore, we believe that it has the backing and support to make this a huge success for all of us that use and love Terraform and we are proud to be a part of it.
How can you help?
You can help OpenTF either as a company, project, or individual by opening up a pull request on the OpenTF manifesto GitHub repository. Here you can pledge resources, time, and services to the initiative. If you would just like to show your support for OpenTF, then please star the repository on GitHub, share the website on social media, and help us all spread the word.
The Most Flexible CI/CD Automation Tool
Spacelift is an alternative to using homegrown solutions on top of a generic CI. It helps overcome common state management issues and adds several must-have capabilities for infrastructure management.