Hashicorp's License Change and my Home Lab - Update

See the Update at the end of the article.

Already a week ago, Hashicorp announced it would change the license on almost all its projects. Unlike their previous license, which was the Mozilla Public License 2.0, their new license is no longer truly open source. It is called the Business Source License™ and restricts use of their software for competitors. In their own words:

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.

I found a great article by MeshedInsights that names this behaviour the “rights ratchet model”. They define a script start-ups use to garner the interest of open source enthusiasts but eventually turn their back on them for profit. The reason why Hashicorp can do this, is because contributors signed a copyright license agreement (CLA). This agreement transfers the copyright of contributors’ code to Hashicorp, allowing them to change the license if they want to.

I find this action really regrettable because I like their products. This sort of action was also why I wanted to avoid using an Elastic stack, which also had their license changed.1 These companies do not respect their contributors and the software stack beneath they built their product on, which is actually open source (Golang, Linux, etc.).

Impact on my Home Lab

I am using Terraform in my home lab to manage several important things:

  • Libvirt virtual machines
  • PowerDNS records
  • Elasticsearch configuration

With Hashicorp’s anti open source move, I intend to move away from Terraform in the future. While I will not use Hashicorp’s products for new personal projects, I will leave my current setup as-is for some time because there is no real need to quickly migrate.

I might also investigate some of Terraform’s competitors, like Pulumi. Hopefully there is a project that respects open source which I can use in the future.

Update

A promising fork of Terraform has been announced called OpenTF. They intend to take part of the Cloud Native Computing Foundation, which I think is a good effort because Terraform is so important for modern cloud infrastructures.

Footnotes

  1. While I am still using Elasticsearch, I don’t use the rest of the Elastic stack in order to prevent a vendor lock-in.