They literally do:
"HashiCorp even had all contributors sign a CLA which explicitly said (link to the CLA in the Internet Archive as HashiCorp has of course removed this wording): [...]
The move to BUSL—which is not a free and open source license—broke the implicit contract. That was the brash action!
Terraform would've never gotten the adoption it did, or all the contributions from the community had it not been open source. Most of us would've never agreed to the CLA to contribute to the project if it was BUSL licensed. Taking all those contributions and all that community trust, and then changing to the BUSL license is a bait and switch." [1]
I agree with the overall sentiment, but they could've left out all the judging side comments.
[1] Source: https://opentf.org/#why-fork
Of course, this is untrue. They may have had all contributors after some specific date sign one, but it is simply untrue that all contributors have signed one at all.
All HashiCorp have done is made their own future contributions subject to BSL, not relicensed any previous contribution, nor do they have the ability to do that without copyright assignment of each and every contribution, which they do not have (specifically I have never signed a copyright assignment, and nor has at least one other of the top ten contributors of all time).
Nothing about MPLv2 prevents inclusion in a commercial product provided the attribution and file-based copyleft provisions are followed.
A bunch of commercial software right now (cough I'm writing this on MacOS) uses BSD-licensed foundations.
Indeed it’s something of a spiritual successor to CDDL which was designed precisely for that purpose (although reliable sources also say it was designed to be GPL-incompatible, so that is literally a he-said/she-said case).
There's are only 2 .go files left in the hashicorp/terraform.repo which still have MPL-2.0 in their license headers, so either there was no community code left, so either there are virtually no such contributions left in Terraform or they have in fact attempted to relicense code.
This looks like relicensing to me: https://github.com/hashicorp/terraform/commit/53c34ff49cfbc1...
Btw, no file that you still show up in `git blame` for has an MPL notice header.
In the official repo I can still check out an older commit with the MPL on it, which means they are still distributing code under that license, but it wouldn't matter if that were the case or not under the law.
edit: In fact, software as a business ( and many other professions ) would not exist if license terms could be changed or revoked after distribution. License changes for new software to be distributed can change, sure. But short of a breach of contract as outlined in the license itself you cannot change a license you have granted.
Unless they have approval from each contributor for a given file (or the contributor signed a CTA or CLA), they cannot re-license that particular file.
It's still MPL and only once all contributors approve or the MPL code is removed can it be re-licensed to an incompatible license.
Of course if they had wanted to move to a compatible license, for a lot of FOSS licenses that is an option. Regardless of whether that is an option for the MPL, they are moving to an incompatible license and could not do this.
----
So their only options for files that they can't convert to the BUSL from the MPL are:
1. Keep contributions to those files under the MPL but require contributors to sign a CTA or CLA guaranteeing those contributions can later be relicensed.
2. Move BUSL contributions out of the file and only keep the MPL contributions in that file until they've all been replaced.
Doing otherwise is violating the MPL.
To my knowledge they have not done that so anybody whose code is being used without permission could fight them on copyright infringement.
And worth noting is that they don't have a particularly small number of contributors. Terraform has over 1700 contributors and many of the other repos have over 1000 contributors or close to 1000 contributors (unsure of the overlap).
If they only started requiring a CLA or CTA later into their development, they probably haven't gotten permission from all the rights holders.
In the announcement literally the only mention of this is:
> The manifesto outlined the intent of the OpenTF initiative in two steps — the first was to appeal to HashiCorp to return Terraform to the community and revert the license change they were making for this project. The second, in case the license was not reverted, was to fork the Terraform project as OpenTF.
> Since no reversal has been done, and no intent to do one has been communicated, we’re proud to announce that we have created a fork of Terraform called OpenTF.
What you’ve quoted and linked to is the manifesto before this announcement.
They could have played the announcement much differently to how they did, but they chose not to, and chose to focus on the positives instead.
It’s not even in the announcement faq.
> they could've left out all the judging side comments.
That is literally what they did.
I imagine the manifesto will disappear now that it is, obviously, superseded.
Just give it a tiny bit of time, yeah? Come on, what they’re doing seems like good work, well played and without nastiness.
We do not fault HashiCorp for trying to build a thriving business and we respect their amazing achievements and contributions. However, on this one issue of the Terraform license, we do not agree with their position and believe strongly in the need for a truly open source, community-driven Terraform.
I wish it were not the case. It should be more like contributors get paid like employees retroactively in a situation like this but no idea how something could be structured like this.
So you can just license all future contributions under AGPL and use the MIT licensed code, effectively making the combined work AGPL. But the MIT part remains MIT, anyone could fork your project, remove all AGPL code and return to MIT. It’s wise to clearly mark which code is which, especially since MIT requires that the copyright notice must be retained:
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
It makes sense they'd do this, but we need to stop loving people who appear to give us things. They're just making reasonable business decisions.
If Hashicorp didn’t have a business plan that made money off terraform being OSS then the time for that was years ago.
If you release as OSS then your competitors will use it to. This is predictable and all plans should account for it.
This competition didn’t hurt Hashicorps chances of profitability, they were factored in from the beginning.
Reading through these comments, I'm reminded of a pop psychology book that I read that essentially said "never try to take someone away, no matter how small, it is perceived as a much larger loss than it is".
If Hashicorp had started with this new license in the first place, do we really think they wouldn't have had the business success that they've had? We'll never know, but my guess is that a license that says "competitors can't copy us" would seem totally reasonable to folks contributing, and irrelevant to customers that have a problem to solve. Someone correct me if I'm wrong here, I want to understand this obviously passionate response.
(Since I've commented a couple times on this let me also say I'm not a hashicorp employee nor know anyone there)
In reality, the usefulness of the product and friendliness towards developers is much more important.
It’s lame that hashicorp (and others) are fair weather open sources who start as open source to gain critical mass and then jettison their purported ideals when it benefits them.
Dishonest because they trick contributors into working toward something that they may not, I think probably wouldn’t have, chosen to work on had hashicorp been honest since the beginning.
All the work done in this case can be forked into a different product, as is being done here. The reason crack dealers do what they do is they control the supply, not a "means of production". Hashicorp explicitly licenced away their control of the supply ten years ago.
That's not just pop psychology. That's straight from "The Prince" by Machiavelli.
“Injuries, therefore, should be inflicted all at once, that their ill savour
being less lasting may the less offend; whereas, benefits should be conferred
little by little, that so they may be more fully relished.”
https://www.goodreads.com/quotes/6858171-injuries-therefore-...They weren't, actually.
From a Hashicorp FAQ article (which is a transcript of a video interview which has since been delisted from YouTube) titled 'Why is HashiCorp committed to Open-Source?':
> Mitchell: [I]t's always sort of been a default for me. [...] When we were starting the first projects, we both didn't intend to ever start a company around them. There was no monetization goal at all, and so I think open source was an obvious default then.
https://www.hashicorp.com/resources/why-is-hashicorp-committ...
Cynically, I believe they intentionally were stupid knowing that their tool would only become widely used if open source (who wants infrastructure as code locked into some proprietary thing).
I still think of open-source in a traditional, historically informed way: 'open-source' is about software freedom at bottom, even though its name and common arguments in its favor are more practical and self-interested.
I get the impression that Mitchell Hashimoto never saw it that way, and certainly didn't buy into the actual 'open-source ethos' in the sense of the values of the people who decided the term and founded OSI, etc.
A source-available license like BUSL probably would have been a better fit for HashiCorp from the start, or as near the start as possible. But I don't know that 'source-available' as a label could have driven adoption the same way in the early days, and it seems plausible to me that the founders might've realized that too.
My problem with source-available licenses is that it makes the software miss out on the network effects of contributions.
I’m not going to contribute to source-available licensed software just like I won’t contribute to Windows (source code is available to see but they don’t even accept contribs).
I like contributing my time to communities and to building things together. I make pretty minimal contributions because I’m paid to write software for an organization and don’t have time to contribute meaningfully.
Even if hashi worked out some way to compensate me for my contrib, I don’t think I would bother because the amount would be negligible.
So if the idea is to have high quality software due to network effects, source available doesn’t seem like a good fit for this.
It also seems moot to me because decompilers have been able to get me the source of things that aren’t open source. Being able to view the source code isn’t as important to me as being able to work on things as a community.
Having a single corporation reap all the benefits of a community is not something I want to work on.
They liked the idea that customers could try before they buy, and that customers could inspect the source code for debugging or other purposes, but they clearly didn't buy into the whole catb thing.
From where you and I sit, it's a missed opportunity. Perhaps Hashi had good reasons to believe that they had to be the ones to drive Terraform forward themselves, and that community contributions would at best play a negligible role, whether that's because core Terraform code is hard to work on, because the contributions they saw tended to be minor, or because they wanted all the core contributions to be their own for the sake of retaining control. But whatever their reasons, they weren't on the same page as you and me about this.
(Snapshot from archive.org)
No matter what addendum they add, or how they mark it as archival, it reveals that HashiCorp was not actually committed to open-source like they claimed to be. Their word was 'committed', but in actuality open-source was just a feature of the license they happened to be using at the time. So that page will always invite questions about what else they say they're 'committed to'.
Leaving it up but changing the title would seem underhanded in the same way. Leaving it up and changing nothing would be confusing and look like an obvious oversight.
The page had to go, I guess.
DM: Dave McJannet, CEO at HashiCor
GS: Glenn Solomon, GGV Capital Managing Partner
15:22 GS: "...reminds me a little bit of you know when you when you listen to Mitchell and Armand talk about the early days with the open source and how they were kind of you know hand to hand go really going going for meetup to meet up and trying to get feedback from users..."
15:43 DM "yeah I think open source lends us up really well to the rapid open feedback loops which is one of the reasons why I think the best products are built in open source YOU HAVE TO BE REALLY CLEAR ON WHAT THE MONETIZATION PATH IS but but the feedback groups are hard to beat um you know I think the the neat thing about that we've done is we actually uh we did it on six different products and now eight so we've kind of run the same..."
16:18 DM "how do you get that minimum viable audience right that there are different ways you can do that in the early days we did that through social media um I have to talk about that one um and you know content and entertaining people but I think this notion of also building Network effects into the products is the other reason so yes we went knocking door to door but it was deeply considered in terms of how you integrate..."
16:43 DM "think about how terraform works as an example there's terraform core and then there's a plug-in for every piece of infrastructure in the world THAT'S ON PURPOSE RIGHT AND THE PROJECT'S ACTUALLY CONSTRUCTED THAT WAY SO THAT OTHER PEOPLE CONTRIBUTE AND COLLABORATE so there are lots of different ways to do that but ultimately it's about Network effects and how you drive it and then..."
17:11 GS "Dave start with you maybe uh talk a little bit more about like uh what what that TERRAFORM PROVIDER COMMUNITY is built um uh how you get third parties involved and like what what's been some of the secret sauce that's made it so Central"
18:08 DM "... so I went to Microsoft and I went to Oracle and I said hey I think we can help you I went to Google we can really help you because you're way behind and and and we actually did BD deals with them to to get into their communities to make it relevant to their communities and IT WAS DELIBERATE there are only four communities that mattered at that time and we kind of played them off against each other then we invested deeply in this digital distribution channel OF A MALICIOUS USER JOURNEY to success for people it was a combination of that kind of the anchor tenants plus the big investment in the digital experience plus you know we you know we to this day we probably have 60 people..."
18:54 DM "today yeah so today there are about two and a half thousand terraform providers out there in the world we develop about five of them um because what we were able to do is WE'RE ABLE TO FLIP THE MARKET AGAIN THIS IS A LOT IT'S A LONGER LONGER DESCRIPTION IT'S LIKE IT'S IT'S VERY MALICIOUS IT'S THE RIGHT WORD so what we did is we said hey we decomposed the project into core Plus providers because that's how you do it in the open source Community we control core outright and play every committer but anybody can contribute to a provider but number one we control the certification process right nobody else can certify it number two we then when we got to you know we knew if we got to 200 The Fortune 500 using terraform to interface TO AMAZON IT WAS OVER BECAUSE THEY'RE IN CHARGE not Amazon and so you were then able to force every isv in the world to say if you want to be part of you know JP Morgan's Cloud program you have to build a terraform provider so it was a combination of a few things like that but IT'S VERY VERY DELIBERATE SORT OF THE ARCHITECTURE of the projects owning the certification process and then then owning the key communities that you care about..."
DM@07:30: So how we think about it is, we're kind of obsessive about journeys. [...] And we decompose the personas into two: there's the practitioner, and then there's the decision-maker. The practitioner, you're trying to progress through a journey of discover and learn, try and trial, use and advocate— and you do not care if they buy anything from you. The decision-maker you're trying to progress through the why/try/buy journey. [...] It is a pre-dredged river, it is not fair; they do not know what is happening to them. They are not going where they think they are going— they are going where I want them to go. [...] And it turns out it works.
GS: Is there anything specific, do you think, about open-source that you layer in?
DM: For us, open-source is really just a distribution channel. (Also it's a development channel, but predominantly it's a distribution channel.) [...] So I don't think it matters whether it's open-source or not, as much as just being really, really obsessive about the digital videogame that you play.
--
On the one hand, it's nice that Dave McJannet is so up-front about these strategies, how manipulation is a part of them, and how much market positioning is about pushing people around to retain control of an ecosystem.
On the other hand, he sounds like a pushy, arrogant asshole tbf.
I don't see OP talking about 'loving people'. Just stating that a very good approach was taken. Wrt 'give us things', it is not about giving either (that's like free beer), but about freedom. If OpenTF indeed ends up under Linux Foundation / CNCF it doesn't matter how many competitors are involved, but that freedoms are assured.
My comment was about a previous commenter thinking it was amazing that other companies put FTEs in place for a few years to work on OpenTF. It's not amazing; their businesses were built on Hashicorp licencing Terraform as OSS. They've been given far, far more than a few FTEs' worth of effort, and their continued existence depends on OpenTF being actively developed. It's not a noble thing (unlike the original open sourcing); it's just business as usual.
Where was this support when they built a business on this free work?
1. Open-source software is a gift to the world. You make it, release it, and people can do whatever they want with it, including not contribute back. There is no exploitation here. You can build a trillion dollar business on top of Linux, without paying Linux anything. This is how open source is meant to work. This is the known contract when you release something as open source. To imply that by following the spirit of open source, somehow HashiCorp, a 5 or 6 billion dollar company is being exploited doesn't quite jive, IMO.
2. HCP has been clear that they will not put forth resources to review pull requests. They let many good pull requests languish until they die. If HCP were better stewards of the Terraform community and prioritized contributions, would things be different? I don't know. But I think if one is going to say the competitors should have contributed to Terraform, one also has to acknowledge that HCP has explicitly stated they are not going to prioritize reviewing your contribution. If you're looking for the best way to spend your engineering time, the best business decision for you is probably not to spend a lot of time on a piece of work that may die in the vine.
3. But it's not even just to say none of these folks have contributed back. They may not have many commits in the repository, but Gruntwork has created Terragrunt, which is free and open source. This has impacted the community considerably. The founders have written a book on Terraform.
4. Where is HCPs acknowledgment of all of the people that saw Terraform as stable open source foundation to build providers for, to build tooling for, to contribute pull requests to? Terraform itself is pretty simple, the hard work is in the providers. HCP makes some of the important providers, yes, but so many providers are made because Terraform is popular. HCP wants to make this all about them. They want you to think they put all the work into making Terraform what it is today. They did put a lot of work in, but the community did too!
Could not agree more. Terraform, the tool is quite simple, engineering wise. Its the providers that interact with all the different apis, thats where the complexity lies in, and where a lot of community (+ corporate, through official providers) effort has gone in, and what has provided the most value.
env0 a small Company is providing 5 FTE, the web claims their revenue is <5m (1.4m)
Disclaimer: Work at Spacelift, and currently temporary Technical Lead of the OpenTF Project, until it's committee-steered.
In the long run few will care about this licencing change (as much as they should!) – business users will accept it, individuals won't take any notice, and competitors would get mired in issues as expected. Basically a win for Hashicorp.
But winning on positive changes beats licencing issues. Business users will go where the centre of gravity in the ecosystem is, individuals will too, and will prefer free (in both senses) solutions, and competitors will push this hard to all their customers. It'll be interesting to see Hashicorp needing to build OpenTF support into their products to remain compatible.
> So far, four companies pledged the equivalent of 14 full-time engineers (FTEs) to the OpenTF initiative. We expect this number to at least double in the following few weeks. To give you some perspective, Terraform was effectively maintained by about 5 FTEs from HashiCorp in the last 2 years. If you don’t believe us, look at their repository.
Wow. Even if most of this doesn't actually play out in the long run, that's some good support.