Is Terraform still open-source? Yes, but…
We are announcing that HashiCorp is changing its source code license from Mozilla Public License v2.0 (MPL 2.0) to the Business Source License (BSL, also known as BUSL) v1.1 on all future releases of HashiCorp products. HashiCorp APIs, SDKs, and almost all other libraries will remain MPL 2.0, said the company behind the Infrastructure as Code tool Terraform in a blog post.
Terraform is another one in a long list of developer tools that have started as “pure open-source” products but changed its license to Business Source Licence at some point.
In the blog post announcing the change HashiCorp’s co-founder and CTO Armon Dadgar says they’re just “following a path similar to other companies in recent years. These companies include Couchbase, Cockroach Labs, Sentry, and MariaDB, which developed this license in 2013. Companies, including Confluent, MongoDB, Elastic, Redis Labs, and others, have also adopted alternative licenses that include restrictions on commercial usage.”
Why the change to Business Source Licence?
As Dadgar explained:
There are other vendors who take advantage of pure OSS models and the community work on OSS projects, for their own commercial goals, without providing material contributions back. We don’t believe this is in the spirit of open source.
Armon Dadgar, HashiCorp’s co-founder and CTO
Under the new license, HashiCorp states:
- End users can continue to copy, modify, and redistribute the code for all non-commercial and commercial use, except where providing a competitive offering to HashiCorp.
- Partners can continue to build integrations for our joint customers.
- We will continue to work closely with the cloud service providers to ensure deep support for our mutual technologies. Customers of enterprise and cloud-managed HashiCorp products will see no change as well.
- Vendors who provide competitive services built on our community products will no longer be able to incorporate future releases, bug fixes, or security patches contributed to our products.
The OpenTF Manifesto
And just like licensing changes by other companies have done before, this one also prompted a backlash in the open-source community. The OpenTF Manifesto shares their concern that the BUSL license is “a poison pill for Terraform” that will cause the open source ecosystem surrounding Terraform to “dwindle and wither.” The initiative, signed so far by almost a hundred companies and several hundred several individuals, is also not happy about HashiCorp’s lack of communication with the community about the changes.
They are particularly worried about the lack of a clear definition of what HashiCorp would consider a competitive service:
At every company you ever work at in the future, before starting to use Terraform, the CTO will have to think about whether HashiCorp could possibly consider you a competitor, now or at any time in the future.
( … )
Every developer at that company will have to wonder if they want to contribute back to Terraform, given there’s no certainty they’ll be able to use their own work at a future job.
Although the BUSL license technically is an open-source license, this change has once again started a debate on the future of open-source software. Terraform would’ve never gotten the adoption it did or all the contributions from the community had it not been open source; they point out and list some of the vendors affected by change that have made significant contributions to the Terraform community.
The OpenTF manifesto stresses once again that every time an open-source company changes their licensing, it affects the whole community:
Tools like Terraform don’t live in isolation: they are part of a large ecosystem. The same applies to Kubernetes, Linux, Go, or other major infrastructure tools.
Imagine if the creators of Linux or Kubernetes suddenly switched to a non-open-source license that only permitted non-competitive usage.
The CNCF (Cloud Native Computing Foundation) has posted a recommendation to its projects using Terraform to “switch to an alternative component”.