This year I've done a total 180 on open source strategy.
Remember Elastic making a fuss with "Amazon: NOT OK"? I was quite persuaded. If MongoDB, Redis, Cockroach, Confluent relicensed and do fine, maybe SSPL just becomes acceptable "open source".
Now I think MIT is just fine.
Probably my biggest test of confidence was in March when @martin_casado and @davidu pushed back on the open source religion - if your monetization is SaaS, then open source is just marketing (there's nuance here, pls read his replies before reacting)
Open sourcing has a cost - at @temporalio it impacts decisionmaking in engineering, product, docs, devrel. Tradeoffs we wouldn't have if we just had a free tier.
But look at how extensively @NetflixEng has been able to adapt our SDKs and devtools:
To put Temporal inside of Netflix's "paved road", they needed every part of the stack to adapt to their needs, from Fast Properties (config store) to Chaos Monkey (fault injection) to Metatron (certs) to Wall-E (authn) to Gandalf (authz) to their own flavor of gRPC.
They didn't ask permission to do that.
We didn't anticipate them doing that.
But they did it anyway.
Every month our users teach us something new about the platform we built – because Open Source.
Countless nontechnical concerns ("you're just series A, how can we rely on you?") addressed with: "Here's our code. No strings attached."
Open source decouples tech adoption from vendor maturity.
@temporalio That is not to say we aren't mature! Just that it buys time and trust. We are already SOC2Type2 certified and serving multi-bn $ publicly listed companies in production. We're just not GA/self serve yet.
(We're taking waitlist signups for Temporal Cloud temporal.io/cloud)
@temporalio The rest of OSS startup moat I reckon comes down to 2 things:
- Sweat the DX: Intuitive, honest docs. Treating onboarding like game design. Handling exceptions (
Support. Offer a shared Slack with SLA. Enterprise contracts are being closed on basic premise that "someone who knows what the heck is going on is on Slack with you, whether we are down or you are".
correction from @sogrady on store-brand licenses - i was aware of some but secretly hoping the industry would settle on SSPL - instead, Elastic seems to have gone and made its own license! :(
further cements my belief in @joshsimmons' OSI™ open source
in fact i’m -so- not a perfshamer I shall now say the thing I’m not supposed to say:
before today you didnt know or care that Notion had a 9.1MB JS marketing site; if it impacted them enough they would’ve fixed it sooner; you may have a fast site but they have 10 million users.
- Delivery lead time
- Deployment frequency
- Mean time to restore service
- Change fail rate
What would the 4 key metrics of Dev Experience be?
my picks:
🌏 Time to World Tour
Anyone can do "Hello World" with `git clone` and not teach a thing. More impt to give the developer a useful mental model of what they should know in short time.
You can't visit all 192 countries, but you can show that there are 7 continents.
🏃♀️ Time to Implement Change
Anyone can build brittle systems. But great DX optimizes for 1-2 standard deviation changes in requirements:
- find helpful docs fast (better: no docs needed)
- low edit distance
- smooth migration paths
Is #LearnInPublic suitable for everyone?
What if I look dumb?
My answers below, but I'd love to hear yours too!
(DM shared w/ permission)
1/ Learning in Public is *not* “broadcasting everything”. Nobody wants that.
It is about realizing you have a choice to go from 0% to not-0% public. The stuff you do share, you will learn faster, while building a network. It’s up to you to set the boundaries of what you share.
2/ Understanding how to turn your ignorance into power is a key career skill. If you want to grow at all you must make ignorance an old friend, and make friends out of ignorance.
Lean into the discomfort. Become a professional (but responsible) ignoramus