The Changelog: Software Development, Open Source - The war for the soul of open source (Interview)
Episode Date: July 16, 2019Adam Jacob (co-founder and board member of Chef) joins the show to talk about the keynote he’s giving at OSCON this week. The keynote is titled "The war for the soul of open source." We talked about... what made open source great in the first place, what went wrong, the pitfalls of open core models, licensing, and more. By the way, we’re at OSCON this week so if you make your way to the expo hall, make sure you come by our booth and say hi.
Transcript
Discussion (0)
Bandwidth for Changelog is provided by Fastly. Learn more at Fastly.com.
We move fast and fix things here at Changelog because of Rollbar.
Check them out at Rollbar.com.
And we're hosted on Linode cloud servers. Head to Linode.com slash Changelog.
This episode is brought to you by Linode, our cloud server of choice.
It is so easy to get started with Linode.
Servers start at just five bucks a month.
We host Changelog on linode
cloud servers and we love it we get great 24 7 support zeus like powers with native ssds
a super fast 40 gigabit per second network and incredibly fast cpus for processing and we trust
leno because they keep it fast they keep it simple check them out at lnda.com slash changelog.
From Changelog Media, this is the Changelog, a podcast featuring the hackers, the leaders, and the innovators of software development.
I'm Adam Stachowiak, Editor-in-Chief here at Changelog.
Today, Jared and I are talking with Adam Jacob, co-founder and board member of Chef.
We're talking to Adam about this keynote he's giving at OSCON this week.
The keynote is titled The War for the Soul of Open Source.
So Jared and I, of course, had tons of questions.
We talked with Adam about what made open source great in the first place, what went wrong,
the pitfalls of open core models, licensing, and so much more.
And by the way, we're at OSCON this week. So if you make your way over to the Expo Hall,
make sure you come by our booth and say hi.
Hope to see you there.
So we are excited to do a show about OzCon before OzCon
with Adam Jacob talking all about your keynote
that will be at OzCon.
What is it, July 16th and 17th?
Yeah, something like that.
So Adam, in your bio, it says you like beaches more than mountains.
You're allergic to plants.
I am.
And you get nervous every time you speak in public.
Now, I was thinking about this.
OSCON's in Portland.
Yes.
You might see Mount Hood on the way in.
For sure.
There's lots of plants there.
I'm not going to lie.
Yeah, I know.
I grew up there.
And you're also going to public speak.
So, are you looking forward to this?
I mean, it's funny. Yes, of course I am. And you're also going to public speak. So are you looking forward to this or? I mean, it's funny, like, yes, of course I am.
And also, no, I, you know, I, through my time at Chef, so much of that work that I did,
we started as consultants and then that's where we grew into Chef.
And the way we found all of our customers was through public speaking, you know, like
I would go and speak at whoever would have me really.
And then you would try to generate leads by talking about, you know, how to do infrastructure
automation or whatever.
And that was great.
And I'm so thankful for it.
And also I did it a lot for a decade.
And so there's a part of me that most recently what I've been doing is hanging out with my
kid and like playing with my cats and not getting on airplanes.
And so oscon is
one of those moments for me where i'm like gonna get on an airplane which i don't really want to
do but i'm gonna do because i want to go to oscon uh and then i'm gonna speak in public which i do
want to do because i'm excited to do it and i'm excited about the message i want to share but also
i could stay home and play video games and that would be okay too and so i'm sort of in the i'm
in a funny middle ground but yeah i think with public speaking and being nervous, I think if you're not nervous, then you're not putting enough attention
into how important it is to be good because, you know, people come and they're going to spend their
time and their attention and their money. And if, you know, if the speaker just winged it,
you know, I don't want to just show up and be like, well, you know, I slammed my talk together
yesterday and I've never practiced.
But, you know, it's cool.
Like, that's what you do when you're not nervous, you know, when you're just like.
Right.
And yeah, I don't I don't know.
I don't think I ever want to get to the point where I'm not nervous.
Absolutely.
Let's let's hone in on this allergic to plants.
So this is like a bubble boy situation or how bad is it?
What plants are you allergic to?
I mean, it's pretty bad.
Like modern medicine makes a big difference. bubble boy situation or how bad is it what plants are you allergic to i mean it's pretty bad like
uh modern medicine makes a big difference so like you know like being able to wake up in the morning
and just like take allergy meds every day like kind of cuts that down but yeah like when i was
a kid i you know your dad is always like mow the lawn you know like why do you have sons if it's
not to like make them do yard work for you um And like, I would just puff up, you know, like my eyes would just turn red.
And, you know, you would just be like, and I did, I think I mowed the lawn twice before my dad was like, all right, fine.
But you're maybe not the lawn mowing son, you know?
And I didn't know that I wasn't a big fan of that sort of thing until I had a daughter. And then I realized that
I was just avoiding those things. But I had never really thought about it. Like if you've asked me,
like, do you like camping? Or do you want to like, I would be like, sure. Yes, of course. Because I
have fond memories of camping. You know, it's not like, not like I never camped. And also, no,
like, I don't want to be dirty at all. No. Also, I don't want to do any of those things.
Yeah.
So like I'm allergic to most things that are green, just sort of how it goes.
Well, you are not allergic to OzCon itself.
You're excited to be there.
And we're excited to always work with O'Reilly on promoting the conference, on attending
the conference.
Adam and I will be there.
So check us out.
We'll have a booth with a big changelog.
What is it called?
A banner? I don't know. Eight by 10. Sure. Yeah, man, booth with a big changelog. What is it called? A banner?
I don't know.
8 by 10?
Sure.
Yeah, man.
You print a banner.
That's right.
We'll print a banner.
We're going to do all the things.
And one of the things that we do is we like to bring on a keynote or two before the conference
goes.
Now, I was looking at the different keynotes for this year, and I couldn't help but stop
and think, oh, this is perfect for us when I saw The War for the Soul of Open Source.
Yes. That is a cool of Open Source. Yes.
That is a cool title.
Thanks. Yeah, I kind of stole it from Salil Deshpande, who wrote this article that I don't
love. I like him as a human being. I'm sure he's a fine person. But he wrote this article about how
open source is failing because it's not allowing MongoDB and friends to appropriately monetize in the face of
amazon.com and I think he called it the maybe the war the crusade or something similar you know
it's sort of been in the air lately where there's been quite a bit of like a resurgence of source
available licenses and conversations about you know what sustainable open source means, and then also what sustainable
business models are. And it turned out I had a lot of opinions about that stuff. And, you know,
I had a bit of a, I have some experience with that and from Chef and from building that business and
from thinking about how to build those open source communities. And so it's just I've spent the last,
I don't know, it's maybe the last
nine months where I felt like I've been having a bit of an existential crisis about my relationship
to open source and my feelings about it and my feelings about business and how those things work.
And it all sort of has come to a head here in the last, I don't know, couple of months worth of
thinking and talking with other people about what open source is and what it means to me and how it's working and how it's not.
We'll dive into all those things.
I guess I would personally love to hear a little bit about your story with Chef because I think that undoubtedly informs your perspective on these things.
Can you tell us about Chef and a little bit of the back story and where it stands today?
Yeah, for sure.
So about 13 years ago,
I ran a consulting company that did automated infrastructure.
So I'm a systems administrator in real life.
That's my actual thing.
And I had spent a lot of time doing automation
and building automation for a string of different companies.
And eventually, we went up, started a consulting firm,
me and some friends. We went out and our consulting firm was doing great. We were
building a lot of automated infrastructure for people, but we were struggling to maintain it
after we built it. And so that led us to Build Chef. We wanted a better way to manage bigger
infrastructure spread across more people.
We hooked up with a guy named Jesse Robbins, Jesse of Velocity fame and former Amazon.com master of disaster. It was Jesse who was like, hey, this should be a company. We should
actually take this thing to move into a product, raise venture capital and go for it. So we did.
And it really super worked. So we built this product called Chef that did configuration management. You described how you want a bunch of servers to work when you for it. So we did, and it really super worked. So we built this product called Chef
that did configuration management.
You describe how you want a bunch of servers to work
when you run it.
It sees if they work the way you described.
If it doesn't, it figures out how to fix them.
Our original business model was
that we were going to open source Chef itself,
and then we were going to run
all of the server-side infrastructure as a SaaS for you.
And this was right at the peak of, like, SaaS hype, right?
This was when SaaS was taking over the world,
and that was the business model everybody was going to choose.
Turned out that was not the best business model for enterprise software.
Like, they weren't really quite ready to let their configuration information
go out to, you know, random person's SaaS.
But the open source part of what we did,
we open sourced it under the Apache license on purpose, knowing that we were sort of opening ourselves up to competition, but that it would
kind of garner the biggest possible spread of adoption for Chef. And that super worked. We had
companies like Engine Yard, RightScale, like there's a pretty long list of those early cloud
providers and the early people who built on top of those cloud providers, all of whom built stuff
on top of Chef because of how the license was constructed and because
of the way that we built that community in a pretty open and collaborative way.
As we grew, that changed into selling on-prem software.
So we went from being, it's all open source and you run it as a SaaS to it's mostly open
source, but we sell proprietary software too. So we became open core
and we were always a pretty, what I would call loose open core versus tight open core.
And the difference there would be tight open core is like there's core features that exist in the
product that you don't get unless you pay me money, right? You want to back up the database,
that would be tight open core, right? Things that everybody needs. Loose open core means you build stuff around the core software. And I monetize
that. So if you wanted to buy a web UI, or you wanted role based access control in the server,
you know, some of those things maybe you do. But it was disconnected from the core value prop,
you could still just use the core of the software to do whatever you wanted without having to do a lot of work.
And we stuck with that model,
still had a SaaS,
still sold on-prem software,
but sort of going back and forth through that
and managing both the community,
managing our business,
what features are in,
which features are out,
why do people buy?
And then most recently,
we took a long look at sort of our business and why people were buying the software.
And it felt like we were sort of on this treadmill of constantly putting features either into the commercial product or out.
But ultimately, people were buying the product because the product worked.
You know, the product itself, Chef, and the thing it did for them, that's why they bought it.
And after a lot of soul searching and looking at the business model, we decided that what we're going to do is open source everything. Rather than have any proprietary software at all,
we were going to follow essentially Red Hat's model, where we're going to open source all
the software. But what we do is build a distribution called Chef. And if you want
that distribution called Chef, you have to buy it from me.
And what you're paying for is both the means of that production, my support.
You're paying for the marketing.
You're paying for all of those things that surround it.
But anybody is free to take that software and build a distribution of it and to distribute it under whatever terms they want to.
They just can't call it Chef.
And that's the sort of most recent evolution of Chef's source business model and that's been working great and they're having the best
quarters they've ever had um we have customers who weren't paying us who are now paying us
um because of because of that change so there's like it's been working pretty well from a community
point of view it's also been working well like you know when you before change, no one knew how to build a release of Chef, but Chef.
If you didn't work at Chef, this wasn't a thing you could do. Now, there's a relatively
robust community of people who are building new releases of Sync, which is the community
distribution of Chef. They're hosting it at the OSU Open Source Labs. There's a much richer ecosystem
for the software than existed
before we made that choice.
That brings you up to date, I think.
That change is relatively recent, correct?
Within this calendar year?
Yeah, for sure. January, basically.
Maybe a little. Maybe even later.
Maybe more like April.
Based on your tweet, it's April.
Do we feel like it's been long enoughil so do we feel like it's been
long enough or do you feel like it's been long i don't have a take that's what i'm asking do you
feel like it's been long enough to know like if this is working or is the initial sometimes the
initial shock wave of a change uh will have positive feedback but then over time you know
not so much has there been any yeah signs of that i mean is it too soon to know for
sure i mean it's always too soon to know for sure you know like when you think about the enterprise
sales cycle you know typically you're looking at like a six month window from like initial
conversation to i closed a deal right would be would be pretty common. So you're probably still a little too close to really know
for sure. But the early reads are in and they're good. You know, I think the feedback, not on the
business side, but on the community side, has been mostly positive. You know, one of my experiences
is that you sort of never, you never can please everybody. So like,
I think about this as a,
I don't know if you know what a utility monster is,
but essentially like in,
uh,
there's in, in utilitarian philosophy,
right?
So the idea is that we make good life choices because the,
we put more aggregate happiness into the universe,
right?
So for whatever your metric of happiness is,
if you're putting more happiness into the universe, then we're making good decisions versus bad decisions in the like
smallest philosophical nutshell and a utility monster is someone who when you feed them
whatever the happiness is they get more happiness out of receiving it than anyone else a great
example there would be the cookie monster right right? The cookie monster loves cookies.
And so when you feed the cookie monster a cookie, he's like,
this is the best cookie I've ever had.
I love cookies, cookies, cookies, cookies, right?
And so that means that we should definitely give all the cookies to the cookie monster because his happiness for the cookie is so much higher than ours.
And so the cookie monster just gets all the goodness in the world.
And I think when you're running a big open source project,
you're kind of surrounded by Cookie Monsters.
Everybody has a point of view about what the most important piece of it is.
And it's whatever they need.
It's the business.
It's that patch that I wanted filed.
It's my ability to influence the direction of the project.
Whatever it is that their utility is,
whatever their most important thing is,
that's their point of view. And they kind of assume that everybody else shares that point of view, right? And if they don't, there's kind of a no true Scotsman moment where they're
like, well, then you're the one who's not really living up to the true ideals of open source,
you know? And I think the community feedback has largely been that it's great that everything's open source, where it will be great if it brings more contributors into the system.
We're a little irritated that you're no longer producing distributions that we can just use the way we used to because, you know, I used to drop the cookies off at your house.
And now if you don't want to pay me for the cookies, at least a little bit for some number of people then you
can't use the software anymore and that's irritating if you were in that camp right
and that now there's a cost there's also i hesitate to classify this way but i'm gonna anyway
because i get to say what i want but you know there's the cynical crowd as well who are like
this means that you're not really open source, which to me is just the most insane conversation I've ever heard.
But there is a tangent of that community that looks at that decision and goes,
well, this is just you stealing all of the goods, right?
Even though it's all in the open and it's free and we're supporting
creating those community distributions and doing all that work,
they kind of don't care about all of that because what they want is us to keep producing.
They would like all the software to be open
and to be able to get it for free
and to not have to worry about paying for it,
which sounds great,
but it just means there's no more business to support it.
So that's sort of what I think
the full gamut of feedback has been.
Oddly enough, a lot of the folks
who are maximally cynical used to work for Chef.
Did they leave because of this
or did they leave for other reasons?
No, no, usually they were gone, you know, maybe for years, in some cases, many years.
But it's because I suspect, I don't know, that it's a little bit just because, you know,
when you work someplace and then leave, which is just happens all the time, and it's normal
part of life, you have so much of a point of view about the people who
were there and why they make the decisions that they make and so they can sort of read into those
decisions their own story in a way that like random people don't do you know like if you've
ever met me you don't really read into my motivations because you don't know who i am
and you've never seen my motivations and it's fine. And so like the people who I think have been most cynical are the people who have the most
ability to sort of try to intuit someone's motivations at a distance and have their own
kind of personal story.
For the most part, that has died down because it gets exhausting.
You know, at some point you're like, fine, like it is what it is.
So when they say it's not really open source now right what do they mean by that because didn't
you go from open core to now 100 open source apache licensed what do they mean what they
what they meant is that we're no longer producing a free distribution of the source code
so what most people think of when they think of open source is two components they think of the
software itself the actual code,
but they also think about a distribution that I can just go grab and do what I
want with without any friction. Right.
And we've explicitly stopped creating an open source distribution of the same,
right. In the same way that like Red Hat,
you can't just grab Red Hat and do what you want. Right.
If you want to run Red Hat Enterprise Linux, you're going to pay Red Hat.
You can have a free trial, but that distribution, like it comes from them and you pay them for it. And, you want, right? If you want to run Red Hat Enterprise Linux, you're going to pay Red Hat, you can have a free trial. But that distribution, like it comes from them, and you pay them for it.
And you know, you could run Fedora, you could run CentOS, you could you got a lot of options.
But what you don't get to do is run Red Hat Enterprise Linux, you want to do that,
you're gonna have to pay Red Hat some money, same story. And so when they say it's not really open
source, what they mean is, well, I used to get a free distribution, I used to go to your website,
I could click a button, or I could like run a command. I could do what I wanted and I could call it Chef. I can't do that anymore. Therefore, you've moved the cheese. You've flipped
the social contract around on me. What's involved in distribution in most cases?
What is the secret sauce in most distributions, say Red Hat or even Chef, for example?
Yeah. So it turns out that there's a ton in the distribution.
So you've got to think about change control.
So how do I do admissions control on the source code itself?
You have what's the CI and CD process?
Like how do we actually test that thing?
So software like Chef, it's running on a bunch of esoteric platforms
in addition to the ones everybody would expect.
So Linux and Windows and Mac, but also HP UX and AIX and Solaris. And it's running on multiple
like hardware architectures. So there's quite a bit of that stuff that goes into building those
distributions. Then there's actually packaging them up, hosting them over time, security releases
and vulnerabilities. Like all of that stuff is the distribution sauce,
right? So it's one thing to just take the software and type make and get a bundle. That's great. You
can install it. You can even share it. But what's the chain of custody on that thing that you're
downloading, right? If I'm going to use that thing to run every point of sale terminal in america and do i want to just get it
from a dude on the internet or like a lady like probably not like i would probably want to see
like more out of station if it's providence right so is there a centos equivalent in chef land is
there a community driven distribution yeah there will will be. They're working toward that release right now.
It's called Sync.
Chef is not Chef.
Sync is not Chef, sorry,
would be the recursive acronym that they had chosen.
Sync is not Chef, so C-I-N-C.
C-I-N-C, yeah.
C-I-N-C, yeah.
Sync is not Chef.
It has a couple of great properties,
one of which is that it's four characters long,
which means that as we go through the code base
and make it possible to change the name of the program,
we don't have to reformat everything.
So there's work to do.
That's a fringe benefit right there.
It's good to keep the same number of characters.
That's a nice piece of advice for anybody
that goes down the multiple distribution road.
What's the motivation then? So if you were open core to now 100% open source, for me personally, I realized that the things I disliked.
Well, I'll back up. I'll tell the whole story of how I sort of got started on that journey.
And then the business side sort of comes in a little later. So I had decided to leave Chef, but it's on good terms, like where I'm on the board.
Everything's happy. I was there for more than a decade, but I was just done because I had gone to a customer meeting.
It was a delightful meeting. And the person who was sitting to my right basically made all the technical decisions for this massive, you know, Fortune 100 company.
And I described how we could solve this problem. And he high fived me. You know, he was just like, what's up? I'm in. And all I wanted to do was go home. I didn't get like a single,
like squirt of dopamine in my brain that was like, good job. You know, I was just like,
great. And I was like, Oh, I have to stop. Like I have to quit now. Because I don't want to be
like a caricature of myself. Do you know what I mean? Like, I know I could keep going, I could
show up tomorrow and do this again. And I wasn't wrong. And it was gonna work. But it wasn't it wasn't healthy. It wasn't where I wanted to be. And it's not who I want. I don't want people to remember me as that guy. I want them to remember me as the person who was stoked when that happened and was a part of that journey for them. And so, so I decided to leave and I was talking to, you know, when you make those sorts of monumental life decisions, you sort of like talk to your own small council, you know, you go to the people that know you well, and care about you and that know your context, and you talk about
your decisions. And so I was doing that with a previous investor of ours, Sunil Dhaliwal, who
asked me, Hey, would you start another open source company? And without hesitation, I just said no.
And it wasn't like a weak no, you know, not a no. And as soon as it came out of my mouth,
I was like, is that true? Like, do I mean that? Because that's intense. And like, a lot of my life
has been really dedicated to open source. And it's done so much for me, I learned a program in the
community, like, so much of my identity in my life is tied up with open source. And it just came out like instantaneously and vehemently.
And I was ramping down what I was doing at Chef because I don't know if you've ever exited a company that you've built over a long period of time.
But, you know, people just assume that you're really busy all the time doing very important things.
And if you're ramping your way out, you're doing the opposite.
Like you're rapidly unloading things to make sure that people don't miss you if you're ramping your way out, you're doing the opposite. Like you're
you're rapidly unloading things to make sure that people don't miss you when you're gone,
you know, like, because if it's going to go badly, you want to still be there to help them out.
And so I found myself with time in between when I had to do things, where this existential dread
just kept washing over me of like, ah, is it, do I, is that really real?
Is that really what I think?
And so I started looking into it myself and trying to decide why I said what I said.
And it turned out that it was because managing, being the sole arbiter of everyone's hopes and dreams as they related to chefs.
So I was the sort of benevolent dictator.
So from a technical point of view, I could just whatever I said goes, you know, and very rarely did I have
to use that power. But sometimes I did. And then from a corporate point of view, I was the CTO.
And so my job was to definitely balance the business's needs and the software's needs.
And then there's this community of people who love Chef and use Chef
and contribute to Chef. And I had to balance all of their hopes and dreams. And it felt a little
like I was surrounded by the cookie monsters that I talked about earlier, you know, and I would pay
attention to one and then they'd be like, Oh, why'd you give those you're giving too many cookies to
that person, I want more cookies. And it was just this constant circle. And doing that in business
is hard enough, like just the normal stakeholders in the day-to-day
business is hard. Doing it with this massively broad community of people who have this huge
number of stakes is even harder. And what I realized was that I don't want to be a part
of a community where my job is to manage all of their hopes and dreams and to be the person who
decides whose needs are met. Do you know what I mean? I don dreams and to be the person who decides whose needs are met.
Do you know what I mean? I don't want to be the person who decides if you can have what you want
from this thing that you care about. And when I reflected on the communities that I had been a
part of an open source that I love the best, it was because there was no arbiter for that, right?
When I loved the Pearl community, it because Perl enabled me to do the things
that I needed to do.
It made my life, right?
My entire life is built on the fact
that I was a part of the Perl community
in a very direct way.
And that if I was going to be a part
of an open source community or build one myself,
that I was never going to set it up
with those incentives ever again.
And the only way that I could find to get out of that trap was to say that the project itself
needs to be sustainable by the people who love it. If it has a single overlord, if it has chef
at the head of it, well, that means that it's my job to sustain it. And I'm giving you a gift,
right? I'm giving you the gift of my money, of my time, of my sustaining.
But if you challenge my point of view, if what you want, if you, Jared, want to make a business on top of Chef and it conflicts with my business, well, now you're not in my community anymore.
We're at odds. And I have to try to manage that by deciding, do I let you exist? Do I fight you?
What do I do? And my answer to that was,
I want to let you do your thing. I want to welcome you in to this community, and I want you to do
what you want to do with it. And we have to find a way to do that together as people,
because otherwise, I, Adam Jacob, I'm just not interested in doing it, because it sucks. It's a
terrible job. And it's not rewarding for the people who are a part of it
because at any moment, you know that someone could just take from you the thing that you value and
love. And I just didn't like that setup. I don't like it now. I still don't. And at the same time,
Chef was going through its own business hurdles. Docker has happened all kinds of things. We've
built new products called Habitat. It's incredibly dope.
We've done a bunch of really good work, but we were at a moment where we could make those decisions,
where we could decide to change our model. And the hardest thing at Chef had always been,
if you're a sales rep at Chef, if the feature that a particular customer wants is proprietary,
then you're stoked because you can use that as leverage.
If they don't, then you spend a lot of time trying to convince them that the features that they do want aren't the most important features. Right? And so you have this constant debate where it's
like, well, what's in the bag and what's not in the bag. And the truth is, all of it's in the bag.
It's the same piece of software that it like, that's the value,
the software itself, but also our ability to produce it is the value that you trust me,
that I can build this thing for you. You can use it, but I can support you in the thing.
That's the value of the product. And in business, what you need is a way to create scarcity. I need
to be, I need a way to say, you can't have what you want unless you give me money. That's how I take money.
It's not rocket science.
And so we started looking for a way to resolve that fundamental friction, which is also a
community friction, because if I'm a community member who wants that feature and it's only
in the proprietary part, can I send a pull request that adds that feature to the open
source part?
Would you accept it?
Should you accept it?
And to me, the answer has to be yes.
Of course it should be yes.
But man, that's a tough sell if you're a sales rep who is feeding your kids on that feature.
And so it was just this perfect storm of my own existential dread.
Barry Crist, the CEO of Chef, who is an incredibly smart and one of the most trustworthy and honest people I've ever known.
Like he's so honest that people tend to read into his behavior because they can't imagine that he's just telling you the truth all the time.
You know what I mean?
I don't know if you've ever met anybody like that, but he's like that.
He's just he'll tell you exactly what he's thinking.
And you'll be like, oh, man, was that like calculated?
And it's not calculated. It's just exactly what he's thinking. And you'd be like, oh man, was that like calculated? And it's not calculated.
It's just exactly what he was thinking in that minute.
And you put all of that together.
Corey Scobie, who's the SVP of product and engineering at Chef
and took over for me,
who also had sort of seen these dynamics.
And it's just sort of this perfect storm
of all of that coming together all at once
to make that choice.
And I'm proud of it.
I'm proud of that decision.
This episode is brought to you by GoCD. With native integrations for Kubernetes and a Helm chart to quickly get started,
GoCD is an easy choice for cloud-native teams.
With GoCD running on Kubernetes, you define your build workflow
and let GoCD provision and scale build infrastructure on the fly for you.
GoCD installs as a Kubernetes native application,
which allows for ease of operations,
easily upgrade and maintain GoCD using Helm, scale your build infrastructure elastically
with a new Elastic agent that uses Kubernetes conventions to dynamically scale GoCD agents.
GoCD also has first-class integration with Docker registries, easily compose, track,
and visualize deployments on Kubernetes.
Learn more and get started at gocd.org slash Kubernetes. Again, gocd.org slash Kubernetes. so adam uh we share the same name of course it's weird saying hey adam it's a good name it's like i'm talking to myself but let's let's go deeper into the business layers of that so that's a lot
of community a lot of personal adam related stuff dive deeper into the business side of things that
was happening obviously you mentioned sales reps, livelihood depending upon this balance between give it to them or not
with what's in the bag or not in the bag. Kind of go a little further to the
business challenges that, because you said earlier that things are thriving
now. We see Elastic and others out there thriving as well that have been in similar situations.
Yeah, so I think in order to really go deeper into business we've got to
just set some ground rules for like how we think about business.
So like how I think about it and how I think a lot of people in the sort of modern era
of software startups think about it is, you know, in the smallest nutshell, you can imagine
that you have this funnel, right?
And at the top of the funnel is everybody who might could ever use your product, right?
So every possible person who would ever care. So that's your target market. The bottom of the funnel is customers, people who
pay you money for the privilege. And what you're trying to do is get people from the top of the
funnel to the bottom of the funnel, right? It's just how many people at the top can I push to
the bottom? And there's a ratio there where, you know, you want that number to be as high as
possible. You'd love to get 100% of them.
You know that you want, right? And so you're trying to just extract dollar bills from the top
to the bottom. There's a bunch more we could go into in terms of metrics and recurring revenue
and all kinds of stuff. But sort of the TLDR there is people at the top, money at the bottom.
So with open source, we talk about it as an open source business model,
but that's wrong in the same way that DevOps isn't a job title. So DevOps isn't a job title.
It still isn't a job title. It never was a job title, but we lost the war. There's plenty of
DevOps engineers in the world. And so the idea that that's not a thing, it doesn't matter that
I'm a pedant about it. The same thing is true in open source business models. There is no open source business model. There are business models,
and then there is open source. And they're two very different, very separate things.
There is nothing unique about open source and business. Business is business. You get people
from the top of the funnel to the bottom of the funnel. You either do that with a unit economics
that make you money or don't make you money. If they make you money, then you
can pour more dollar bills into the acquisition of people at the top of the funnel to get to the
bottom. Even if that means you don't turn a net profit and still be a great business, because as
soon as you stop burning money to acquire more stuff at the top, but you make a lot of money at
the bottom, right? And so in open source, when we talk about open source business models, what we really are talking about is how do I create a channel at the top of the funnel?
So people come in in multiple different ways.
And we talk about those as channels.
So one channel will be I'm an open source user of your software.
I download MongoDB.
I download Redis.
I used it.
Therefore, I'm in the open source channel to the bottom of the funnel,
right? Another channel would be my boss, the CIO, heard about Redis and CIO magazine,
tells me, you should use Redis, right? Now I'm in a very different channel than the open source
channel, right? Now I'm in an enterprise or I get a cold email from a rep that says, have you heard about Redis Labs?
Right. That's a different channel. Right. So we have all these different channels.
There's a partner channel where like maybe the guy at Pivotal who was consulting on your cloud foundry deployment tells you that you should use Redis.
That's a partner channel. Right. So like we have all these different channels that people come into our businesses through.
Right. This is true of every business.
Again, it's not unique to open source.
But that open source channel is interesting because it's humongous, right?
If you're a successful open source project, that channel is full of people, right?
Because lots of people are using the software.
That's why it's successful open source software.
So it kind of dwarfs the others in pure numbers, right? Just the sheer magnitude of what's possible
is really high. And so when we're designing and thinking about our businesses, what tends to
happen is we think about the revenue that that channel produces as belonging to us, right? If
I'm the chef people, I look at that channel and I go,
any chef user belongs to me. And if there's competition in that channel, I don't like it
because it means somebody else can compete with me to monetize the people that are at the top of
the funnel, right? So a good example here is if I'm Mongob and i sell atlas which is their hosted sass product for mongodb and amazon
and microsoft are both going to offer mongodb as a service that competes with me to monetize the
bottom of the mongodb funnel right i mongodb make this investment at the top of the channel
i i expect a return at the bottom.
And now they're competing with me in the bottom. And, uh, and this comes back to, you know, how do
you feel about that competition is the question, because in one point of view, you're like, well,
competition sucks, right? I'm the one who put all the money into building it. I'm the one who did
all of this stuff. And so you look at this thing and you're like, I deserve the one who put all the money into building it. I'm the one who did all of this stuff.
And so you look at this thing and you're like,
I deserve the money at the bottom of this channel.
Well, flip that over though.
The value of the channel is that it's massively huge.
It's adoption.
The size of the number of users is why the open source channel
was valuable in the first place.
If Amazon or Microsoft create services that sell what i sell
what's the impact at the top of the channel right what's that do to cement mongodb as an excellent
choice for the for users at the top of the channel right um the answer is it jacks it up
right like uh like amazon has a chef service, they sell it for money,
they do revenue share, right? So they sell my what used to be my proprietary software,
but now my distribution, you can buy it from Amazon as a service directly from Amazon,
we do rev sharing together, Amazon runs and maintains that service. I promise you that my
channel got bigger, my open source channel got bigger when they did that. Right? The fact that
that button exists meant more people were willing to use Chef than they were before, right? The pie got bigger.
So what's happening when the Redis and the Mongos of the world look at that problem is they decide
that the top of the funnel doesn't get bigger or that they don't care about it getting bigger.
And instead they care about the extraction at the bottom of the funnel, right? So they're nervous about it. They're like, oh, Amazon will out-compete
me. They'll sell it for less. They'll bring better features. But this, to my point of view,
is completely bonkers, right? Amazon's never going to invest more in MongoDB than MongoDB. It's insane on its face, right? And the idea that that competition
exists and it limits their ability to monetize is also, to me, feels false. A good example is
Elastic. Amazon's had an Elastic service running for as long as Elastic has been monetizable,
basically. And Elastic went public that whole time with Amazon as a competitor.
But you know what? I've ran Elasticsearch. I use it as a component in my product. One of the reasons
is that it was a dominant standard. How did I know? Well, everybody offered Elastic as a service,
right? It was the de facto thing. So that choice was easy. So I wound up in your channel.
So from a business point of view, they're making these decisions because they believe
that that's what's best for the extraction of capital or revenue at the bottom of the
channel.
And they're doing it at the expense of the spread at the top of the channel.
I think there's other situations.
I'll use like Confluent as an example.
Adam, can I hop in real quick before we move on
to Confluent? Yeah, sure. A couple of questions and a follow-up on these specific things. So
in your case, you got a rev share with Amazon. Is that the case with Mongo or with Redis or
was that unique to Chef? And would that change your outlook at all if that rev share was gone?
It's not the same. I don't know. I certainly am not privy to whatever negotiations they may have
had, right? I know the ones I had. You know, one of the things that Amazon or any partner,
anybody who's going to run your code as a service needs is the assurance that they'll always be able
to provide that service to their customers, right? And you know what's hard to do that with?
Proprietary software. Because I have no, my only hedge is the business arrangement. Do you know what's hard to do that with? Proprietary software. Because I have no,
my only hedge is the business arrangement. Do you see what I mean? Like, I can sign a contract
that says so, but if I change the terms on my proprietary software, or I build a new SKU,
well, can I still run that thing as a service? Have we bifurcated it? Like, what's the deal?
So the mechanism there is really complicated. So one of the reasons that that redshirt exists is
because so much of those assurances about what's in the open was in the
open, right? Even more so now. That doesn't mean that that's always what Amazon will do or even
what they should, but that's how it worked for us. If it didn't exist, it wouldn't really change my
point of view. Because if the question is, can I as the primary producer of the product, an owner of the
brand, and the reason that people attach to those things outcompete someone who is essentially
selling a generic version of what I sell, if I can't outcompete that person, shame on me.
Like, you really can't convince me, you really can't convince a customer that the best person to
service their MongoDB is MongoDB. Because man, if you can't, like there's something fundamentally
broken in the value proposition here, right? And I think the truth is that they can. If you look
at Mongo's performance, if you look at Atlas's sales numbers, it continues to go up. It was
going up before they changed the license, right? And the reason is it's a good
product and it's a better product than the one that you receive if you just turn on DocumentDB
on Azure, because it's kind of bare bones when you turn it on in Azure, right? And the Atlas
version has all kinds of stuff that the other one doesn't have. So like the, you know, the idea that that competition in open source, where the reason
you're here is because you have this massive channel, it doesn't make much business sense to
me that that's the conclusion we would come to. I understand how you get there, but it doesn't make
much sense. Aren't disruptive products though, not necessarily better. They're usually actually
worse, but they're good enough, and the cost is disruptive.
And so in the case of an AWS version of Mongo,
yeah, it's not going to be as good or as maybe well-supported
or have as many features as Mongo's version of Mongo,
but it's satisfactory,
and it's way cheaper.
So it's disruptively cheap,
and then you add to the fact that there's no R&D,
there's no development costs from Amazon's side,
so you're not competing with them on features.
They're just free-riding all the features
that you're building.
Well, but here's the thing.
So this is where we come back to the funnel, right?
So like now we're back to the business.
So like, sure, maybe Amazon,
but this is why it's good business for Amazon
to launch your stuff as a service
instead of just compete with you directly.
So like you've brilliantly elucidated why they would want
to launch a Mongo service in the first place, right?
Brilliant. Good job, Jared.
Yeah, it's good.
But as soon as they do that,
if the top of the funnel was fixed,
if that created no more interest in your product
than it did before, then you'd be right.
But it doesn't.
Instead, it turns out that the single largest pool
of software
developers on the planet are the ones that use Amazon and AWS or Azure or Google. How many of
those developers are using one of those platforms? And if your stuff is on all three of those
platforms and it's not on the others, how many eyeballs do you get that Cockroach doesn't?
The answer is a ton of eyeballs. So many eyeballs. And so the size of that funnel, your possible monetization
gets bigger, hugely bigger than it was before. And in that moment, your ability to capture that
revenue, every single one of those cut rate document DB users is a potential lead that's
already using your product. So all you have to do is go find them and be like, yo, did you see how
much better our console is? How much better our operation stuff is? How you can get on a Zoom
with the dude that wrote that indexing feature when it's broken? I dare you to get that out of
Amazon. And next thing you know, Citibank is like, you know, Atlas looks pretty good.
You know? What you're describing, Adam, though a is a very well-known business tactic which is
turn your liability into your assets yeah to your advantage you know so use liabilities to
your advantage is a very known by many let's say yeah it's not it's not it's not news right well
that's good though i think those kinds of ideas though sometimes are so seem so logical but yet
not everybody thinks like that you know so how can i think this is a
great idea of how could you leverage the fact that these platforms are so massive that they
actually become your marketing channel for you they are your marketing channel for you and and
the only the only thing you have to give up is that they're also going to monetize some number
of your customers yeah and especially if you can negotiate a rev share like you mentioned before
if you if you are that good or can provide that amount of value to them and get that,
then it's just a little more of the layer for you.
Yeah, it turns out that that's a lot easier to do
when the service provider can guarantee that they can always provide the service
because the entire kit's open source.
Just saying.
Yeah, so do you, on a tactical sense, do you gain access to that?
Do you know who those users are necessarily to go chase them down
and get their sales or is it a black box uh it's a little more black boxy than that it there's
there's some two-way like deal flow so you can like you know you can like register a deal being
one or the other it would be pretty weak sauce if i could just go steal those customers you know
like that would be lame if they just gave me the list and i could just go to them and be like don't
buy this through amazon anymore it'd be better if you got like that's not a very
good business partnership so no it's it's like there has to be a degree of like just like i don't
i'm not transparent with amazon about every customer i have because that would be weird
so you were going to move on to other you mentioned confluent and before i cut you off
before he moves on stack do you have any questions on this particular? No, I'm tracking. Okay, move on.
Yeah, so I think when you look at,
it's not a one-size-fits-all sort of solution.
So like MongoDB, Chef, Redis,
we all share a thing, which is that we own the upstream brand.
So when I told you about the sync community distribution,
you asked, what is the community distribution of Chef?
That's a very important question, When I told you about the sync community distribution, you asked, what is the community distribution of Chef?
That's a very important question because it means that the brand, the thing that you recognize is Chef, right?
Chef brand Chef. Confluence in a different position because it turns out that the upstream is Kafka. And so there's this Kafka brand Kafka.
That's where a huge bucket of your value is that's built
on this free software island with the Apache Foundation. And then Confluent is downstream
of Kafka, creating a commercial product that you can consume. That almost certainly leads you to
needing to build something that's proprietary, or at least distinct from Kafka. Because if you don't
differentiate yourself one or the other,
then that brand leverage that drives the top of your channel
starts to falter, right?
Because you might be driving eyeballs to Kafka, not to Confluent.
Do you see what I mean?
So it's not that every situation is the same, they're different.
But if a company owns the brand,
if that brand recognition is theirs,
and if that software is connected,
then I think the dynamics I have described are basically true. If you don't, then I think you
have a different challenge, which is you have to create enough brand recognition about your own
software and your own brand to be able to drive that dynamic. And so they're in a little bit of
a different bucket. But it's why I think sort of stepping back into Mongo for a second, you know,
they're a good example of an organization that I don't think actually trusts their own product.
And I don't think they trust their own users, right?
I think if they did, they would make different choices about what's possible and about what sort of got them to the place that they are. In their heart of hearts,
and this isn't me projecting, like they've said this in public, open source was a freemium
business strategy. They did it to drive that channel so that you would buy the product. That
was the only reason it was open source. It was never because it was a community resource that
we were going to steward together. It was never because they wanted Jared to be able to build a business on top of MongoDB to help build the pie for MongoDB. They never wanted that.
They wanted all of the pie the whole time. And so it's not surprising that they're like,
I'm very mad that AWS is taking a slice of my pie. Because for them, from the day it began,
it was always their pie. It was never our pie. There was marketing that said it was our pie.
Do you know what I mean?
Like, it's good to be a community in the, like, marketing sense, but not in the real sense.
Not in the, like, foundational do we share values where we work together to create a space where we all benefit.
It wasn't a community like that.
It was a community where you benefit by using MongoDB.
And MongoDB benefits
by you paying the money for the privilege. So it's not surprising that when they looked at
their business, they didn't think or care or believe in the dynamics that I talked about
earlier. It's not a shocker. And for me, you know, back to my keynote, that's why I think we're
talking about the soul of open source. It's not about the letter of the open source it's not about the law it's not about the license it's not about you know
it's about as people who participate in open source what are our values and why and how do
we use those values to decide where to put our time and our effort and our and and our care and
for me i don't want to put my time and effort and care
anymore into communities that don't love me back that it's just that simple that don't actually
want me to prosper and thrive and like that doesn't mean mongodb is a bad product it's a
great product and i use i'm using a windows laptop right now and i'm using like i'm not a free
software hippie in the way of like i but i believe that all software i'm using like i'm not a free software hippie in the way
of like i but i believe that all software must be free like i'm not but but i have a very different
relationship with those things you know like i also don't assimilate those things into my personal
identity in the same way i don't work on their behalf i don't do all of the community building
and support and structure and love that happens in actual open source movies
because they don't love me back. I know Apple doesn't love me back.
This episode is brought to you by GetPrime. They just released a 52-page beautiful field guide
called 20 Patterns. This field guide is a collection of
work patterns get problems observed while working with hundreds of software teams and their hope is
that you'll use this field guide to get a better feel for how your team works to recognize
achievement to spot bottlenecks and also to debug your development processes with data you'll learn
about long-running prs flaky product ownership scope creep knowledge silos and so much more
check the show notes for a link to download this field guide or learn more at getprime.com running PRs, flaky product ownership, scope creep, knowledge silos, and so much more. Check the
show notes for a link to download this field guide or learn more at getprime.com slash changelog.
That's G-I-T-P-R-I-M-E dot com slash changelog. Are you a glass half full kind of person or do you just have a winning perspective on this issue?
I mean, I'm a glass half full person.
I believe in people.
I believe that like and that mostly we can do what we want.
Like I was a kid.
I did a lot of theater when i was in high school and uh
we did two shows a year and then every other year we did like a musical that was like the
only thing we did and i remember having this conversation with my the like drama teacher like
why don't we do more shows there's all these kids who want to act or want to do the thing but they
never get a chance because we don't do enough shows like you might go your entire time in high school and never
get on the stage so like why don't we do more shows and she was like well because it's you know
we need like teachers and time and like who's going to direct and like it's a lot of work and
i was like look at all these kids like how about we just do all that and then it's cool and she was
like well if you can find a teacher, then, you know,
then sure. And so I found another teacher who would like come hang out with us. And then by the time I left high school, we were doing like 10 shows a year. Right. And I don't know that
they were better. But but we did it because because we wanted to. And because we could,
like I my whole life has sort of been that way. Like, there's just things where I'm like, Oh,
I think I think I want it to be like this. And then you just sort of go do the work and then,
you know, it kind of happens. And that doesn't, that doesn't mean it's easy or that it's guaranteed
to work. It's not, but, but it kind of does in general. And so that sort of, that sort of leads
me to the glass half full side of myself. And I think in open source, you can feel the difference between open source projects that are communities whose existence is to affirm each other's desires, right?
That it exists in order to help people get what they need.
I don't know what you need.
The beauty of it is I don't have to know.
I just have to be here to welcome you in and to help you get what
you need. And hopefully your assistance helps steward this thing we both love and share to a
better outcome. And when you're in those communities, you know it, you can feel it.
It's you feel it in your gut. It's not because somebody sent you a note or told you so it's
because you can feel your life improving. You feel the receipt of the thing
that you need. And that's what makes open source wonderful and special. And like, and we've lost
it. Like we've decided that it's the license, we've decided that it's utility, or we've decided
that it's, you know, whatever it is. And I don't think it is. I think it's, I think it is that
moment where what it means is that people can do what they need to do in their lives. And I don't think it is. I think it's, I think it is that moment where what it means is that people can do what they
need to do in their lives and they can do it together.
And so,
you know,
I don't have a lot of patience anymore for stuff that's open source because
they slapped a license on it and it was supposed to be good for me because I
can fix their bugs.
It's not good for me.
It's worse.
That's going to be a good keynote,
man.
I hope so i'm a little nervous about it you know because like i don't want it to feel like a lecture
but i'm a little lectury as a person you know like i'm prone to fits of self-righteousness
so i gotta sort of work on that um and i don't really have a call to action other than to people
should focus more on the purpose behind why they are participating like what is their what's their
outcome what's the thing that they want why do they value yeah exactly and they should make their
decisions based on their values not on assuming that because some software has a license that you
like that it shares your values.
MongoDB had a license we all liked for a while,
but it didn't share our values, right?
Right.
I mean, maybe it did.
If your only outcome was I want to use MongoDB
and I'm happy to pay you, then it's aligned, you know,
which is fine.
There's nothing wrong with that as a value.
It's just not mine.
So Adam, when you talk about the soul of open source,
it seems like you're referring to community mostly.
People working together, providing value for each other.
You mentioned your early days at Pearl
and how you know that you benefited from that community.
Being part of the Pearl community, I think, is what you said.
Yes.
And I benefited greatly from open source for years.
I didn't really feel like I was part of any sort of community for a long time.
Actually, probably the changelog changed that for me.
I didn't feel like there was an open source community.
I was benefiting from it.
I loved open source things, starting with WordPress and Perl and PHP and then Ruby and
Ruby on Rails.
And it really did transform my life in terms of i built a career around these
technologies yes and it took me a very long time to like find the people behind those i think github
was instrumental sourceforge was always like download the stuff but there was not much like
yeah and people and stuff so i think things changed but is the soul of open source the
the community is it the value share your thoughts expand. Expand on that. Yeah. I mean, I think
the soul of it is that there's a beauty in the idea that what people need in their lives is what
they want things that you wanted a career. I certainly did. Right. Like I wanted to pay my
bills and I wanted to like be a grown up and like there was a whole list of things that I wanted.
And now I want like my kid to go to college and I want i want to go on vacation like i've got a list
you know um sure and uh i want lunch um and what's beautiful about open source is um that it takes
what is our world is full of resources that are not renewable, right? There's a finite amount
of whatever in the world, wood, gold bars. Software is not like that, right? I can take
software and I can do whatever I want. It's just bits. I can change it. I can mutate it. I can
share it. And it costs nothing to do those things other than the energy required to sort of make
that digital thing exist. It's like if you had an infinite source of water that ran forever. And so by open sourcing it, we create this magical
property, which says you can take that water and do what you need to do with it. I don't know what
it is you need to do. I don't know what it is that you want. Maybe what you want is relationships
with other people. And so you want to go hang out on IRC and talk about your
life because you need friends. Maybe what you need is to build a career. Maybe you're going to use it
in your life that way. Maybe what you needed, I don't know what it is. I don't know what your
circumstances are, but I know that that thing is a resource that's available to you that you can use
to build the life you want and to fulfill the things that you need. That is unique in the world. It doesn't exist, as far as I can tell, in anything else. And
that truth, you know, you said earlier, you didn't really feel like you were part of a community
until the changelog happened. My guess is that that's because you hadn't engaged in a way
with those things. You didn't need it in that way you didn't go seeking
it out you weren't like you were getting whatever you needed from other places not that you wouldn't
have been happy to be a bigger member or whatever the pro can be but like it's just not you didn't
need it um and then the changelog happens and all of a sudden you kind of do right and and and now
there's these other people and they share they're also getting benefit out of the changelog show
like every time you put
out the show they're like oh my god i needed that show i needed to hear that perspective i needed to
learn about this piece of software i needed these things and you're like oh man i needed that too
that's why i did it and now like we're a community because we share values and we shared outcomes
and that is beautiful that's the soul of open source and there's a cynical version that says
no one can agree on what community is therefore it's not actually a value it's just marketing
fluff it's just it's whatever it's squishy stuff and it's really if we can't express it in a license
it's not real and there's people who i love and deeply respect who have said this to me directly
kyle mitchell is a good example who i love k love Kyle Mitchell. He's written more great stuff and is a deeper thinker about open source than
anyone I know. License zero. But like,
I think Kyle's wrong.
I think the soul of those things is actually more important.
I think the intent that we put into the world and the work that we do with each
other is the, is the thing.
And so when I say that it's about the soul of it, that's what I mean.
I think that as people, open source has become so ubiquitous that it either now is going to become just a revenue funnel, that it's nothing more than a way of slapping a license on it so that users will accept that that software is free and that they can use it and then
later be monetized? Or does it mean more? Does it have a value that's deeper? And clearly it could
just be that it's the license. But I believe that that's not why most of us are really here.
That the truth is, we want to be a part of those communities. We want to share those things. At the
very least, we want whatever it is that we want from the software to be true. And I think we have
an obligation to talk to each other and to think about where we put our time and energy so that we
put that time and energy into places that put that time and energy into places that
share our values and not into things that don't i think maybe i've expressed this in a sense to you
adam stack when i say every once in a while that open source used to be fun and not that it's not
fun but it's like there's like a certain aspect to it now. We talk about it growing up and changing.
It definitely has matured as a thing over the last 15 years.
I always talk about it with some of the stuff that we do.
The change, let's cover the fun stuff, the interesting, the quirky.
That's kind of what I got out of it early on besides hacking on your blog.
And I wanted to make websites, and it helped me make websites.
But there was just this aspect of...
Little punk rock.
Yeah, the hacker side of tinkering, creating things.
And probably because of the position that we are in at The Change Lock,
we see a lot more of really the capitalist side
of the open source industry.
Yeah.
Where it's business.
It's all business.
Serious business.
Yeah.
And so I think some of that, I think I'm with you on in that regard.
Look, man, I'm A plus on serious business.
Like I ran a venture backed company.
Like I know exactly what I'm doing.
Well, that's the thing.
I'm not against these things either.
Just like this is what I'm presented with more often.
Yes.
And I'm going to run another one.
But it's not the soul of why we do it.
And the truth is, if we're going to start a company
and I'm going to write software,
and the reason I'm writing that software
is only because I want to monetize the software.
If that's what I want, and I don't want,
it means I don't actually need that giant distribution channel.
Do you see what I'm saying?
If it's just a funnel, like you could have just me mongo db for free how's it any different you know you
just sent down little mongo db balloons the difference is that people wanted to believe it
was a community where they could get what they wanted out of mongo that was more than just the
monetization right even if they didn't contribute the idea that it that it could like we project our values onto those things because they kind of look like the things that we valued before, you know, and that projection of values is very dangerous because it's it's not true.
Like they have different values. It's OK that they have different values. And I might make choices where I decide that, like, I don't care because I'm just, I'm consuming, but knowing which one we're in
is important and not deciding that you are trying to build a business or a life or a,
or, or trying to get a value out of a thing that it doesn't want you to have is important,
right? Cause it sucks to put in the time and energy and then be told that that time and energy
was inappropriate. Do you know what I mean? But yeah,
it definitely felt more punk rock before all of the big business sort of came
in and did the thing. Right.
Well, eventually things go mainstream, you know, and I think that's what,
I don't know if that's an exact one-to-one with the maturation that you
mentioned, Jared, of, of open source,
but eventually something becomes so popular
that the more mainstream folks hear about it
and become involved,
and they don't always have that punk rock, hippie,
whatever mentality that might be.
Yeah.
The fun side of open source, as you've said, Jared.
I mean, it turns out for me,
I don't actually care all that much about open source
or free software.
I learned that through my little bit of existential dread here, that like open sources value is developer
utility. It says, if the source code is open and I can give it to a developer, they can do what they
want. Therefore they will build better software. That's good in and of itself. The free software
foundation says end user utility is the most important thing. If I receive a thing, can I do
with that thing, whatever I want, yes or no, that's the most important thing. If I receive a thing, can I do with that thing whatever I want?
Yes or no?
That's the most important thing.
And then they both use that lens to decide
whether they think something is good or bad.
Free Software Foundation says,
is DRM good for end user utility?
For end user, like, freedom.
Yes or no?
If no, DRM bad.
Is, you know, open source would say,
can developers participate in the commons? If not, then it's not know, open source would say, does it can developers participate in the comments?
If not, then it's not really good open source, right? If I can't accept contributions, it's bad.
I kind of feel I have kind of learned that I, I don't think either of those are my version of
the most important piece of utility. Like I actually think the most important thing for me
personally, and evaluating whether or not I want to be a part of something, is it something where I get to be a part of it and
we get to be peers? Like, do we get to be equals? Do we get to like work together to move this thing
forward? Not that I get the same degree. I don't want the same degree of say, like, obviously,
if I'm joining, you know, Jared's project and Jared wrote the thing, like, obviously,
like it should be Jared's and I want it to be, but can it also be mine? You know, like, you know, Jared's project and Jared wrote the thing, like, obviously, like, it should be Jared's and I want it to be.
But can it also be mine?
You know, like, can I like if I like, can I care about that thing?
Can it matter to me?
Can it can it be as valuable to me as it was to you?
Because if it was now we're a community.
Now we're talking about stewarding it together.
Now we're saying, yeah, what if we you know, what if we did put a red stripe on that car?
I think it would go faster.
You know, now it's sustainable in a way that it's not otherwise.
And the 996 license, I think, is a great example of this.
So there's a bunch of Chinese software developers who are working these ridiculous, horrible hours.
And they wrote a license that said anybody who uses this license, you can't use it if you make us work these insane hours.
It's the TLDR.
Free Software Foundation was like, this is not a good license. And the reason is that it restricts use, right?
It says, hey, you're not allowed to restrict who can use the software because that's bad for end
user freedom. And I'm like, but you know, it's also bad. Like people working themselves to death.
So like, I maybe don't care that you think it's bad for end user freedom.
I'm pretty sure those people get to still be in my tent.
And because I think they get to decide that their community and that their values are
aligned.
I can decide that I don't share those values and therefore I don't want to use the software.
But I don't think it's bad on its face because it wasn't good for user freedom.
Like, get out of here.
Right?
No way.
I agree.
And I think that's probably why I've never picked a camp.
I've never been a hardcore on the free software side
or the open source side,
the two constraints that you're referring to,
because I've always been more like,
well, we can all coexist here.
We can have opinions.
We can express our opinions.
I like the healthy debate.
But that being said, we're all pretty much on the same side.
We're just splitting hairs and causing divisions
when there's a whole lot of other people
that don't share any of these values
or don't know that they're important.
And so let's just make the tent bigger
versus dividing it up.
Yeah, and a lot of that friction comes when someone in the community decides that the resource
belongs to them disproportionately, right?
Like if you're going to build a community that we steward together, you have to give
up the control over the resource.
You have to steward it together.
That's hard to do, you know, like because you could take more. Right. Like I could have it build my I could have everything go my way. It's tough. to try to influence a world they want to live in. So if those are their beliefs, then I don't really see an issue with that.
You're saying that there's some that would say
that that's not open source because it doesn't adhere to,
it restricts usage of it.
That's right.
It restricts end user freedom.
Therefore, it's not an open source license.
And it's not a free software license either.
And I got to tell you, like, what kind of party is that?
And the answer is, it's a utilitarian party.
It's a decision that says what's good in the world is more of what I believe.
And what I believe is end user freedom is the most important thing.
Therefore, if your thing doesn't create more end user freedom, it's a bad thing.
Well, I get out of here with that.
I don't care.
Like, what I care about is, are those human beings over there building a world they want
to live in?
Are they getting the values they want out of it and like it turns out that i happen to want to live in worlds
where they're big tents i want to live in a place where everybody gets something that they need
because there's this magical property i said before about software not being it's not scarce
like uh so we can have it that way and we should because it's better for us as human beings as people who want things in the real world.
Software isn't scarce and neither is software bugs. So help us on the disqualification side. So bring your business acumen, you know, you got a potential customer, you want to disqualify them as soon as possible, right? Because otherwise you're just wasting your time. How do you disqualify a community or a project?
You know, because you said like a community wants you to thrive.
We want to have shared ownership.
You have all these things that you want from it.
You know, a lot of us waste time with communities
that are never going to be what we want them to be.
And it takes a long time and there's hand wringing and tears perhaps.
So how do you know?
That's a good question. So i did a bunch of research and you can go to this website i built
called sfosc.org sustainable free and open source software communities and um and i wrote like a 30
page i think i think the correct word for it is a monograph. It's longer than an essay, but it's shorter than a book. So it's all of the research that went into that thing.
But there's a list of principles of how you can know that a community is a sustainable one.
A sustainable community would include monetization, right? So if there's no money coming in somewhere,
then like that's pretty risky, right? But it also has things like, can I achieve my goals?
Like, can I, is it possible to go where I need to go?
Is it possible to rise in the project to have authority?
Is it possible to, is it diverse and inclusive?
Can I be a person of color?
Can I be trans?
Can I, is it a safe place for anybody to be who they need to be
to participate in those things there's there's there's a list and i came up with a list i think
it's pretty good but i don't think it's the exhaustive list i think there's more to do
um for me i used i came to those conclusions through thinking about it as a philosopher
named john rawls who has a game he plays where he pretends that we're creating a new world.
We're creating a new structure.
And we're going to decide on the rules for that world in advance.
And then we'll roll the dice and the world will pop into being and we'll all wind up with whatever role we wind up with.
Right.
So it's called the veil of ignorance. So what are the things that you would refuse to give up
if you didn't know what position you were going to have
in the world when it appeared?
A good example is we would probably outlaw slavery
because no one would want to be a slave
when the world pops into existence, right?
So like there's a list of things
that we would decide are unacceptable.
And I think people need to both collaborate with others
to find what that list is and come up with your own.
Like, what is the list of things where you're like,
nope, I'm out if these things aren't true, you know?
And that doesn't mean that you'll never use the software.
It doesn't mean that you think it's bad software.
It just means that you're never going to try to participate with it
as if it was a place where those things were true. Do you know
what I mean? So I think a good place for people to start is asking yourself, what is it I want
from my time? What is it I want from the time I'm investing? Sometimes what we want is just to use
the software. That's the most obvious one. But when we want more than that, I think it gets dicier, right?
Like when we want like relationships, when we want control, when we want authority, when we want those sorts of things.
Now, the other things, they start to matter. And I think if we know going in what is what what's available to us, that would be good. I don't know if that means we need to come up with
a framework where we can rank things where we can say, you know, this is like a creative common zero
kind of thing where you could say that this one's sustainable, and this one maybe isn't. Or
if you want control over the project, you're never going to get it because,
you know, Google owns all the Go contributors, as an example. So like, if you're starting out in the
Go community with the hopes that you rise to the Google core team, that means you're going to be having a job
at Google working on Go, you know, so like, I don't know, it's not bad on its face. But it's
interesting, because it tells you something about what what's possible for you when you strive in
that community. But I don't think there's a one size fits all answer to what's acceptable. I think ultimately, it has to be a conversation that you have with yourself
about what you value. And then you need to have a way to look at a community and value it. I think
that part is very difficult right now. Like it's just, it's very hard to at a glance kind of
understand whether a community is, is one that you share your values or doesn't. And I think
it would be great if we wound up in a world
where we had a way to talk about those values more clearly and openly
and without as much judgment.
One of my concerns with this whole thing is that, like,
it could just be another version of No True Scotsman, you know?
Like, well, you're open source, but you're not sustainable open source, you know?
And, like,
I don't really want to be that guy either. Because I think that, look, I don't, I don't really care
what your values are. I just want to know. I mean, I do care what your values are. I am judging you,
but I'm judging you from my own point of view. I'm not judging you from a like, you're not like
bad in an a priori sense. You're just, we're just not, we just don't, you know, we just,
I don't want to hang out with you more like matchmaking yeah yeah i think that's right but i think we've lost our
ability and we had i think in the early days of open source there was more of an ability to have
that conversation about our values than there is now i think i think now it's it's so widespread
that we don't really talk about the values we just talk about utilization which fine but is i think the
least interesting aspect of open source do you think that was just a matter of how many people
how much time was available why did that used to be a thing and now it's harder i don't think it
was ever like a widespread thing i think it was always like a relatively small number of people who actually like were thinking those thinking deeply about it.
It's just that the pie was smaller.
Therefore, those people seemed more frequent.
You know, like you were more upon Big Fish.
Yeah, you were more likely to run into MSW when he worked at Red Hat.
I mean, you're probably not.
I remember him because I patched Red Hat's installer
because I found an error in the Kickstart code
that he wrote in Red Hat 4.2 or whatever.
And so that's how I learned that that guy existed.
But I'm not alone in having had that relationship.
Do you know what I mean?
Because the world was smaller, and I think it's bigger now.
I also think that when we framed up the camps, when we framed up open source and we framed up free software, they were utilitarian things.
They both had a point of view in the world that said that they were defining what the utility globally was for everyone.
End user freedom is the most important thing.
We're an advocacy organization for end user freedom. OSI is an advocacy organization for developer productivity through open source licensing
and business consumption of open source software.
And like, that's their utility.
It's either good for that utility or bad for that utility.
Neither of them are about whether or a way to parse values.
Do you see what I'm saying?
Like they already have their values.
They decided what it was.
Their value is that it creates more of that junk in the world. Um, and like, that's fine,
but I don't think that they're necessarily helpful in deciding whether or not you as a person who's
going to spend your time and effort and life, uh, with another group of people around a piece
of software is where you should or could or ought to spend your time.
I'm curious, you mentioned Kyle and your respect for him.
I'm curious of your thoughts around License Zero
and the business source license
and the other ones that have kind of cropped up
to protect software teams who make open source software
from the AWS effect that we talked about on the show.
Yeah, how I feel about those licenses is that in general,
I think that they're a mistake. I think dual licensing, let me be
clear, I think they're a mistake not because they don't cause the
desired licensing effect. So there's a reason why
you would choose a license that does something like License Zero where you can do a license
and sell exceptions.
There's nothing wrong with selling exceptions, right?
So if you want to sell exceptions, sell exceptions.
If what you're trying to do is build a thriving open source business where the biggest channel is that top of the funnel of users
who can benefit from your software,
I think you're choosing the wrong model for maximizing the size of that funnel of users who can benefit from your software, I think you're choosing the
wrong model for maximizing the size of that funnel.
And so your business choices around why you would choose that model, I think are flawed
because I think it's not good strategy.
Not because I think it's a bad license in terms of like how it's written or whatever.
I just think it's poor strategy.
I think when I look at like the business source license
or what Cockroach has done recently,
which is like a variant of BSL or MongoDB SSPL,
it's the same thing.
Like CockroachDB, the night before they announced that change,
I was having a serious look at whether I should start using some CockroachDB, right?
Because I was like, I like what it says on the tin. Day after, I was out, right? And I don't think I'm alone,
because I'm no longer in their funnel, because they've decided that the community that they're
building and the software they're building is one of pure consumption. And if all I'm doing
is choosing a database for pure consumption, there's a lot more sure bets than cockroach,
right?
Like I'll use Postgres,
even though like their API compatible and cockroach maybe gives me better
operation,
operability or whatever.
I know Postgres and like six and one half dozen of the other,
I'm just going to choose what I,
what I'll choose.
So like,
I think in general,
every time that I have seen a company run that play, I find their choices questionable.
Because I think strategically, they're just making a mistake because they're taking what was their biggest funnel and they're choking it off and they're turning themselves into just another regular proprietary software business. And as somebody who has run an open core business,
I can tell you it's strictly worse than running a proprietary software business.
Because what an incredible pain is all of those people who show up telling me that their values
are important and I don't care about their values. What garbage is that? Like, that's terrible. I
want to manage all those people. I just want to want to sell stuff for money like i know how to sell stuff for money i just don't give it to you unless you
pay me like uh like what a hassle um so yeah i just i think in general they're not they're not
getting the benefit they want with aws in particular i think everybody just completely
is riffing the boat on whether or not they're good for you or bad for you.
They are strictly good for you if you're an open source business because their ability to cause developer reach vastly outstrips your own.
And the idea that you're going to –
One of the biggest tenets in open source too is adoption, right?
Like as you start to crop up, it is adoption.
So awareness –
Is everything.
And enables adoption. It's to crop up. It is adoption, so awareness. Is everything. And enables adoption.
It's the entirety of the channel.
Is there anybody else out preaching this,
or are you the voice of one crying in the wilderness?
Because I haven't heard a single person say this is like a net positive
for an open source business.
There are people saying it.
Some of them work at Amazon, and so people discount their point of view.
So like Matt Wilson, like those folks.
But there are others.
I think the thing is that back to open source is punk rockness, right?
Like there's a F the man vibe where like when you're saying that Amazon's a net positive for your business everybody's like
but they're the man and amazon's gonna destroy elastic search and you're like dude elastic
search is a worth 1.5 billion dollars with a b and they're getting that commercial where the
guy's like uh sir you are the man yeah for that commercial like who exactly are we protecting here
because last time i checked they were public and killing it so like you know i mean maybe they need protecting but not really
um it's not like they took some dude's like tiny side project and like stole it from him like they
would never do that because there's no upside so like the you know i i don't think there's a ton of people that are saying that they
think it's net positive it is a net positive um and it's ridiculous in my point of view to think
that it's not but it's a very easy story to tell that the bad guys are coming to take your jerbs
for sure you know like uh like even describing why it's good for you like the number of things
you have to understand in order to follow the logic is quite a bit.
Like, do you understand business and channels?
And like, you know, like most people don't.
Like unit economics.
Like I just described unit economics to a friend of mine for a different conversation a minute ago because we were having a conversation about why can a company be so big if they don't turn a profit?
And I'm like, oh, it's because they do turn a profit
on a per unit basis.
They just are spending more money than they have
in order to generate more units.
And it's fine, but it's a little mind-blowing
if you don't know.
But presumably these companies that are raising the fuss
and switching licenses, they have business people there that
should be able to follow this logic oh sure they like i wonder yeah they can wonder like but they
but they won't you your but your your take was convincing to me as an outsider with no dog in
the hunt and like just like a basic understanding of business yeah open source yeah i'm like okay
i can see where that could actually be a win yeah um i wonder if you're i i'm excited to hear this show go out and see because you know people are
going to listen to it other people who are closer to the problem so to speak like will resonate with
them i don't know if it will say yeah i mean it does with some subset of them but i think you know
when you're when you run a business your lens is very rarely as strategic as I was just describing.
You know?
Like the day-to-day running of the business is about, like,
did I make the quarter, yes or no?
Did I grow at the rate I wanted to?
How's churn doing?
You know, like there's this list of things you're staring at.
And the feedback loop you get from your own sensor network is, you know,
your sales reps and your marketing people and, you know, engineers in the field.
And their lived problems very rarely also are about, hey, you know what I need is a bigger channel.
Like that's a very abstract piece of business versus I'm having trouble selling.
Like it's very concrete when a sales rep says to you i lost this deal because
they went with aws exactly and so as a ceo you have a chart in front of you and what it says is
lost like deal lost and then it was like to whom aws and you're like those guys you know right like
i don't need those guys at all um those guys are the enemy and so like i have i
100 understand why they would say that they're the enemy because there is a chart in front of
you that you get and you stare at it every day and there's a column and it says win or lose and
if it says lose you want to know why the answer is aws and you are like that was my money um now i think you're looking at the wrong part of the pie
but uh but i get how you got there like i understand how you found that place
that that gets linked to moral outrage is fascinating to me because like there's nothing
worthy of moral outrage here like these are billion dollar companies fighting over the win loss column and
that we would decide one is a champion of my rights and the other one is a
freeloader. Get out of here.
Like they're both companies putting their hand in my pocket.
There's nothing like neither of these people have my interest in heart when
we're talking about whether or not I'm in the win or the lose column.
Like, and like that part, I just, I find fascinating. Like it's like that we would
defend Mongo on moral grounds from the enemy of AWS. Like, like that's a story only,
only someone who has a deep investment in Mongo's continued up into the rightiness would tell.
This talk you're giving, given this keynote what's your goal
like is it prescriptive is it descriptive what do you when when this is over yeah what do you
want people to do with this information you share the story you tell i mean i'll be honest with you
i'm a little struggling with it right this second because i which i probably shouldn't say i should
probably make it like a David Copperfield
thing and be like, I always do that right out. But like, you know, they can't, nobody can see
the screen. But there's like, my talk is, the way I write talks is I write them longhand first,
like on like in a notebook. And then I turn them into sticky notes,
whether they're like reminders about the stories I want to tell. And then I move the sticky notes around until I get to the end. And my, my current struggle is that I don't,
I don't have a call to action that is like, go join the SFOSC website. Do you know what I mean?
Yes. And I, I could do that. But the truth is that that thing is so strongly my own point of view about how we would create
the world I want to see.
And the conversation I actually hope people have is, what is the world I want to see?
Like, I think most of the people at that OSCON room haven't spent much time thinking about
what they want from the software they participate with
other than i wanted to do the thing it does right i i want i want mongo db to mongo i want redis to
redis i want nginx to be nginx but there's a deeper question that i hope people ask themselves
which is what do i want in my life from this thing do I want nothing from it because I'm totally satisfied?
And like, then fine,
just take NGINX and run a web server.
But is what I want a better career?
Is what I want friendship?
Because there's friendship to be found, right?
In inside those communities,
there are people to know
and to have real true relationships with
where they'll be glad to see you.
And they'll like,
listen to you when you struggle is it uh is it money like what is it and can you get it from these places and and if not why not well thinking is an action too you know so i think
giving this kind of talk and if your only desire really is to make people think
would be action enough.
I hope so.
Because when I think about a direct call to action,
I feel like I'm contravening my own point.
Tell you what, I got a free one for you.
How about this?
Hit me.
At the end, say go to changelog.com and subscribe to the Master Feed and listen to our podcast.
There you go.
That's easy.
I'm not a sequitur.
That's easy.
Yeah, because I know what you need right and the community like
i get i get value because i'll come listen to the show they'll be like i sure like that guy's
15 minute keynote i should go listen to 60 minutes of him babbling on that's right like
i can dig it um yeah so like your consideration yeah yeah my struggle with the keynote right
the second has not is not the middle.
The middle is pretty solid, but man, how to end is tough.
Now that I know that the ending is slightly open-ended at this point,
I'm twice as excited to sit and listen.
I mean, you know the point.
But yeah, how I'm going to wrap it all up, I think, think remains to be seen yeah see what we've done here
with this episode is we've really increased your funnel the top of your funnel for this keynote is
huge that's what i'm saying like it's actually bigger than it was before and this is why you
should share this is also why you should never like if you're as a like free business tip since
we've been talking about business with a with a b it's why you shouldn't hide your business idea from other people like you should just tell everyone because you'll all you'll get
is better feedback like you'll just learn more i now know i could end my talk with a changelog joke
and at least some not a joke with a changelog ask that people would make people laugh and then once
that happened there would be some subset of the audience who would be like oh man i heard that show and like i remember when they did that that's funny he actually worked it in
the rest of the audience would just be confused i'd be like wait why am i subscribing to the
change log but like what is this i don't know now you have to do it yeah well yeah now look it's
definitely going into my last slide i don't know like i do i have a choice now i kind of feel like
i don't now we cornered you for sure.
Yeah, no, no. It's fine because we share values.
There you go.
Well, Adam, it's been fun hearing this journey of yours. And in particular, I would say how
deeply you think about, you know, not just the software, but the community. And, you know,
as you've described the soul of open source, I think that's something that it seems like going back to
the basics almost, you know, like you challenge people to consider why are you even here and what
do you get out of it? And I think that people need reminded of that kind of perspective. So
Adam, thank you. Oh, it's my super distinct pleasure. Thank you for having me.
All right. Thank you for tuning into this episode of the
ChangeLog. Hey, guess what? We have discussions
on every single episode now.
So head to changelog.com
and discuss this episode.
And if you want to help us grow this show,
reach more listeners, and influence
more developers, do us a favor
and give us a rating or review in iTunes
or Apple Podcasts. If you
use Overcast, give us a star. If in iTunes or Apple Podcasts. If you use Overcast, give us a star.
If you tweet, tweet a link.
If you make lists of your favorite podcasts, include us in it.
And, of course, thank you to our sponsors, Linode, GoCD, and GetPrime.
Also, thanks to Fastly, our bandwidth partner.
Rollbar, our monitoring service.
And Linode, our cloud server of choice.
This episode is hosted by myself,
Adam Stachowiak and Jared Santo.
And our music is done by Breakmaster Cylinder.
If you want to hear more episodes like this,
subscribe to our master feed at changelog.com slash master,
or go into your podcast app and search for changelog master.
You'll find it.
Thank you for tuning in this week.
We'll see you again soon.