I don’t get it. Why go through the trouble and stay in a license that still allows Hashicorp / IBM to benefit from community contributions?
Programming
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
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.
OpenTofu’s Slack workspace
Bro... why do opensource projects love proprietary collaboration platforms so much?
OpenTofu is mostly getting users from the corporate world. My work is on Slack and we're moving to OT. The lowest-friction for me as an OT-when-at-work user is to add another Slack. (I'd personally rather that they used an open platform. But it's easy for me to see why they didn't.)
What is a good open platform for the tech business? My corp want to go full Teams, which sucks even more than Slack. At least most tooling has a Slack integration of some sort.
mattermost?
Because most successful open source has commercial backing. Funny enough, most developers like to get paid.
Based on the name I thought this was gonna be some platform to make homemade tofu more accessible to people and I was thinking “it’s really not all that hard to make, that’s kind of silly”
going after big nasoya
It’s traditional in open source to have really terrible names.
Not even the first time tofu has been used, I know it as the key validation scheme "trust on first use"
I felt completely lost. What is Terraform?
Terraform is a tool that codifies cloud APIs into declarative configuration files to automate infrastructure provisioning and management
Not exactly sure what that means, but that may help someone!
Terraform is part of a movement called "Infrastructure as Code" (IaC) which allows engineers to define their cloud infrastructure using code.
This is extremely useful as it allows you to:
-
version infrastructure changes
-
automate resource and configuration creation and management
-
have reproducible environments (think production and staging envs, or deploying a new production env to another datacenter)
Terraform (and OpenTofu) is different to most IaC project as it is agnostic of cloud providers: you can use it to deploy infrastructure to multiple providers, where their competitors are limited to their own platform (I think of AWS's Cloud Development Kit)
Its for easily deploying virtual machines. You can specify the VM specs, give it an install disk and some instructions, and it will churn out a VM for you.
Honestly, it's not great in my experience, nothing about it is common or portable, so if you change your VM host, it might all fall apart.
It's for far more than just deploying VMs: you can create pretty much anything you can on a cloud provider, such as databases, network rules, access tokens, object storage, etc.