2.5 KiB
layout | title | date | categories |
---|---|---|---|
post | Hashicorp's License Change and my Home Lab | 2023-08-17 18:15:00 Europe/Amsterdam | hashicorp terraform vault nomad |
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.
Footnotes
-
While I am still using Elasticsearch, I don't use the rest of the Elastic stack in order to prevent a vendor lock-in. ↩︎