We've gone full circle! I originally launched Vagrant here on HN in 2010, which was at the top of HN very briefly for the day. Now here I am 14 years later witnessing my departure post in that very same spot. A strange experience! Thanks for the support over the years. A lot of the initial community for the projects I helped start came from here.
Vagrant: A tool for building and distributing virtual development environments (vagrantup.com)
129 points by mitchellh on March 8, 2010 | hide | past | favorite | 28 comments
I still remember reading that post on HN. And subsequently Vagrant took off. Cant believe it is nearly 14 years! Thank You Mitchell for everything as I am (still) using Vagrant. First Child is always going to be a hectic job beyond comprehension. Hopefully you will have more free time to play with Zig and may be even Crystal once your child grows a little more. Best of Luck.
Edit: I guess HN momentarily went down due to this announcement on front page.
This is great to read now and reflect on where they eventually went in the next 13 years. The basic questions "why Chef" and "why Virtual Box" and so on with requests to support other hypervisors and provisioning tools. Now Packer and Terraform provision and deploy machines to damn near any platform using damn near any provisioning tool, but neither Mitchell himself nor the HashiCorp team in general had to learn all of those tools and platforms. Instead, they provided orchestration systems that allow for a common configuration language and execution model but delegate the logic of how to use the APIs of specific platforms and provisioners to plugins. Seed the ecosystem with plugins representing the most common platforms and toolchains your company is already familiar with and extend from there to stuff you either figure out later or let the community contribute.
This feels like open source and community creation at its best. It's why GNU/Linux systems did what they did. A bunch of professors and hackers tried to clean-room recreate Unix but never finished the kernel. Meanwhile, some grad student made a kernel but no userspace. Then some entirely different teams put these together along with a package manager, installer, and remote filesystems users could fetch ISOs and packages from, and finally you've got a usable system that didn't require a beast the size of Microsoft to do everything in-house. None of them could have done it alone.
It also makes the events of the past year kind of poignant. I see a lot of commenters talking about HashiCorp needing the license change to capture the value of what they created and not allow other companies to siphon it off. But isn't that the point of civilization? We all stand on the shoulders of giants. We generally don't want the first person to come up with an idea and their direct descendants to be the only people who ever profit off of that idea. That's aristocracy. Mitchell is a billionaire, isn't he? None of Linus Torvalds, Richard Stallman, or Ian Murdoch ever became billionaires, but they weren't exactly starving in the street, either. Exactly how much value does a single person need to capture? It's the community we want to see thrive, isn't it? Not just our single company. Every employee of that company can work elsewhere if they need to and every investor has other investments. They aren't going to starve either if the company someday stops growing.
I get not wanting the Amazons and Googles of the world to take open source inputs and put them into proprietary sinkholes where further innovation gets stuck inside of a single company. But isn't that the point of the GPL? Anything they add they also have to give back. You don't need BUSL for that.
Congrats on what you've accomplished here. Building an industry-standard company and then carefully planning your exit on your own terms is a huge win.
I (selfishly) hope whatever is next is still hacker adjacent, bc your work has been a big inspiration to a lot of us. Best of luck to you!
Note: Ghostty is still a private project. I plan to open source it one day and share it with more people but for now this is a private personal project. If you are really interested in helping with the project, please feel free to email me, but no promises!
I remember getting my first commit into Packer, you review, approved and merged it. It was one of the best days of my (fairly early) coding life because I think your work is amazing and I was so happy to contribute something back.
You're one of the very few technical people that made it big that I continue to look up to. Congratulations on your achievements, and looking forward to whatever is in the pipeline.
I remember hacking on the same Ruby projects as you, then running into you the same way in the Erlang world. Man, that was almost 15 years ago! You’ve built some awesome stuff along the way… congrats, and keep hackin’!!
Congratulations on a new page in your journey! And thank you for documenting the story - you’ve inspired many great developers and founders along the way!
Being on almost the opposite end of the software design, I haven’t yet had a good place to apply the tools you’ve built, but I’ve heard many nice things about them from practically everyone, including direct competitors. That says it all.
Thanks for everything! I can't wait to see what you'll do next!
You and Armon have truly shaped the world of infrastructure with your tools and ideas.
Although we never met in person (I only had the pleasure to meet Armon so far) - we've interacted a couple of times through some PRs and I really like you as an engineer. It's incredible the value that you created over these 11 years - not only on the product side of things (Terraform and Vault are incredible!), but also with all of your Go packages. The amount of time your name pops up in my go.mod files is just impressive :)
You and Armon are incredible engineers and I'm so happy you built something as cool as Hashicorp!
All the best with the next chapter of your life!
I once (March 2014) emailed hashicorp to retrieve a lost vagrant licence key. I got a direct reply from you Mitchell with instructions on what to do. Blew my tiny mind, those were rare bygone days in our industry.
In 1992 I replied to an email from Steve Jobs that was shipped in the default email client of the NeXT workstation I was using. I checked the 'read receipt' box in the client. He replied, ignoring my question and berating me for violating his privacy by using the read receipt feature.
Some of my first OSS work was also based on Vagrant (https://github.com/ezekg/tj). I eventually turned that into a commercial desktop app, built on top of that CLI project. Ultimately, the project didn't work out, but it was a big step in my open source and entrepreneurial journey.
I remember meeting you at a DC Ruby conference after a talk you gave on middleware as a design concept. This was years ago, in the early days of Vagrant I think. Amazing to see how much you’ve accomplished since then. Congrats on your achievements and best of luck with your future hacking!
Thank you for all the great products that you have created! Your vision on infrastructure has always been inspiring to me and you are one of the few engineers who has truly moved the field as a whole forward.
Incredible run! Thanks for all the tools you’ve given us. But more importantly all the relentless passion for automation has been very inspiring! Chapeau, sir! All the best in whats next for you.
Good luck!
Consul, Terraform and Nomad were pivotal for my carrier.
Went from a server unboxer to a container wizard during the last decade.
Thanks a lot!
I would like to thank you for the amazing products, especially Consul, Nomad, Vagrant, Vault and Terraform, which I started to promote in my company to improve their tech stack.
But at the same time I don't really like some of the features are guarded behind paywalls...like Vault/Consul namespaces or multimaster deployment...and the price for those useful features are nefariously hostile for startups like us.
The sense I always got from the outside (I don't know him personally), is that Mitchell is just a really good engineer that wants to build great products.
Nothing more.
He's honest about what he's passionate about. Hence why he went from running the company to stepping back to being an IC.
I've got a lot of respect for that.
Below is his personal website, for those who haven't read his posts.
It is interesting to see how hashicorp went from an underdog company with vagrant to a company to aspire for with terraform, nomad, consul, vault to something that orgs and community dread, all within a decade.
Standards that they have set are still industry wide relevant. But you can see they are on a negative path.
This is a weird take. If anything, Nomad, Consul and Vault are on the ascent, as the realities of the CNCF ecosystem set in for people with results to deliver.
The BSL licensing thing has turned off a lot of the more hobbyist/tinkerer-centric users who really rocketed HashiCorp's products up the ladder in their orgs.
It's a bit like Elasticsearch, I think—it's gotten big enough it won't be a quick death, but I don't see Hashi's products growing/dominating as much now as I did a couple years ago.
(As an aside, I'd like to thank Mitchell for his work over the years, Vagrant especially was huge in my infrastructure work, and Terraform was a great companion to Ansible and CloudFormation as we automated more and more stuff.)
I tried to understand what is it, how it works, what is it good for, but ... never managed to. It still has the same "build control planes without needing to write code" on its website. okay, it says "orchestrate applications and infrastructure". that's at least makes sense when the context is Terraform and Pulumi.
okay, in the quickstart the whole thing seems like code. but okay.
ah, so you can use k8s CRDs to define cloud stuff (like S3 buckets and GCP GCS buckets and whatnot), not bad, but super verbose.
Thanks for noting these. From my experience, neither can replace terraform (though Pulumi might be on the right track). Neither come anywhere close to the Terraform AWS provider, and tightly coupling my IaC to Kubernetes is a non-starter for me (and I'm sure for many others as well).
Based on my limited experience Vault is actually becoming a niche tool. Big cloud players have been offering more limited solutions that are good enough for many if not most use cases. A few years ago as a consultant I'd unconditionally recommend Vault to my clients. If I were consulting today, I'd first ask what are they missing from KMS and Secrets Manager.
Yes but if you want to be multi-cloud and not have to integrate with each cloud's secret storage API, you would do it once for Vault and bring it with you to each cloud.
The reality is you will never use a common secret storage anyway as usually and even when using multi-cloud tools like terraform you write a lot of cloud vendor specific stuff because they do not share the same provider. So using different secret storage API is not a huge deal and pretty much a moot point.
Also my vision of multi-cloud in large org hasn't been that a particular product/app or team was ever using multiple clouds. My experience is that large orgs like to have multi-cloud support because they grow by acquiring other companies regardless of which cloud vendor they are using so you just want to provide standards and templates for everyone. Obviously said templates will be usually cloud vendor specifics.
Even when going multi-cloud you can employ different strategies. Vault is definitely one of them, but you can also use federation to exchange one cloud's credentials for another's, giving you the ability to centralize secrets in one of them. You can use a layer of abstraction like GoCloud [0]. You can also build for each cloud separately and decide either not to centralize secrets at all, or build some trivial bespoke tooling to synchronize some of them. I'm not endorsing any of the options, nor am I trying to argue that Vault is never the right choice, I'm just pointing out that Vault isn't the only viable alternative.
Probably I just work at more dysfunctional places than you, but:
If I'm building product for on prem I'd prefer to use env vars or k8s secrets and let the customer integrate their preferred secrets manager. Also helpful when
you run sales POCs where ease of getting to splash page really matters.
Building inside enterprise, I've never actually had to support multiple clouds for the same component but if it ever comes up and I have any sort of choice in the matter I would probably rather template 3 native secrets integrations than deal with the special circle of hell that is enterprise-managed Vault or CyberArk.
When you talk to Consul support engineers, they assume you're using kubernetes, and are confused if you tell them you're using Nomad, _a product that their company makes_.
Nomad will be there when managed k8s gets too expensive. I was looking at it seriously last year for on prem. I chickend put bcz I didn't want to be the only person on my team that understood it. We still don't have a solution, but nomad will be there for when we are ready to progress, regardless of the license.
It’s not really. For a long time their products were open source, free to use and widely adopted by the tinkering masses. Now the company has shareholders, is chasing the big juicy enterprise customers and has a pricing structure that would make Oracle blush (hyperbole, but still…).
It’s a different beast than the company Mitchell founded and that HN knew and loved, that’s all.
Mitchell is the only person I can think of who went through the cycle of tinkerer/IC -> founder -> CXO and then back to IC in his own company. Also, his writings on Zig has been tremendously helpful for someone like me who is curious about it. Huge respect from a fellow IC!
Integrated Circuit. Insatiable Craving. Irrevocable Crust. Indifferent Creator. Ignatios of Constantinople. Instigating Crime. Irritating C**. Individual Contributor. Your guess is as good as mine!
It’s standard big corp parlance for a role that has no direct reports. Obvious terminology for anyone who has worked in an org with a moderate size HR or higher, but anyone else has probably never heard of it. I knew immediately that it meant Individual Contributor but I can easily see someone not knowing it if have never worked in BigCorp
Go on Blind and you'll see it used all the time, along with a flurry of other incomprehensible acronyms that make Silicon Valley the TV show seem more real than ever. Blind is probably the strongest representation of BigCo population on the internet in terms of percentage of users.
You'll see it in plenty of Reddit discussions as well. It just so happens that a good hunk of this site happen to work in the kind of environment that the acronym is used frequently so perhaps it's not entirely unreasonable to expect it to be well known.
I swear though, if you haven't been on Blind and you just visit it's like decoding another language with all the acronyms.
At Unity, Joachim Ante always stayed very close to the underlying engine and its tech, rather than the broader market strategies and moves. Of course, every situation is unique and difficult to compare 1:1.
Congrats on leaving!
The thing I always most respected about Mitchell was that he was actually often coding. So many "leaders" these days, are all talk and no action or skill. Maybe they had some git commits once upon a time, but I always felt like Mitchell was always coding throughout.
Too bad what happened with the licensing stuff at the company though.
I got really excited about Consul when I read about it here many years ago. I wrote a ruby library for it (https://github.com/WeAreFarmGeek/diplomat) which became rather popular, and was used by quite a few large organisations. Hashicorp sent me a care package to thank me - a T-shirt and a card signed by Mitchell himself - I wore that T-Shirt until it was threadbare and I still have the card. Its a small thing on the grand scale of things, but it's something I look back on with pride.
Well done to the Hashicorp team for getting to where they are now - by building something new and useful, and by fundamentally not being greedy.
They built a ton of value, were unable to capitalize on it (just like early Docker), and when they tried to capture the value of the thing they built it pissed off the open source ecosystem (and all the profitable companies) built on top.
They should have thought about this a long, long time ago.
I feel for the smaller companies, but I feel for big companies that come in and plunder because of open license terms.
The thing is, Terraform Cloud could've been good, but it's not. And now it prices a K8S cluster the same as a DNS record. (and both too high for glorified object storage)
And Vault Enterprise could've been something I can justify to my EM to to ensure it continues to exist (and get namespaces and slow support as a bonus). But they asked way too much.
It also doesn't help they started prioritizing bugs almost solely based on support contracts, even trivial fixes you submit don't get merged for months to years.
They built products and thought everything else would just fall into place. And unfortunately it doesn't.
I've never personally used paid Vault but what you said, that they "asked way too much" is the constant refrain I've heard about it. Much like Splunk, it seems like there's an extra zero on the quote for smaller use cases.
Employees gotta eat, I don't begrudge them trying to sell the software. But it seems like they went for the Lamborghini business model when maybe what the market was looking for was Honda.
I recently concocted a (conspiracy) theory that relicensing of HC projects is a ploy to get IBM (or some other company happy to rain on IBM's parade) to finally make an offer. Mitchell leaving the company features in the theory as well. Basically it seems like since at least 2021 HC leadership and/or investors are exploring exit strategies that will bring in the beeeelions.
Clicking "parent" on this post a couple times yields some more context. Seems like the claim the throwaway account is making is that IBM pulling Vault into their IBM Cloud offering was the catalyst for relicensing everything. Terraform and other Hashi projects just got caught up in a blanket policy change.
Had not heard the IBM angle before and spent a few minutes digging.
This is totally non-credible. Their enterprise pricing was crazy for value and the feature-set slim. I personally was on a number of teams that refused to pay it and went with another player in the TACOS (Terraform Automation and COllaboration Software) family.
The TACOS provided way more features at a sane price point. They were out-competed by their own cottage industry and the BSL was their weapon to solve it. Surprise, surprise it backfired.
I respect Mitchell for the competent programmer he is but as a founder, he should have stepped in and done something to right the ship before it got this bad.
Would've found it really cool, had he somehow acknowledged the current upheaval. That said, I'm buying into the story that this was the plan all along. The breadcrumbs were there, from well before the licensing trouble.
Jokes aside, it's an end of an era. Mitchell has always been one of my role models both as an amazing engineer and a really decent, humble human being. I'm really looking forward to other amazing things he's going to build.
‘You either die a hero or live long enough to see yourself become the villain…’
Great that Mitchell evaded that fate by getting out of the leadership before controversial moves by Hashicorp started occurring. His legacy will be untainted.
Best of luck in the future! I'm a nobody - but I was around in the packer days and wrote a post-processor and terraform provider for our vsphere back in the day. I don't think I'd be where I am now without those experiences. Thanks!
I remember near the start of HashiCorp, Mitchell and I spoke about buying one of his side projects. In seeking to rustle up some funds, friends asked me why anyone would offload a profitable project at such a price. Mitchell essentially explained that he was moving on to focus on bigger and better things. Boy was he right.
Someone else beat me to the punch on buying the website, but Mitchell’s clarity of purpose was profound.
Title should probably be "Mitchell Hashimoto reflects as he departs HashiCorp". Lots of folks have no idea who "Mitchell" is without that key extra bit.
Mitchell is an amazing human being. Met him in the hacking section of a conference and he was just this down to earth, really laid back dude. He was hanging out with us basically random people and didn't once bring up who he was and what he worked on.
Vagrant is such an awesome tool. It’s been about a decade since I’ve used it in any capacity, but remember being wowed in my first internship when I could just spin up a VM like nothing. Best of luck, Mitchell!
Mitchell feels like the exception that proves the rule, the rule being that there are very few engineers turned entrepreneurs that are successful & balanced.
Honestly feels a bit like the end of another great company - Chef (Adam Jacob). Great tooling, built with great engineers but business realities forced it to take some unfortunate turns.
I hope Hashicorp will manage to find its stride and not end up as some bullet point in a long "solutions" portfolio of some software conglomerate.
And thank you Mitchell for all the work. Can't wait to see what is coming next from you.
I use HashiCorp software nearly daily and think Terraform was the biggest eureka! moments for me. I've held HashiCorp since the IPO... Hasn't gone as planned so far, but holding on. Honestly, I expect an acquisition like Slack (just my hunch).
HCL is great, no scoping issues, easy to read and write, great auto format support, easy to incorporate into a go program(and extend with functions). I pick it up very consistently and am happy every time; while each time I have to write YAML I die inside.
Can we all take a moment to reflect how great is HN ? People have launched their software products here and gone on to become wildly successful or industry standards. I think our field is lucky we have a space where we can all enjoy people's successes, get inspired, be sourly or sarcastic (lol), have meaningful discussions and its all done with Lisp, HTML tables, an unstyled "add comment" button (please don't change) and a bunch of bare-metal servers which sometimes catch fire along with the discussions. Its quite wonderful.
My suspicion is that he simply might spend some time with his newborn and enjoy life a bit after such a wild streak. He has more than enough financial resources to do that comfortably.
He has stressed twice in the post that most of his life revolved around that company - Maybe it's time for that not to be anymore - simply put.
Doubt there's anything sinister or shady about that. Maybe he doesn't have any plans. Or maybe he just doesn't feel like sharing those plans or doesn't feel obliged to share them.
> The controversial worldviews such as multi-cloud that we founded this company on are now mainstream and broadly accepted.
Emm .. no. It is not mainstream. Multi-cloud may be forced choice for some regulated fintech, but no sane project will double the infra codebase just to get from "lock-in". I see no other benefits. And double the codebase is quadruple the bugs. This is main Terraform's sales pitch, and it has to die. IMHO.
Terraform supports different clouds but with completely different syntax. The marketing on the website just informs you what you can use any cloud you want.
The message is against other tools such as cloud formation (AWS only) or GCM (Google only), ARM (Azure only) and so on.
To give you an analogy it would be like Firefox saying that they are "multi-OS" meaning that you can install Firefox if you have Windows and you can install Firefox if you have Linux. It doesn't mean that you must/should have Linux and Windows at the same time as a user.
Strictly incorrect. The syntax is the same for every cloud - either HCL2 or JSON. What you are calling syntax is actually the resource model. Every project which claims to bridge this resource model ends up implementing a lowest common denominator time sink which doesn’t stand up to basic scrutiny.
Your analogy also does not demonstrate whatever it is you seem to think it does - Firefox is indeed multi-OS.
> The marketing on the website just informs you what you can use any cloud you want.
Disagree. The message says “fault tolerance”, meaning you deploy same things in different clouds. Which brings back to my original post - TF does not help with this, as jen20 said - very different resource models.
So I kind of agree that most projects don’t need multi cloud but any enterprise will have a bunch of different things which can be managed by Terraform. There is real value in being able to use the same tool to manage AWS/GCP/Azure/etc., Cloudflare, GitLab, VMware, and even racks of Cisco kit in the basement.
If you’re doing it that way, you avoid most of those multicloud drawbacks because you’re using the full native functionality, not building abstraction layers or racking up technical debt by sticking with the lowest common denominator.
> There is real value in being able to use the same tool to manage AWS/GCP/Azure/etc., Cloudflare, GitLab, VMware
My bad, I did not define meaning of multi-cloud. I meant using AWS and GCP at the same time, doing mostly the same things, for redundancy and no lock-in.
Still I prefer native IaaC tools, it is simpler, faster and more reliable. I'm AWS guy, so Cloudformation for all things infra. It irks me when I see Terraform doing AWS infra. I jump in to rewrite it as first matter of business, lol
Heh, I have mostly worked on AWS but we stopped using CloudFormation because the experience was so much worse than Terraform with the lengthy deploys, no diffs, significant time delays supporting new AWS features, and deadlocks. They’ve added diffs but turning debugging into a half hour or longer break is still a problem.
They also did that for Cloud Formation in my experience. It’s better now that you can tell CF to forget about resources but I still get people asking for help dealing with a hung stack.
Multi-cloud doesn’t mean you duplicate your infra deployment across multiple cloud platforms for redundancy. It means you integrate the best features of each cloud to run your stack. Cloudflare for cdn, GCP for load balancing, aws for compute, snowflake for big data, etc etc… It is absolutely mainstream.
While I'm not privy to any insider knowledge, from the outside it seems highly unlikely that Mitchell had anything to do with the trajectory of Terraform for the last few years. Also, it's possible that he wouldn't be able to defend himself against such arguments, having potentially signed some paperwork with his former company.
> the GitHub Octoverse report found that HashiCorp Configuration Language (HCL) has once again emerged as one of the top languages used in open source projects
"Hashicorp Configuration Language (HCL) with a 56,1% increase in popularity is the fastest-growing language according to GitHub"
Fastest growing and "top" are not the same thing, but I have to assume that you know that @mitchellh. Embarrassed for you.
From the 2023 Octoverse report[1], "In 2023, Shell and Hashicorp Configuration Language (HCL) once again emerged as top languages across open source projects, indicating that operations and IaC work are gaining prominence in the open source space." The accompanying chart shows it as #11, ranking above Dart, Kotlin, and Ruby.
I think this is a case where the citation bears out the claim, and there's no need for Mitchell to feel embarrassment.