Vlad Ionescu (he/him) Profile picture
Aug 29 77 tweets 14 min read Twitter logo Read on Twitter
OpenTF is disconnected from reality.

They don't understand Terraform, they don't understand users, they don't understand the ecosystem, and they don't even understand who's at the table. Or that there is a table!

Let me explain how dumb this whole thing is... 🧵

1/75 (i know)
TL;DR: OpenTF is a failure and you should not be taking it seriously. At all.

This will be a very long thread. I know and I am sorry for that, but y'all really need to see the whole story to understand how utterly pathetic this whole drama is.

2/75
First up, some history.

On August 10 HashiCorp (the company behind Terraform, Vault, Packer, Vagrant, Nomad, Waypoint, Consul, and Boundary) changed licenses from the open-source MPL2.0 to the source-availabe-but-only-some-can-use-products-in-production-fuck-you BUSL1.1.

3/75
All of HashiCorp's products were affected, but Terraform is huge and OpenTF is focusing on Terraform so we'll also focus on that here.

We won't discuss why HashiCorp changed their license, what dumb things HashiCorp did or still does, or anything like that.

4/75
When HashiCorp announced the license change, there was ✨drama✨ and, after a little while, OpenTF posted a manifesto.

The manifesto was pretty much "HashiCorp, please make Terraform open-source again cause it's awesome. We don't wanna be forced to fork it".

5/75
OpenTF really looked legitimate!

Sure, the manifesto was preachy as heck.
Sure, the name was a bit on the nose.
Sure, it was very early.

Whatever. It was looking very legit!

6/75
OpenTF got even more legit with support from key players in the Terraform community:

- GruntWork and CloudPosse, critical consulting companies advancing Terraform, pledged support
- Spacelift, a leading Terraform automation SaaS (and HashiCorp competitor), pledged support

7/75
OpenTF got even more legit: somebody that wasn't even in the Terraform community joined!

Oxide Company, a server hardware company that was using Terraform in their product, pledged support.
This meant "outside" traction and that was, in my view, a game-changer.

8/75
I, like the optimistic dumbass that I am, tweeted that.

I genuinely believed that OpenTF was legitimate and serious!

9/75
Aaaaand then things took a turn for the worse.

OpenTF got no other traction or support. If you were looking at the pledges on the manifesto there was a flurry of support coming in, but that was all bogus.

10/75
OpenTF got spammed with fake support.

Every single proof-of-concept Terraform Cloud startup pledged support.
Random 2-person consulting companies pledged support.
Random individuals pledged support.
Random first-year college students pledged support.

11/75
OpenTF had very little support that was real.

Of course everybody added their names to a list — it's free marketing without any real commitment!

"Sign here to save the starving orphans" is very different from "every evening spend 3 hours cooking for orphans", you know?

12/75
There were only a handful of legitimate supporters: Gruntwork, Spacelift, evn0, and Scalr. That's it!

Sure, other companies and individuals pledged _something_ but that was cheap marketing or just a show of initiative. The 4 companies above pledged actual resources!

13/75
Gruntwork is 25% of the legitimate supporters.

They are a consulting company. They started with Terraform consulting, then built open-source tooling around Terraform, paid Terraform templates, support and more.

They are awesome! They also pledged very abstract support.

14/75
The other 75% of legitimate supporters are Terraform Cloud competitors.

I'm not holding it against them, but they are the tiny percentage of people impacted by license change: they would have to pay licensing fees (debatable, but let's not get into legal stuff here).

15/75
That 75% of legitimate supporters aren't even that legitimate.

Spacelift, env0, and Scalr are startups: small and early companies. Hungry and determined, yes. But definitely not stable, mature, or with a plethora of resources at their disposal.

16/75
That's it!

OpenTF = 1 small consulting company + 3 small companies that would have to pay licensing fees without OpenTF + a bunch of empty shows of support from random people.

There is no community rallying behind OpenTF!

17/75
The community did not rally behind OpenTF. The community did not in any way, shape, or form show support for OpenTF. The community ignored OpenTF or passively watched the ✨drama✨.

OpenTF sure manipulated public perception though!

18/75
OpenTF did great PR and marketing and, in my view, started to manipulate people.

OpenTF bragged to journalists about their spammy and fake numbers.
The companies behind OpenTF posted preachy and grandiose blog posts.

Aaaand everybody ate that shit up 🤦‍♂️

19/75
As an aside, tech journalism is broken.

Without any due diligence or review, an overwhelming majority of journalists stupidly repeated the "over 100 companies and more than 350 individuals" line they got fed. WTF y'all couldn't even look at the list and click some links?!

20/75
Meanwhile, I was thinking that OpenTF was working on stuff in private.

I hoped they were talking with people and companies. I thought they were building up numbers. I assumed they were negotiating support.

We now know that OpenTF was coordinating PR puff pieces.

21/75
OpenTF could have tried to gather more support. We now know they did not.

Nobody else that mattered joined — 0 other big players in the Terraform ecosystem, 0 cloud providers (even small ones), 0 serious companies.

The list of supporters was growing but it was useless.

22/75
On August 18, OpenTF posted an update: HashiCorp MUST answer them by August 25.

Yes, OpenTF was DEMANDING that HashiCorp answer them and change Teraform's license back to the open-source MPL2.0 by August 25.

Yes, the barely-any-support OpenTF was now demanding things 🤣

23/75
OpenTF's demand showed they have no idea how this all works.

If you're in a fight with somebody and genuinely want to resolve the conflict you don't yell and scream in the streets. You take a breather and then discuss the problem in private. It's the same for business!

24/75
OpenTF could've demanded things nicely. OpenTF could've reached out to HashiCorp to figure out something mutually beneficial. OpenTF could've done so many other things.

Instead, OpenTF chose to make this needlessly aggressive.

25/75
At this point I realized OpenTF was complete bullshit.

I was hoping OpenTF would realize how silly this is and that they would regroup or that the whole drama would die down, so I only tweeted a meme and a "nevermind".

The drama did not die down, as you can see.

26/75
I tried to ignore this hoping it would go away. It did not.

In the following days OpenTF continued their marketing and PR efforts by spreading bullshit. They also made it very clear how out of their depth they are. Let me explain what I mean...

27/75
OpenTF does not understand how open-source works.

They assume Terraform is just a GitHub repository and that's it. That could not be further from the truth, but it looked great when they posted graphs of commits that showed just 5 HashiCorp engineers making changes.

28/75
Terraform is a lot more than 1 GitHub repository!

Terraform is HashiCorp talking with thousands of companies to figure out what to build.
Terraform is HashiCorp collaborating under NDA with clouds, vendors, and community members to build for the reality of tomorrow.

29/75
Terraform is a lot more than 1 GitHub repository!

The Terraform on GitHub is the "main", "stable", and "safe" version of Terraform. There are many forks and experimental versions of Terraform out there—some at HashiCorp, some at HashiCorp's partners, some in the wild.

30/75
Terraform is a lot more than 1 GitHub repository!

Terraform is not just code. Terraform is thousands of design documents, tens of thousands of discarded features and PRs, and millions of hours of engineering.

That's all hidden from us because HashiCorp handles it all!

31/75
But noooo, dumb-fuck OpenTF has the same level of understanding as an Intern: it's all code, how hard can it be? Just throw a bunch of developers at it and it'll be perfect!

Product people? HA, losers!
Documentation? HA, bums!
Talking to customers? HA, idiots not needed!

32/75
This was all a bit abstract and rant-y, so let's look at 2 examples.

When they should've been building up support, OpenTF was actually giving interviews, so we have a lot of examples of them being totally disconnected from reality and showing just how idiotic they are.

33/75
OpenTF doesn't even understand Terraform and I believe there are 2 examples that can resume the vast stupidity of OpenTF.

Example 1: state encryption.
Example 2: alternative interfaces.

I know this thread is long, but let's discuss these!

34/75
OpenTF doesn't even understand Terraform: state encryption.

An example of "look how mean HashiCorp is, they don't accept features and don't wanna work with the community" that OpenTF loves to quote is this pull request:



35/75github.com/hashicorp/terr…
For folks that aren't deep into the Terraform world, Terraform basically keeps a list of all the resources it manages in a "state file". That file may include sensitive data if you're not careful.

The #28603 pull request is pretty much an "encrypt the state file" feature.

36/75
It sounds good, right? Who would not want potentially sensitive data encrypted? Because it sounds so good OpenTF uses it as an example.

But it's shit. Utter shit. A horrible feature to have. Which is why it wasn't added to Terraform.

37/75
Why is it shit?

What happens if you lose the key that was used to encrypt the whole list of cloud resources? Terraform is suddenly useless because it has no idea what resources to manage. Terraform just exploded in a customer's face, in an unrecoverable way.

38/75
Why is it shit?

Who actually has access to that maybe-sensitive state file that it needs to be encrypted? In reality, with common and not complex defaults that most people use, only machines have access to that file. And the file is encrypted at rest. And access is logged

39/75
This feature is pretty much "to protect the President of the USA it's not enough to have the Secret Service, bulletproof cars, and all that — we need to put Biden in a 2-ton metal cube that can only be opened with 1 flimsy key. Air for him to breathe, seeing him? Meh".

40/75
OpenTF does not understand Terraform users.

OpenTF does not understand that people sometime lose keys. Storage failure, accidental deletes, etc.
OpenTF does not understand that errors happen.
OpenTF does not understand that users need to balance security with usability.

41/75
I imagine HashiCorp understands this.

And even if they don't, they talked to a bunch of companies and collected feedback about the idea. Feedback that amounted to pretty much "nice, but too much of a footgun so maybe not".

Of course HashiCorp didn't merge the PR!

42/75
As an aside, that's not how open-source works!

You don't just randomly send a 2000-line change! You talk with the maintainers first: validate the idea, ask if somebody already looked into this and the results, ask if the maintainers would accept an implementation, etc.

43/75
Also, HashiCorp did not ignore this risk!

HashiCorp implemented features to better handle secrets in the state file (not putting them in the file, redacting values everywhere including in logs, education around best practices, etc). They just did not implement the footgun

44/75
In all the interviews and podcasts and YouTube videos that OpenTF did where they shared this example they made 1 thing clear: OpenTF does not understand open-source, OpenTF does not understand Terraform users, and OpenTF has no clue how to build a product.

45/75
Example 2 of OpenTF not understanding anything: alternative interfaces.

Another example OpenTF used to show "look what we could do with Terraform if we can take it out of HashiCorp's evil hands" was alternative interfaces for Terraform.

Get ready, this gets even dumber!

46/75
The idea for alternative interfaces is pretty much "you can only use Terraform through the command-line-interface which is pretty limited. What if you could use it as a library or as an API? That could be awesome"

OpenTF heavily pushed this as something only they could do

47/75
OpenTF heavily pushed this as a next-generation Terraform and as something only they could do in the open open-source and open ecosystem and ooooh, bad HashiCorp did not do this and are clearly a failure and stuff.

HashiCorp did this! OpenTF is hilariously uninformed 🤦‍♂️

48/75
The idea of alternative interfaces for Terraform is super-old.

I was personally in conversations about this in 2017. Yes, more than 5 years ago! A lot of people wanted CloudFormation-like APIs for Terraform so they could use Terraform for SaaS tenant provisioning.

49/75
HashiCorp invested *a lot* in this!

HashiCorp had a lot of conversations with customers about this. They collected requirements, discussed usage scenarios, debated implementations, and discussed roadmaps with A LOT OF stakeholders.

50/75
HashiCorp invested *a lot lot* in this!

HashiCorp designed, reviewed, and shared a lot of ideas and prototypes with the people that wanted this! I saw a bunch of them. Heck, a bunch were even made public: go-tfe, terraform-exec, terraform-k8s, terraform-cloud-operator!

51/75
HashiCorp invested *a lot lot lot* in this!

Since people were sharing their company's roadmap and since HashiCorp was sharing their roadmap, this was all done under NDAs.

Of course you can't see that in the GitHub repository for Terraform! Nobody wants that in public.

52/75
I won't break NDAs here, but the "let's do alternative interfaces for Terraform" widely known conclusion was pretty much "yeah, this is a shit-ton of effort (and probably requires a large re-write) for little benefit, but ████ ██████ ██ ███ ███ ██".

😅

53/75
Please note that I, Vlad Ionescu, know this. My job is not to be a Terraform expert. Not even remotely! I'm barely a Terraform user. And yet, I know all that!

The so-called Terraform experts behind OpenTF did not know this. Or they did and hid it in their many interviews.

54/75
"Only OpenTF can implement these awesome things and save Terraform, but we have no idea what this is or what was already done for this"

The so-called Terraform experts behind OpenTF are either clueless or manipulative. I don't know what's worse, but both are dangerous.

55/75
To recap the last 55 tweets:
🙅 OpenTF has little-to-no supporters
🚫 OpenTF doesn't understand open-source
❌ OpenTF doesn't understand products
🈲 OpenTF doesn't even understand Terraform
⛔ OpenTF doesn't understand who is involved in Terraform
😤 OpenTF is manipulative

56/75
If, somehow, you're not convinced of the above statements, there are a lot more examples! This thread is ridiculously long tho, so I chose what I believed were the clearest and easiest to explain. But OpenTF proved how dumb they are with a looooot more actions. Repeatedly!

57/75
I saw all this and I was trying to ignore it in hopes it all goes away. Or OpenTF realizes how moronic they are. Or somebody educates them. Or something.

Instead, a bunch of trusted tech leaders jumped on to praise the effort because it was a hot topic and drama == money.

58/75
I won't go on a whole rant here about how much we, the tech community, failed at this.

I won't rant about how we, the trusted leaders that people look up to for informed opinions, just... shat the bed.

59/75
On August 25 OpenTF officially announced they were forking Terraform.

This was wildly reposted and so very popular buuut to anybody actually paying attention, OpenTF yet again proved how utterly disconnected from reality they are. But hey, free marketing for 4 companies!

60/75
This thread is ridiculously long already and I don't want to go line-by-line and show how imbecilic they are, but let's look at 1 example.

61/75
OpenTF features will be proposed though a public Request For Comment (RFC) process.

With OpenTF largely ignored by the community and with OpenTF not having HashiCorp's large network of customers to talk to, just how many replies you think they'll get?

62/75
RFCs are the nerd version of "please complete this survey". Somebody posts an idea and then others share their feedback and thoughts.

Unless you get people to complete the surveys, your results will be utterly useless!

63/75 "Sampling bias" comic from sketchplanations. A room with a presenter showing a slide to the audience. Presenter says "We received 500 responses and found that people love responding to surveys" while the slide shows two options. Option 1, at 99.8% is "Yes, I love responding to surveys". Option 2, at 0.2% is "No, I toss them in the bin"
OpenTF yet again fails to understand how companies and how open-source works.

Engineers reply to RFCs because a company pays them to.
Companies mostly reply to RFCs in private after a business partnership is done and after an NDA is signed.

64/75
Don't get me wrong, OpenTF will get replies to their RFCs.

A few. A small and very biased sample made out of their customers + open-source fanatics + eager fans. With OpenTF already having proved they have no idea how to build a product, I fear what the result will be.

65/75
Worse, Spacelift, evn0, and Scalr made it clear they are not companies to partner with.

A SaaS used for infrastructure is a critical partner, not just a vendor! With all their statements, they all made it clear they don't care about their customers.

66/75
Negotiate a license with HashiCorp so customers can keep their businesses running?
Spacelift: PAAAAASSSS. LAME!

Spend at least a few million dollars a year building and maintaining a fork of Terraform and force customers to use this shitty alternative?
Spacelift: YAAAS!

67/75
"Instead of paying HashiCorp licensing fees, Spacelift will spend $1m/year on OpenTF and fuck over all customers by forcing them to adopt OpenTF" is... something.

I certainly hope Spacelift has a different stance in private conversations with their customers.

68/75
As an aside, dear Spacelift: y'all do realize that you're basically telling HashiCorp "it would be more cost efficient for us to pay any licensing fee that's smaller than the cost of 5 full-time engineers ($1mm/yr at the lowest range)", right?

69/75
If I was HashiCorp I'd be evil and literally charge Spacelift $(5FTE - 1$) as a licensing fee. Thank the heavens I am just a dum-dum on the internet!

70/75
Getting back to the point, with the latest announcement OpenTF continues to prove they are not serious.

They don't understand Terraform, they don't understand how Terraform is built, they don't understand the wider ecosystem, and they don't even understand open-source.

71/75
Why would I use OpenTF over Terraform?

There are no reasons to do so! Not today and not tomorrow.

OpenTF can put out all the hopeful and excited statements they want, but they again and again proved they have no idea what they're doing so why would you use OpenTF?

72/75
What should you do?

Keep using Terraform and ignore this bullshit. Re-visit the situation in 3 months and see if you need to change anything. Maybe, by some miracle, OpenTF will get serious and actually build something. Highly un-fucking-likely.

73/75
I have a feeling both Terraform and HashiCorp will end up being better, both as a company and as a product.

Just like MongoDB: they had their licensing drama but they're now both a more comprehensive database and a better company 💟

74/75
HashiCorp may fuck it up, but they're on the right path.

OpenTF might've been an alternative path but they have, time and time again, proved that they cannot be taken seriously.

75/75
See the full unrolled version of this huge thread here:

typefully.com/iamvlaaaaaaad/…
To help others see what bullshit OpenTF is, retweet the first tweet in this ridiculously long chain 👇

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Vlad Ionescu (he/him)

Vlad Ionescu (he/him) Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @iamvlaaaaaaad

Aug 11
The impact from this is way wider than initially thought — this is sending ripples across the whole tech sector!

A thread that may or may not be a bit paranoid / anxiety-powered 🧵

1/22
TL;DR: this was initially perceived as a supply chain attack. It's (debatably) not that, but the concerns it created will persist. I think we'll see some interesting consolidation and some fundamental architectural changes in the next cycle. I could be wrong tho 🤷

2/22
Proving yet again they are terrible at actual business, HashiCorp posted the blog post announcing the license change, they posted a FAQ, and then they went silent.

Impact and restrictions are still not clear. Folks using any HashiCorp OSS legitimately panicked.

3/22
Read 24 tweets
Dec 12, 2022
After watching 289 talks, I can now confidently share my re:Invent 2022 recap 🕵️‍♂️

Verdict: I am whelmed. Not underwhelmed or overwhelmed, just whelmed.

Since there were a bunch of other "unboxing" recaps already, here's a thread with an ✨actionable✨ recap.
Beware #1: I am a dum-dum working with partial information here. There's a fair chance this thread will have at least a couple mistakes or bad takes. Always hedge your bets!

Beware #2: I am only *only* talking about re:Invent launches. No pre-invent releases!
TL;DR:

1️⃣ AWS CxOs keeps ostrich-ing it — hiding their head in a 💰 instead of going through a desperately-needed corporate crisis

2️⃣ the release train keeps chugging along: we got some amazing low-level releases, some nice middle-level ones, and some high-level disappointments
Read 36 tweets
Dec 5, 2022
Before I do my "re:Invent recap" thread, I have to make sure I understand the things I'll talk about: it's time to watch the re:Invent recordings!

Surprisingly a lot (all?) of videos are already up on YouTube. After a quick sweep, I have 129 videos to watch 😅
In the previous years, I watched relevant 400-level talk first, and then some 300s, and maybe a couple 200s just for kicks.

This year I am going randomly! We'll see how it goes 🤞
I won't livetweet this because I would definitely be too mean — I've already seen some horrifying talks. Maybe I should setup Twitter Circles for the unfiltered "wtf this is professional malpractice" 🤔

I might tweet out interesting or positive thoughts. We'll see.
Read 46 tweets
Nov 22, 2022
Another "so close and yet so far away" release from AWS

AWS needs to realize that:
1️⃣there's a world outside AWS
2️⃣not everybody has AWS' reliability requirements & profit margins

This could've been awesome, but no, AWS keeps repeating the same mistakes

pipelines.devops.aws.dev
To be fair, the Deployment Pipeline Reference Architecture (DPRA) gets *A LOT* of things right. Good job on that!

Seriously 👏 I especially like all the examples!

And there's a big need for something like this. I applaud AWS tackling this!

But then problems starts to appear...
Mean TLDR: no more OSS projects to run as a service? Let's make public services out of things we built internally.

Nooo, of course everybody has the same needs as AWS and of course everybody will just get it. No need to spend precious time productizing it! Bias for action!

🙄
Read 27 tweets
Aug 29, 2022
As an ECS on Fargate fan, I got a lot of questions about the recent incident / outage.

Let's talk about it... 🧵 1/43

TL;DR: meh. Incidents happen and this one did not teach us anything new about building on AWS. I expect more profound drama during these roaring 20s!
Disclaimer: everything fails all the time! I view incidents as "normal" and this thread reflects that.

Yes, AWS had incidents. Yes, us-east-1 is HUGE so it gets interesting incidents. Yes, AWS is bad at communication.

This is the default and well-known state!
I won't address bullshit arguments in here. Please go intellectually masturbate somewhere else!

No, multi-cloud is not a valid solution. No, multi-region is still really freaking complex and most of the time not worth it for the business. No, your datacenter won't do any better.
Read 43 tweets
Jun 8, 2022
Twitter thread based on demand and cause I can't be bothered to spend 6 months writing a blog post: platform teams are dead.

Platform teams as in teams that build an internal platform that "abstracts the cloud" and "makes things easier for developers" and "our k8s platform" ⚰️
TL;DR: we aren't living in 2016 anymore, and the cloud moves fast. Platform teams are expensive and hard to do, offer a mediocre service at best, destroy velocity, and create bad incentives.

Avoid this mistake and build guardrails and company-specific DX tooling instead!
Before we get into it, some disclaimers.

Disclaimer 1: I am yet another overconfident white male, with not enough experience, that is just tweeting things so I can get you to subscribe to my SoundCloud.
Make peace with that; don't take everything I say as gospel.

🙅Hateful DMs
Read 39 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(