HashiCorp License Change to Business Source License (Terraform, Vault, etc.)

HashiCorp has announced they are changing the license of their open source products (including Terraform and Vault) from MPL to BSL, which is not technically an open source license. But in practice it still allows you to do everything you could before, except directly sell a product/service based on it which competes with HashiCorp’s products.

So I don’t think it will impact us at all (?), but there is a question about whether Grove and Harmony can include Terraform files while being AGPL licensed. There is a discussion on the Open edX Slack.

Any thoughts?

Ticket: SE-6015

I see there is already an OpenTF foundation. Not sure if that will be successful, but worth keeping an eye on.

I feel a lot of value to terraform comes from community-developed modules plugins etc. since they don’t and probably don’t intend to make it support everything. So it’s quite possible that OpenTF will be successful.

1 Like

I was reading this interesting blog post from Gruntwork (the authors of various Terraform libraries/plugins and the book Terraform: Up & Running) about the potential impact of the license change. I didn’t realize it was that involved and that keeping things vague gives HashiCorp a larger say in who gets to use products and how they are used. It seems like there is a non-zero chance it could impact our offerings of Grove and Harmony in some way?

Yes, that’s why I made this post. But exactly what the impact is remains unclear.

Imho it’s a very clear cut situation: Hashicorp software has become proprietary. The OpenTF project seem to be healthily taking up steam because of it. We need to avoid being dependent on proprietary software in our stack, and generally I would want to vote with our feet against this type of hostile plays - the success of community forks like OpenTF also depends on that. So it would be good to consider switching, if the OpenTF project made that easy (which it should, since for now that’s basically the same software, just a different upstream source).


@antoviaque shall we schedule an epic for replacing terraform with OpenTF for all our code (including our infrastructure and Grove)?

cc: @tikr

@gabor Maybe worth starting with a discovery for what it would entail, and how much work that represents? Then it’s probably worth testing it on one small thing first to check that it works as expected, before migrating everything? But yes, if the workload is reasonable and it works, an epic for it would be good. I’m hoping that will just be a drop-in replacement though, and won’t actually require much work beyond testing.

@mtyaka Do you want to take that discovery? It is a bit more interesting than usually :blush:

This looks like a nice discovery and I’d be happy to do it, but I’ve got little time and so many things to do lately, I wouldn’t be able to do it any time soon :slightly_frowning_face:

Hey @team,

From this sprint on, OpenCraft is using OpenTofu instead of Terraform.

What does it mean to you? Install OpenTofu and simply use the tofu command instead of terraform. That’s all, it should be 100% compatible for our usecases.

What does it mean for Grove? The tools-container image <0.28 will use terraform, but newer images (including 0.28.0) will use tofu. The interface (./control/tf) is not changed (in naming) so it will be backward compatible. You can run the same commands and will notice no difference in execution.

ticket to log time