stay in a license that still allows Hashicorp / IBM to benefit from community contributions?
I don’t see how this is the case. As Hashicorp explains, they switched from the open-source Mozilla Public License 2.0 (MPL) to the proprietary Business Source License (BSL) in order to apply restrictions upon users of Terraform:
Organizations providing competitive offerings to HashiCorp will no longer be permitted to use the community edition products free of charge under our BSL license.
The terms of the MPL and BSL are incompatible, insofar that Hashicorp cannot unilaterally relicense MPL code from OpenTofu into BSL code in Terraform. But Hashicorp could still use/incorporate OpenTofu MPL code into Terraform, provided that they honor the rest of the obligations of the MPL.
This is exactly the same situation as what Hashicorp was obliged to do before the licensing kerfuffle, so it cuts against Hashicorp’s objective: why continue developing legacy Terraform if OpenTofu is going to provide continuity? Perhaps they only intend to develop new, exclusive features that build upon the common legacy code, but users would now retain an option to reject those pricy add-ons and just stick with the free, open-source functionality from OpenTofu.
It seems to me less about giving the finger to Hashicorp and more about giving users a choice in the matter. Without OpenTofu, the userbase are forced into the BSL terms of Terraform, where Hashicorp could unilaterally prohibit any production use by yet another license change. That’s no way to live or work, with such a threat hanging overhead. OpenTofu lifts that threat by providing competition, and so maybe does kinda throw the finger at Hashicorp anyway.
On the flip side, precisely because MPL code cannot be unilaterally relicensed to BSL, if OpenTofu starts to gain new features that Terrarform doesn’t have, Hashicorp can incorporate those features but they won’t be unique. Why would a paying customer give money to Hashicorp for something that OpenTofu provides for free? The ecosystem of features cuts both ways.
Finally, it gives Hashicorp an out: if they acquiesce in future, their BSL code can be unilaterally relicensed as MPL once more, thus allowing code sharing with OpenTofu. Had OpenTofu picked a different license, this could have been much harder. But as described in the OpenTofu manifesto, continuity was the goal.
First of all thank you for your thoughtful response. I do disagree on a few key points though:
The terms of the MPL and BSL are incompatible, insofar that Hashicorp cannot unilaterally relicense MPL code from OpenTofu into BSL code in Terraform. But Hashicorp could still use/incorporate OpenTofu MPL code into Terraform, provided that they honor the rest of the obligations of the MPL.
When you can still use code from a license and distribute the end result under a different license, that means they are compatible. Just like the MIT is compatible with any other license.
if OpenTofu starts to gain new features that Terrarform doesn’t have, Hashicorp can incorporate those features but they won’t be unique.
So they are benefiting from improvements made in OpenTofu.
Why would a paying customer give money to Hashicorp for something that OpenTofu provides for free?
To access the features that are exclusive to Terraform. Companies spend unglodly amounts of money to pay for MS Sharepoint (completely different product, just giving an example of an expensive product with competitive groupware options in the market). Why wouldn’t they pay for Terraform, especially if it included a support contract? I think you are severely underestimating the willingness of customers to pay for service if you don’t think that would happen.
And all features henceforth developed for Terraform would be exclusive to it, while all features developed for OpenTofu would be available to Terraform because the MPL is such a pushover license that doing so is trivial. OpenTofu will always stay behind in this scheme. In other words, any developer contributing to OpenTofu is donating work to IBM. I bet they are more than okay with that.
Had they moved new OpenTofu contributions to a strong copyleft license, OpenTofu would lose nothing, while Hashicorp/IBM would lose the freeloading of FOSS developer’s contributions. IBM still has an out in this scenario, which is offering services to paying customers, just like Hashicorp did before the licensing fiasco. It’s a lucrative business model, and one they are good at.
I don’t see how this is the case. As Hashicorp explains, they switched from the open-source Mozilla Public License 2.0 (MPL) to the proprietary Business Source License (BSL) in order to apply restrictions upon users of Terraform:
The terms of the MPL and BSL are incompatible, insofar that Hashicorp cannot unilaterally relicense MPL code from OpenTofu into BSL code in Terraform. But Hashicorp could still use/incorporate OpenTofu MPL code into Terraform, provided that they honor the rest of the obligations of the MPL.
This is exactly the same situation as what Hashicorp was obliged to do before the licensing kerfuffle, so it cuts against Hashicorp’s objective: why continue developing legacy Terraform if OpenTofu is going to provide continuity? Perhaps they only intend to develop new, exclusive features that build upon the common legacy code, but users would now retain an option to reject those pricy add-ons and just stick with the free, open-source functionality from OpenTofu.
It seems to me less about giving the finger to Hashicorp and more about giving users a choice in the matter. Without OpenTofu, the userbase are forced into the BSL terms of Terraform, where Hashicorp could unilaterally prohibit any production use by yet another license change. That’s no way to live or work, with such a threat hanging overhead. OpenTofu lifts that threat by providing competition, and so maybe does kinda throw the finger at Hashicorp anyway.
On the flip side, precisely because MPL code cannot be unilaterally relicensed to BSL, if OpenTofu starts to gain new features that Terrarform doesn’t have, Hashicorp can incorporate those features but they won’t be unique. Why would a paying customer give money to Hashicorp for something that OpenTofu provides for free? The ecosystem of features cuts both ways.
Finally, it gives Hashicorp an out: if they acquiesce in future, their BSL code can be unilaterally relicensed as MPL once more, thus allowing code sharing with OpenTofu. Had OpenTofu picked a different license, this could have been much harder. But as described in the OpenTofu manifesto, continuity was the goal.
First of all thank you for your thoughtful response. I do disagree on a few key points though:
When you can still use code from a license and distribute the end result under a different license, that means they are compatible. Just like the MIT is compatible with any other license.
So they are benefiting from improvements made in OpenTofu.
To access the features that are exclusive to Terraform. Companies spend unglodly amounts of money to pay for MS Sharepoint (completely different product, just giving an example of an expensive product with competitive groupware options in the market). Why wouldn’t they pay for Terraform, especially if it included a support contract? I think you are severely underestimating the willingness of customers to pay for service if you don’t think that would happen.
And all features henceforth developed for Terraform would be exclusive to it, while all features developed for OpenTofu would be available to Terraform because the MPL is such a pushover license that doing so is trivial. OpenTofu will always stay behind in this scheme. In other words, any developer contributing to OpenTofu is donating work to IBM. I bet they are more than okay with that.
Had they moved new OpenTofu contributions to a strong copyleft license, OpenTofu would lose nothing, while Hashicorp/IBM would lose the freeloading of FOSS developer’s contributions. IBM still has an out in this scenario, which is offering services to paying customers, just like Hashicorp did before the licensing fiasco. It’s a lucrative business model, and one they are good at.