HashiCorp recently transitioned its product licensing, including that of Terraform, from the Mozilla Public License (MPL) to the Business Source License (BSL). This shift indicates a significant change in how users can utilize and interact with HashiCorp products. This blog post aims to demystify the implications of this licensing transition and address some pressing queries regarding its use.
What is the Business Source License (BSL)?
The BSL is a license model introduced by MariaDB Corporation. It provides users with the right to copy, modify, create derivative works, redistribute, and make non-production use of the licensed software. However, there are restrictions on production use, which are defined by the licensor (in this case, HashiCorp).
HashiCorp's BSL License
Mark Tinderholt created a video on YouTube, explaining the impact of the decision by HashiCorp.
Under the BSL, HashiCorp grants users the right to make production use of its products. However, such use is restricted if it involves offering the Licensed Work to third parties on a hosted or embedded basis that competes with HashiCorp's own offerings.
This means you cannot build a commercial product around Terraform's functionality as that would rival HashiCorp's own commercial products. Same goes for all other HashiCorp's products.
Can Terraform with BSL be used with Terragrunt?
Terragrunt is a thin wrapper for Terraform that provides extra tools for keeping your Terraform configurations DRY (Don't Repeat Yourself), working with multiple Terraform modules, and managing remote state. Terragrunt is not a direct competitor to Terraform; rather, it complements Terraform.
From a purely functional standpoint, using Terragrunt doesn't seem to violate the new BSL license for Terraform. However, if Terragrunt were used in a manner that facilitates offering Terraform as a hosted or embedded service in competition with HashiCorp, then there might be a cause for concern.
Can Terraform with BSL be used with Atlantis?
Using Terraform under the BSL in conjunction with Atlantis, a tool that enhances Terraform's collaboration capabilities, could be seen as permissible provided it doesn't facilitate offering Terraform in a competing manner to third parties.
Reaction by the Community
As of this writing:
- Igor Zalutski, the founder of Digger (an open-source alternative to Terraform Cloud & Terraform Enterprise) shared on Reddit that they have forked the last MPL based terraform code. Currently the fork has been moved to openterraform GitHub organization in a repo called opentf.
- Josh Padnick, co-founder and Chief Product Officer of Gruntwork (the company behind Terragrunt), Expressed the same interest.
Hence an open version of Terraform and other HashiCorp products can be expected in the near future as a reaction to HashiCorp's licensing change.
I kind of agree with Mark that in today's world, many aim to profit. And what better way to capitalize than by enhancing someone else's work with your own unique touch, making it shine even brighter? HashiCorp is trying to protect its commercial interests while still allowing non-competing users the freedom to use their products.
However, we must recognize and appreciate the countless individuals who contributed to HashiCorp's products as open-source contributors without any financial compensation. They willingly chose to contribute, placing their trust in HashiCorp to maintain the open-source nature of its products. Undoubtedly, the success of HashiCorp's products owes much to these invaluable contributions.
Ultimately, it appears that while the corporate realm at HashiCorp may have gained an edge, the open-source community faced a setback. Nevertheless, users retain their freedom to utilize the products for non-competitive purposes.
As for the license change, it's essential to understand the specific intentions and implementations when combining HashiCorp products like Terraform with other products like Terragrunt and/or Atlantis. If you're contemplating using them in a commercial context or any manner that might be seen as competitive, it would be wise to consult with legal entity to ensure compliance with the BSL.
You can always get further clarification with respect to your particular use case by sending an email to email@example.com.