There was definitely room for improvement around using Terraform to do actual deployments. From better UX around doing PR's -- showing not only the commit diff but the output of a "tf plan" as well to see what it might actually do -- to actually running the deployments on isolated build machines that could hold the sensitive cloud API keys and provide a deployment audit trail, these were all features that teams absolutely needed to use Terraform sanely. As a solo developer you don't really need those features, but if you're on a team you definitely did, and were almost certainly willing to pay for it. Hashicorp recognized that need and created the cloud/enterprise offerings to provide that.
At some point the thought even crossed my mind of creating some open-source tool that could provide a nice enough web interface for dealing with Terraform for teams, building on what we had and providing the features I listed above, but the main reason I didn't was because it would be biting the hand that feeds. Such a tool would take away people's incentives from using Hashicorp's paid offerings and ultimately reduce their investment in Terraform and their other fantastic tools, and in my opinion, be disrespecting the tremendous work Hashicorp had done up to that point. I've been a user of their stuff since they only had Vagrant, and of course have loved them seeing them succeed.
It seems others, however, had different opinions and saw a business opportunity thanks to the permissive licensing and the high costs of Hashicorp's paid offerings. Plenty of money to be made from making it easy to use TF in teams, especially when you're not obligated to contribute back or maintain the underlying software [1]. Any time I saw a "Launch/Show HN" post from a company that was offering such TF wrapper web interfaces, I kept being surprised that Hashicorp hadn't yet clamped down on preventing lower-cost offerings of their paid services. It was only a matter of time.
[1]: I realize this reads as overly harsh to some of these companies, especially as some of them are in here replying and pledging to give back, so let me try to explain my reasoning here. When I use a product, I like it when the source is available from me to learn from and understand how it works [2] and to contribute back to for needed features or bugfixes [3].
When a company makes a product open-source, that's great! But if that product is the core of that company's business model [4], and another company starts competing with that company using the same open-source product, then I see a problem down the line. While you can make the argument that the competition is good and motivates the two companies to compete on the value they bring to their customers, which is a net-benefit to the open-source ecosystem as a whole as the open-source product is improved, it eventually turns into a race to the bottom. Pricing will be used as a core differentiator, reducing the overall R&D spending on the open-source product because ultimately the two companies have to maintain non-R&D staff like sales, finance, and support. If the Total Addressable Market is fixed (obviously not, but work with me), then that's two or more companies with the same fixed non-R&D costs diverting revenue that could be spent instead on improving the open-source product. Sure, the reality is that a lot of that revenue isn't going back to the open-source product, as a lot of people are complaining about in the comments, but that diversion is probably going to happen anyway whether there's 1 company or 20, so I'd accept it as a cost of doing business.
If instead the competition were on providing a better but different open-source product in the same space (e.g. Pulumi), rather than working off the same base, that would be a different story. But if developers keep seeing businesses take open-source projects and directly compete with their creators, then I think we're going to see a net harm to the open-source community as it creates a sort of chilling effect as it'll demotivate them from going the open-source route so that they can find a viable way to sustain their efforts. I think licenses such as the BSL and SSPL are valid enough compromises, considering that even mentioning the AGPL inside of a lot of companies seems to be like someone saying Voldemort's name. We can't rely on large corporations sponsoring open-source projects, either with money or developer time, if we want them to succeed.
We grant inventors 20 years of exclusive-use on an invention, provided they explain how to reproduce it through the publishing of a patent. What's the difference between that and the BSL? I see a lot of complaints about bait-and-switches, but I don't really see the issue. If you contributed to the project under the old license, it's still available under the old license! You just don't get any of the new changes starting from the license change. If you decided to use Terraform in a non-competing way [5] solely because of the old license, and are concerned about the new one, then you have to recognize that Hashicorp is now another addition to a long-line of "open-core" companies trying to deal with the reality that companies will make money any way they legally can. This is where the industry is currently headed, and whatever replacement you find will probably be next.
If you believe different, then make an open-source offering, and don't just make a public statement saying it'll be open-source forever. Public statements are great and all, up until there's doubts about meeting payroll. Find a way to make the statement legally binding and then we're talking. Which is I guess why there's so much consternation, since the way to do it is through the license, but the OSI doesn't recognize any of these other licenses as "open-source" and the AGPL is a non-starter at most companies.
[2]: Reading the source code for libraries I use has been incredibly valuable in my understanding of how to use the libraries properly, much better than any documentation could. And of course, makes me a better programmer in the process.
[3]: At one point, Terraform was missing a feature that I badly needed. With the source available, I could easily get a new version of it running locally with that feature to unblock me, and then everyone benefited when I contributed it back to the project. It's also been invaluable having these locally modifiable builds to understand the quirks of products from cloud vendors, and to work around them. Ever had multiple deployment pipelines fail because Azure decided to one day change the format of the timestamps they returned in API calls, without publishing a new API version? I have.
[4]: As opposed to supplementing their business model. Google open-sourcing K8s was great for them because it drove adoption of their cloud VMs. Their cloud business makes money off the VMs, not GKE, so sponsoring K8s is essentially a marketing expense. But for Hashicorp, their core business model is paid offerings of their products.
[5]: Yes, I get that the license currently is un-clear, for all their products. But let's simply say that you're not trying to directly sell a wrapper around running Terraform.
* The sexual misconduct most likely happened way before it came out publicly as all the sleezebags stayed until it was public
* real id debacle
* Diablo 3
* shutting down blizzard north, despite working on d3
* spending 10 years on trying to make starcraft 2, when the rts genre was in a major slump
* x years on the project titan, only to get cancelled
* spent years trying to create a dedicated moba, and hots came out after the hype of the genre was gone
* Cancelling semi-experimental games (the Warcraft Point'n Click Adventure game, the Starcraft: Ghost game, and many others[1])
I'm sure there are more issues/fuck ups blizzard did, the point though is that the company couldn't adapt to the new norms of the industry (some are excusable due to the fuck you money wow gives) and thus became the black sheep.
[1]https://www.reddit.com/r/GamingLeaksAndRumours/comments/1ft4...
Certain games on that list tbf is way past 2008.
Jason Schreier's recent book covers some of the game cancellations. The Warcraft adventure game was cancelled after they flew out one of the best designers in the genre for a week to try to make it work, and make it fun, and couldn't. It was a game that was outsourced to a different company, and they didn't feel like it was up to their quality standards to ship. Shutting down Blizzard North came about as a consequence of the distance between them and HQ, leading to a different studio culture that became difficult to manage, and the uncontested resignation of Blizzard North's executive team when they tried to make demands from Blizzard's owners, Vivendi.
Polygon [1] covered the Starcraft: Ghost game. Long story short, it got canned because it was in development hell for too long. Originally under development by a studio in the Bay area, there apparently wasn't a dedicated Blizzard producer to the game for the longest time, and the idea of what it should be kept changing as new games came out and HQ wanted them to copy those ideas. At some point, Blizzard shifted development to a different studio just miles away from them because they wanted multiplayer, but the same issues persisted. And then they released WoW, which consumed all of their attention. With the release of the gen 7 consoles around the corner, requiring further investment, they made the sensible choice to shelve it so they could focus their time and money on their new cash-printing machine instead.
Experimentation is important for finding the fun, and cancelling what isn't working is a required part of the process. And while, yes, there's a ton of games in the Blizzard graveyard, they're no exception. Valve has a list of cancelled games that's probably just as long. And they're all the better for it. Titan died in favor of Overwatch, Nomad died in favor of World of Warcraft.
[1] https://www.polygon.com/2016/7/5/11819438/starcraft-ghost-wh...