Weaveworks statement for Terraform customers on Hashicorp license changes
Hashicorp recently announced licensing changes to many of their open source products, including Terraform. Learn how this may impact you and what it means for competing solutions.
This is a short update from Weaveworks about yesterday’s announcement from HashiCorp that they will move many of their open source products—including Terraform and Vault—from the MPL2 license to the Business Source License (BSL, or BUSL) 1.1. MPL2 is open source. BSL 1.1 is not. What does that mean for Weaveworks, and possibly for you?
For now we’ll limit our commentary on HashiCorp’s strategy to a few general remarks. HashiCorp can and should act in the best interest of its customers. We believe some of the best software is open source. But building, maintaining, and supporting open source products is not easier or cheaper than traditional commercially licensed products. Real-world use has to be financially sustainable and scalable. In our view, the best long-term model for this is when end users and vendors form commercial relationships to support each other.
Weaveworks and HashiCorp
Weaveworks does not compete with HashiCorp open source or commercial products. We have always been big fans of Terraform, Vault, and Consul Connect and recommend them often.
Our commercial Weave GitOps Assured and Enterprise software offerings make it easy for customers to use Kubernetes and HashiCorp together through integrations. With our recommended open source tools like Flux and Weave GitOps we encourage our project communities and customers to use HashiCorp products to create cloud native applications and application delivery platforms.
Why is the new HashiCorp license important?
BSL 1.1 includes language that blocks users from providing competitive services built on the BSL-licensed code. To quote from yesterday’s blog post by HashiCorp co-founder and CTO Armon Dadgar: “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.” We highly recommend reading the post and associated FAQ for more context.
Other than this change, the BSL license is permissive. Naturally, Weaveworks customers, partners, and OSS users have been asking us, “what does this mean for me?” For clarity, note that Weaveworks sells a commercially licensed product Weave GitOps Enterprise; we develop and contribute to open source under standard OSI licenses; and we sell commercial support.
Weaveworks integration between Flux and Terraform
Weaveworks develops tf-controller, an open-source Kubernetes Operator that provides an integration between Flux and Terraform. tf-controller enhances the experience of Terraform users who are also running Flux in Kubernetes to deploy and manage applications, by enabling them to coordinate with external Terraform-managed services. If you use Weaveworks’ commercial offerings, we provide additional support for setting this up and making it easy to use. Please read this Appsflyer case study to learn how this can enhance developer productivity.
- Tf-controller is a useful extension for compliant Terraform users. If you run tf-controller, then you run Terraform. Your usage of Terraform must now be subject to the BSL.
- Tf-controller is licensed by Weaveworks under MPL2, which is very permissive and works with all HashiCorp software as well as CNCF projects covered by (for example) the Apache-license.
Let’s break this down.
Open Source Users
If your use is non-commercial, then as far as we are aware you are unaffected—but our assumption is not conclusive. Please note this is not legal advice. If you want to get actionable help on open source licensing for your situation, then please consult a lawyer.
Enterprise Users of Terraform and Kubernetes
Flux and tf-controller are integration tools of Terraform and, we believe, are compatible with HashiCorp’s conditions regarding integration partners. If you think your company might be offering a direct competitor (product or service) to HashiCorp, we again advise you to seek legal counsel.
To quote from the Hashicorp announcement:
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.
In any case, please consider Terraform Enterprise with Weave GitOps Enterprise. Or, you can purchase support from us. Weave GitOps Assured provides 24/7 support and patches for running and configuring open source software. That includes Flux and its integrations tf-controller, flux-cloudformation, Flagger, etc. We do not provide support for Terraform itself— please contact HashiCorp for options. We can help you make good use of Terraform with Flux, show you how to configure it, and create templates and policies to support your Terraform use. But we don’t sell Terraform.
Cloud and SaaS Users
We encourage cloud users to “bring your own Terraform” or to use Terraform Cloud. These will work with our tools.
If you are running a SaaS that provides application deployment that integrates with Terraform, then you may be impacted. For example, some SaaS providers have explicitly offered competing alternatives to HashiCorp Terraform Cloud. If you are a customer of someone else’s GitOps solution, make sure that they are not offering a solution HashiCorp deems as a competitor.
Vault and Consul Connect
Several Weaveworks products and OSS packages integrate with Vault and Consul Connect. Your use of our software can continue unchanged. Your use of HashiCorp software will only change if you are in breach of the BSL.
Summary and Conclusion
The BSL adds a non-compete clause that restricts a class of users of HashiCorp software who offer competitive services to HashiCorp by using that software. Weaveworks and all our customers and partners who do not compete with HashiCorp are not affected.
Weaveworks provides complementary products which can be used with Terraform and Vault. We provide integration tools, for example, to connect Kubernetes and Flux to Terraform. This blog post explains that if you think you may be affected, then first ask if your use of HashiCorp is compliant with BSL 1.1. If the answer is “yes,” then your use of Weaveworks software does not change this. If you think you are in conflict with BSL 1.1, then please contact the HashiCorp licensing team for further advice.
Weaveworks is committed to making life as simple and clear as possible for our customers and users. We shall contact HashiCorp to make sure that any further advice we offer is consistent with their recommendations. Watch this space, please.