In the lights of recent Hashicorp annoucement (i.e. licensing model change to exclude use by direct competitors, in short) is there anything we should be concerned of? I understand this might likely hit the cloud offering more than the framework itself, but I guess the paid product drives the free one more, not the other way around…
Here are my thoughts.
The new license commit says this:
You may make production use of the Licensed Work, provided such use does not include offering the Licensed Work to third parties on a hosted or embedded basis which is competitive with HashiCorp’s products.
Both the Terraspace Framework and Terraspace Cloud do not provide the terraform binary. Users provide the terraform binary and the specific version. Users install terraform and run it with terraspace on their machine or the CI provider of their choice, IE: GitHub actions, GitLab, etc. Ultimately, terraspace doesn’t have control over the terraform installation.
It’s hard to imagine HashiCorp telling GitHub, GitLab, BitBucket, CircleCI to pay for terraform licenses when their users have control over which terraform version to install. Terraform is not embedded into Terraspace or those platforms. The tools call out to the terraform version that the user installs.
Believe that Terraspace is fine. Terraspace Cloud also has no control over the terraform version being used. Terraform runs from your machine or CI provider that you control even with Terraspace Cloud. That being said, HashiCorp can do anything they want with its license.
This reminds me of some other project licensing changes:
- Docker Desktop → Rancher Desktop
- Mysql → Mariadb
- Elasticsearch → OpenSearch
- MongoDB → DocumentDB
These projects ended up forking because of license changes. Guessing there will be forks of terraform. The TACOS companies like spacelift, scalr, and env0 will need a fork with a more permissive license. It’ll probably take some time for things to settle and a defacto fork to rise up.
There are probably marketing advantages to being the maintainer of the winning fork. Multiple companies will likely consider taking it on if they have the resources to handle the maintenance overhead. Here’s already a fork. Terragrunt is considering taking on the fork too. It could be an opportunity.
If Hashicorp decides not to allow even calling out to terraform, then GitHub, GitLab, BitBucket, etc will also have issues. Unsure how that would be handled at all. Again, hashicorp can do whatever they want and change the license further. If they do, users will have to ensure they bring their own terraform fork.
Think Terraspace is fine and will continue working on it. If Hashicorp takes it a step further and tells everyone that they cannot even call out to its proprietary terraform binary, then users will have to install a terraform fork and call that instead. Let’s hope Hashicorp does not do that.
But if Hashicorp does, terraspace would be developed and tested with a terraform fork instead. I believe a fork will likely arise as a result of this license change. Remember though, the user is the one who ultimately installs the terraform fork.
Hope that helps. Thanks.
Thanks @tung for the clarification. I was looking for your thoughts about this Terraform announcement.
Agreed that when I read their announcement, Terraspace nicely generate the files for Terraform then it calls terraform binary with the standard terraform command. So in any case, Terraspace is not embedded terraform on “it owns binary”.
As you said, it is the users who installing terraform, not terraspace hence no modification of their binary.
I would like to highlight one thing from their blog post announcement:
"BSL 1.1 is a source-available license that allows copying, modification, redistribution, non-commercial use, and commercial use under specific conditions. With this change we are 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."
So MariaDB and MongoDB cannot be really compared based on their post but a lot of news/articles always put them on the same basket (licenses).
Regarding Terragrunt, I have never used it but if they start to provide special command that embedded terraform, then indeed, it will break the new HashiCorp BSL 1.1 license.
If HashiCorp doesn’t reconsider its actions, and I suspect it won’t, then it may take less time than expected for the community to rally around a fork.
Hashicorp updated their FAQ last night:
Q: What does the term “embedded” mean under the HashiCorp BSL license?
A: Under the HashiCorp BSL license, the term “embedded” means including the source code or object code, including executable binaries, from a HashiCorp product in a competitive product. “Embedded” also means packaging the competitive product in such a way that the HashiCorp product must be accessed or downloaded for the competitive product to operate.
I guess my question around ‘how the paid product drives the free one’ still stands…
Thanks to everyone for keeping up with this and posting on the community forum! It’s saving time.
Well, it’s a bummer. At least the updated Hashicorp FAQ provides clarity.
Released in terraspace 2.2.9
Updated Terraspace Docs also:
Generally, Terraspace will develop and test against Terraform 1.5.5 and below and future Terraform forks. Though, I would like to keep Terraspace and official Terraform working also for the folks on it and within the BSL license usage terms.
On the Terraspace Cloud side, I deployed a new version of the Terraspace Cloud API also. Terraspace Cloud does not allow the use of Terraform versions greater than 1.5.5. The API will deny requests and prevent data from saving on the Cloud backend side entirely.
With so many companies relying on Terraform, it’s likely there will be a terraform fork via https://opentf.org/ The new Terraspace release is already prepared for that.
Thanks again everyone.