I originally started writing this post as a detailed history of my relationship with HashiCorp, how it grew as a company, and its IPO in December 2021- which happened at the exact wrong time. After laying down about 750 words, I deleted the whole thing. Why? Because that’s not the post I wanted to write. This one is.
For me, 2024 was a year of acceptance. I had to accept a lot of things I didn’t necessarily like. Ned in the Cloud had seen two consecutive years of dropping revenue. Pluralsight had gone IPO, been acquired, and now was changing hands again, with people being laid off in the process and author payments being slashed by 25%. HashiCorp had changed to Business Source Licensing and now was being acquired by IBM. And Donald Trump was amazingly not in jail, but rather our next president.
It was A FUCKING LOT. I spent 2024 grieving, working through my feelings, and slowly approaching acceptance. I’m not a religious person, but I appreciate the serenity prayer:
Grant me the power to change the things I can, to accept what I cannot, and the wisdom to know the difference.
I can’t change most of the things that impacted me in 2024. Donald Trump is our first felon president. Pluralsight will never be the company it once was. HashiCorp is owned by IBM. Admittedly, some of these things are worse than others- read: Trump.
I can’t change these things, but I CAN control how I react and think about them. 2024 was a year of coming to terms with what life was throwing at me, and working the mental gymnastics necessary to find a way through.
2025 is about moving forward.
There’s this idea in manufacturing of a digital twin. It’s a virtual model of a real world system that you can use to test out changes and monitor reactions. The digital twin is limited by its fidelity, i.e. how closely it mirrors its real world counterpart.
Our mind also carries a digital twin of what we perceive, and it has the same struggles with fidelity. I assumed Americans would reject a convicted felon for president. I was wrong. My mental model of the electorate was flawed.
When a mental model- our digital twin- has an impedance mismatch with reality, we cannot entirely blame reality for being what it is. Our mental model was incorrect, probably due to a lack of information or incorrect assumptions. What we have to do is recalibrate that model by questioning our assumptions and gathering more accurate information.
That’s not to say that a lack of fidelity is our fault. People can actively lie to you or intentionally withhold useful information. I’m once again tempted to reference Donald Trump, but I think I’ve adequately flogged that dead horse. If you don’t get that he is a lying, liar, who lies about everything all the time, I doubt this is the post that will help you.
Instead, let’s talk about HashiCorp.
I’ve read a lot of posts that impugn the folks over at HashiCorp. Words like betrayal get thrown around. And I get that. When the BSL change was announced, I did feel a sense of betrayal. Despite the fact that the licensing change impacts almost no one from a financial perspective, it does feel like a betrayal of deeply held beliefs.
If you were an open-source purist who had a mental model of HashiCorp being an open-source first company, the BSL announcement created cognitive dissonance. Here is a company you understood to be a good steward of open-source software, and now they are betraying that belief by altering the licensing their core products.
Your feelings of betrayal are legitimate. Your mental model of what HashiCorp is and the decisions they would make was wrong. That sucks, and I’d be lying if I didn’t say I felt the same way. What I had, and you probably didn’t, was access to people inside the company who were able to place this decision inside of a larger context.
Neither you or I were at the table or inside the heads of HashiCorp’s leadership when they made this difficult decision. Circumstances had changed for the company, and as a publicly traded company they had a fiduciary duty to address risks to their shareholders. There was a growing contingent of companies that were directly competing with HashiCorp’s cloud services using HashiCorp’s own software. How do you protect against that?
I want to be very clear that these are my opinions and feelings, and not those of HashiCorp employees or the community at large. I’ve chosen not to engage in the various flame wars and trolling that have occurred on Reddit and LinkedIn, largely because I am a conflict avoidant person. That’s why I like creating blogs and videos, but hate dealing with feedback and comments. So I’m going to lay out my thought process, and leave it at that. Do not expect a reply, since I seldom have enough spoons to read the comments, let alone respond to them.
The cash cow for HashiCorp is Vault. It’s not their most popular product, but it’s the one they successfully monetized. Sure Terraform Enterprise has been out there for a long time, but people don’t need it to run Terraform. Honestly, a solid CI/CD pipeline in GitHub and state storage in one of the cloud providers solves 80% of what Terraform Enterprise gets you.
Terraform, despite being the lingua franca of infrastructure, simply was not profitable for HashiCorp. However, since it was the most popular product from a consumption standpoint, the company had to dedicate serious resources to maintain and improve the product. In essence, Vault paid for Terraform to be a success.
Now, along come these IaC automation companies- direct competitors to Terraform Enterprise- and they are using Terraform open-source. HashiCorp is literally developing a product for their competitors, and that kinda sucks.
At the same time, there were a non-zero number of companies that were using Vault open-source to create competing platforms to HashiCorp’s HCP Vault service. Again, HashiCorp is literally developing a product for their competitors.
So we’ve got a publicly traded company, beholden to shareholders, who is struggling to turn an profit and has direct competitors using their R&D against them. What would you do?
No, seriously, put yourself in the shoes of HashiCorp leadership and think about how you would fix this.
This is the context that was probably missing from your mental model when the BSL change was announced. If you knew all this, you might have felt less betrayed, or at least less surprised.
There’s a great talk that Adam Jacob gave and I’m just going to drop the link right here. Go watch it. I’ll wait…
He explicitly calls out the business model of companies like HashiCorp and Redis, who were born of the same early 2010s era, where open core seemed to be the road to success. The thing is that open core kinda sucks for everyone. The developer of an open core solution has to make a critical decision:
Let’s say you choose Path 1. You’re probably dead in the water from the get go. People will try your neutered open-source version, realize it doesn’t really solve their problems and feel tricked into needing to buy the paid version. Adoption is slow, if at all, and you run out of funding.
Now let’s go with Path 2. Assuming you’ve found product market fit, your open-source version is massively successful, and people don’t really have an incentive to pay for the additional features. Adoption is massive, sales are tiny, and you run out of funding.
The majority of companies go with Path 2, and rely on two things to save their bacon:
The hosting solution assumes that your software is something that needs to be hosted, and that someone else won’t host it better. Go ahead and ask Elastic how well that worked out. Turns out cloud providers are really good at hosting open-source projects and operationalizing them.
Professional services and support assumes that your software is sufficiently complex and important that folks will need help setting it up and want some level of support to keep things running. As a former consultant, I can tell you that professional services is a VERY competitive market and established consulting firms will beat you to the punch any day of the week. So selling support is probably your best bet.
HashiCorp chose Path 2 for their products and had two runaway hits: Vault and Terraform. Vault had the additional benefit of being complex and difficult to implement and manage, so HashiCorp was able to make a bunch of money off of professional services and support.
Terraform though, not so much.
If HashiCorp had tried to charge for Terraform from the get-go, I doubt it would have been such a success. We’d all be using some other IaC DSL. As Adam pointed out, the market had already decided that config management tools started at the selling price of FREE. Terraform won because it was free, easy to get started with, and met a real need. It had excellent product market fit.
Path 2 was probably the only viable option, but now we come back to, how does HashiCorp make money off the success of Terraform? The thing about Terraform is that it doesn’t really need to be hosted. It’s not an application like Vault or Kubernetes or WebSphere. It’s a programming language and workflow tool that can easily be automated by any pipeline tool. Demand for hosting is going to be low.
Nevertheless, low is not zero, so HashiCorp developed Terraform Enterprise and eventually HCP Terraform. Still, with such a small serviceable addressable market (SAM) of customers, any competition would further erode the narrow margins of hosting software. Even worse, HashiCorp was competing against IaC automation companies that were still in startup mode and didn’t have to worry about stock prices or investor sentiment.
Terraform also doesn’t really need professional services and support. If you’re a huge enterprise that is using Terraform across all your business units, then paying HashiCorp a licensing fee for support probably makes good sense. But for the SMB? Nah. You’ll probably hire a consultant to build some modules for you, set up your pipelines, and then bugger off.
It looks like HCP Terraform and Terraform Enterprise are the way to make money on Terraform, but what about all those competitors? HashiCorp is doing all the R&D for the core product that people love, and these IaC automation companies are reaping the benefit and eating into HashiCorp’s admittedly limited SAM.
HashiCorp chose an open core model from the beginning, and that choice has come back to bite them in the ass. And this is why HashiCorp found itself at a crossroads— struggling with its monetization strategy, battling competitors, and ultimately making a move that have been inevitable: selling to IBM. Or at least some big company with deep pockets that could take them private.
I’ve been working in technology for almost 25 years, and during that entire stretch years IBM has seemed like the past. A dinosaur of a company that lumbers through the IT ecosystem, crushing innovation in its wake, and inexorably marching into extinction. Is that a fair assessment? Maybe not. But that was my impression from anyone who worked with IBM, and every data center I went into had either replaced their IBM gear or was desperately looking to get off that last AS/400.
My point is- fair or not- I did not have a positive impression of IBM.
And then the whole Red Hat thing happened.
IBM bought Red Hat for $34B in 2019, and rather than stifling Red Hat’s culture and profitability, IBM has successfully ridden that wave back to relevance. Seriously, IBM had become more of a finance company than anything to do with technology prior to acquiring Red Hat. I’m not saying that IBM didn’t have any R&D around emerging technologies, they just weren’t the go-to for anything remotely modern.
Acquiring Red Hat and focusing on hybrid cloud was the right move for IBM, and I think that HashiCorp is a continuation of that story.
Still, I was pretty uneasy about the acquisition, and that is because I worked with some Red Hat and IBM products recently and it was not a good experience. Actually, I should be more specific. Working with Red Hat was great! Good docs, easy licensing, and simple deployment of OpenShift on a VMware cluster.
The IBM product I was meant to deploy and test was an absolute nightmare. Unreadable docs, arcane licensing, and arduous deployment. It was very clear to me that just because IBM and Red Hat are the same company, there is still a massive gulf between the two cultures.
I was worried that if HashiCorp got mired down in the traditional IBM culture, the simplicity and usefulness of HashiCorp products would be jettisoned in favor of impossible licensing portals and inane requirements.
Based on what IBM and HashiCorp have said, I don’t see that happening. HashiCorp is going to remain fairly independent from the larger IBM organization. What HashiCorp gets is access to funding for R&D and a massive salesforce in Red Hat and IBM professional services. IBM gets another cloud native company to further build out their hybrid cloud story.
I’m not sure if you’ve noticed, but since the BSL change, the development velocity on Vault and Terraform have both increased. New features are being added rapidly, and persistent problems are finally getting real solutions. Now imagine what happens when IBM’s R&D money lets them double the engineering team. I’m not kidding. There are currently 16 open reqs for engineering positions on the Vault and Terraform teams.
I’ve been asked many times what I think about OpenTofu, and I hope I’ve been clear. I like the OpenTofu project and I’m glad that it exists. It serves a real need in the community.
For open-source aficionados, it provides an alternative to Terraform. For the IaC automation companies impacted by the licensing change, it provides a solution they can use without paying HashiCorp licensing fees. For those of us feeling a little worried about the IBM acquisition, it’s a back up plan if things go south with Terraform. And for the R&D team at HashiCorp, it serves as both incentive to innovate and another testing ground for interesting ideas and solutions.
At first I was worried about the long-term viability of the project and the splintering of the IaC community. But we’re more than a year in, and I’m seeing plenty of active development on the project, including former HashiCorp engineer Martin Atkins joining the engineering team.
While there has been a bit of acrimony in the IaC community, the impression I get is that most people are content to keep their heads down and get actual work done with whichever tool works best. The fact that it’s trivial (for now) to migrate from one to the other is great, and I hope both communities continue to prioritize interoperability.
There is a small segment of each community that likes to snipe at the other and generally act like children. It’s best to ignore them and focus on the actual solutions and your own needs. Don’t feed the trolls, as it were.
2024 was a year of acceptance. I’ve accepted that HashiCorp is now part of IBM. I can’t change that outcome, but I can control how I respond to it and the mental model I use to think about it. My digital twin tells me to be cautiously optimistic, while acknowledging that I am working with incomplete information.
Regardless of what happens with HashiCorp and Terraform, there is still a massive DevOps community that I am lucky enough to be part of. That’s not something which can be bought, and it isn’t for sale.
HashiCorp helped to build that community, but they don’t own it. No one does. I hope they remain active and robust contributors, and I value the people I’ve met at the company, but I refuse to be overly precious about the company itself.
Companies come and go. Community remains. That’s what really matters. People, process, and technology? There’s a reason people are first in that list.
On HashiCorp, IBM, and Acceptance
March 3, 2025
The Science and Magic of Network Mapping and Measurement
January 9, 2025
January 2, 2025
December 30, 2024