Founders Talk – Episode #97

Refocusing Docker on developer-first and growth

with Scott Johnston, CEO of Docker

Featuring

All Episodes

This week Adam is joined by Scott Johnston, CEO of Docker. Scott shares his journey to the CEO role, how he’s leading the company to not only grow revenue, but to also invest in developer facing features, their shift from a enterprise sales focus to a PLG driven model, and we even talk about Docker Desktop, the competition it faces, and the struggle they face when considering making it open source.

Featuring

Sponsors

Typesense – Lightning fast, globally distributed Search-as-a-Service that runs in memory. You literally can’t get any faster!

FastlyOur bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com

Fly.ioThe home of Changelog.com — Deploy your apps and databases close to your users. In minutes you can run your Ruby, Go, Node, Deno, Python, or Elixir app (and databases!) all over the world. No ops required. Learn more at fly.io/changelog and check out the speedrun in their docs.

Notes & Links

📝 Edit Notes

Chapters

1 00:00 This week on Founders Talk 01:06
2 01:06 Sponsor: Typesense 03:15
3 04:21 Start the show! 01:51
4 06:11 Scott's journey with Docker 02:52
5 09:04 Getting the attention of the board 00:50
6 09:54 First sucessful time as CEO 00:21
7 10:15 This is a resurgence! 03:45
8 14:00 Pivoting to a PLG focus 06:09
9 20:09 Struggling to monetize open source 03:16
10 23:26 Open sourcing Docker Desktop? 04:57
11 28:23 Business model of Docker today 05:17
12 33:40 The future of Docker 03:14
13 36:54 The Free Team plan snafu 05:23
14 42:17 Competing with Docker Hub 05:30
15 47:47 2022 acquisitions 05:27
16 53:14 AI and Docker 04:59
17 58:13 Closing out the show 01:00
18 59:13 Outro 01:32

Transcript

📝 Edit Transcript

Changelog

Play the audio to listen along while you enjoy the transcript. 🎧

So I’m here with Scott Johnston. Scott, I’m so excited to talk to you. Big fan of Docker, big fan of this new Docker, I suppose… So welcome to the show. Welcome to Founders Talk.

Thanks so much, Adam. I’m a huge fan of your show as well, so right back at you, and it’s an honor to be here and to get a chance to chat.

I was excited to hear that Changelog is in your podcast feed. We’re like the Docker Desktop of podcasts, right? We’re on as many developers’ ears as possible. I feel like we’re kind of a Docker Desktop in a way, which is kind of interesting.

Love that. Love that. Yeah, the developer community is so, so widespread and diverse, and so many different types of developers and types of languages… But I feel Changelog kind of speaks to the core ethos, if you will, of developers. And that’s why I enjoy listening to it, even though they haven’t let me touch live code for decades at this point.

Well, that’s a bummer. That’s a bummer. CEOs who code are always awesome.

The world is probably safer that I’m not touching code. I do, in the advent of code every year, I do kind of whip out my own editor and such, and try to stay abreast with our engineering team, but… Trust me, I’m glad that they’re winning that one.

Well, we have lots to cover in the show, we’ve got limited time, but I do want to give our listeners context to you. Sometimes people will just use the tool, just use the software, and not really pay much attention to the people behind things. Now, you came to Docker by way of Puppet in 2013, so the earliest days of earliest days for Docker. I think Docker was open sourced in 2013, I think like May, roughly…

[05:59] And we actually had Solomon on this network - not this podcast - around that same time. So we’ve been in the trenches with you, and with Docker, and with Solomon, and with everybody really involved. I don’t know if Solomon is not still around, but take us into your particular journey with Docker. I mean, as far back as you want to go. I just want to give context to who you are, as CEO now, but you didn’t obviously start as CEO, you started in product, so give us some of that depth.

Yeah. I’ll try to make it brief, not drawn out, but guide me along the way. So I actually started as a developer; that was my first gig, actually, while I was still in school. And my first paying gig was doing Fortran for one of the universities. But I was always fascinated – so rolling it back even further, I first learn to program BASIC on a TRS-80 in the neighbor’s house, and then Apple 2 in the school, and I eventually pestered my parents so much that they finally got an IBM, the first IBM PC. And I remember I was just being fascinated by two things. One is the democratization. You know, a kid can’t formalize this at the time, but just such powerful technology in the hands of everyone. I thought that was crazy, crazy exciting.

The second is, it was magic. Type in a couple of lines of text, and then that turns into a thing. That thing works, and runs, you compile it, it goes… I just remember “Well, I can sit as a kid in high school and just bang out some lines of code, and I can do music, and I can do science experiments, all through this magical device.” That has stuck with me since the beginning.

At Puppet we were very much trying to help developers and ops get along, DevOps, and trying to help expedite the movement of code into production… And as you said, Docker was open source March 2013, and that summer, so literally a couple months later, while at Puppet, I saw Docker start to show up in the Puppet accounts. I was like “Oh, what’s going on here?” I dug in, I’m just like “Ooh, this is gonna change things…” And six months later, February 2014, I joined Docker as an employee. I was one of about 20 of us. So Solomon was the CEO at the time, and then everyone else was kind of an open source engineer. And that’s where the journey began, for me at least, in Feb 2014. Head of Product, as you said, and had a number of different product roles…

And the company had ups and downs, and probably not enough time on the podcast to go through the whole history, but long story short, we had an okay business in 2019. It wasn’t a great business, and importantly, it wasn’t really benefiting from the love that the developers had of the product, and had of the experience. We were all focused on ops, and data center deployments, and production… And those are good problems to solve, and there are fantastic companies solving that problem. But we arrived at this point in 2018 where we decided, “Hey, what if we stood back, divested the business of this part that isn’t working great, and instead turned around and focused just 100% on developers? What if we just did that, and just really just served them, and served the user experience, how they want to consume technology, solving their problems? Wouldn’t that be an exciting opportunity?” And the board asked me at the time to step in and serve the company from a CEO, from product to CEO.

You speak of that as if you led that pitch? Was that your pitch to do that? Or how did you get the attention of the board to become CEO? How did that happen?

No. So again, I don’t want to take any credit. We had discussed a number of things to do with the company, and I can’t get into too many details about all the different things we considered… And one of them was “Hey, there’s all this bottoms-up consumption going on over here that we’re ignoring, and we’re not paying attention to this. And there’s all this love that we can see in the social media, and in developer comments…” And it was more of a conversation, Adam. I don’t want to say that I pitched the board. It was a conversation, the board said, “Well, Scott, what if we focused on that? Would you be willing to serve as CEO in focusing on that?” And I was like “Wow, that sounds challenging, exciting, stretching, growing… It sounds like a really exciting opportunity.”

You’d never been seen before, right? This was first time CEO for you?

I had never been a successful CEO. I had pre-Puppet going up and down Sand Hill Road, the VC corridors, pitching three companies, none of which succeeded or got off the ground… So no, CEO and maybe name-only back then, but this was the first time I was CEO of an actual working business.

[10:15] Gotcha. Well, it’s definitely been a resurgence… I mean, simply, if you just look at revenue only, it’s a resurgence, right? I mean, very little revenue in the days you mentioned, 2018 era, challenging to monetize the product… Not impossible, but challenging. And quite the turnaround by simply focusing on where the love was coming from, which was developers, as you said, bottoms up. And I joked about we’re the Docker Desktop of podcasts, because - I mean, you’ve got a 20 plus million install base right now… That’s just rough numbers. I don’t know if that’s how true or accurate that number is. But that’s a lot. When GitHub was acquired in 2018, I think they had like 30-ish million, or something like that. I mean, you’re in a sweet spot right now, and on a lot of developers’ desktops, whether it’s Mac, Windows or Linux.

That’s right. So we did have a good growth in revenue, but really importantly, I think it’s important to share with your listeners that the growth in revenue allowed us to fund additional investments in the developer experience. And so even that top-of-funnel number you cited, that almost doubled since we started in 2019. So it was – I wanna say 12 or 13 million back there. Now, as he say, it’s up 20 million monthly actives. And so it wasn’t just focusing on the monetization piece, it was also like “How can we invest in additional developer-facing, exciting features and capabilities?” So what’s a simple example that? We brought Docker Desktop from Mac on x86 to Docker Desktop on Mac on ARM. And that took considerable investment, to make sure we were right there when Apple had those ARM MacBooks ready to go, that we are on it within – I wanna say within a month we were ready to go and fired up.

We had invested a lot in Build. BuildKit is one of the popular technologies we have, and BuildKit allows developers not only to build locally, but also build in a shared cache with their team. So you get a lot of speed; instead of taking 20 minutes for your build, you take two seconds by using the shared cache.

So my point in this, Adam, is that we wanted to make sure we are serving the developer community top to bottom, both the upstream open source freemium devs, but also those who are in large organizations and who pay us for the license of Docker Desktop.

The biggest change that I can understand with – let’s just call it Docker 2.0. I think that’s been termed out there for you all. Do you take that term happily, or is that “Ehm, I guess it kind of makes sense…” Docker 2.0?

Yeah, Docker 2.0 works. They call it the evolved Docker, perhaps, to kind of give credit where credit’s due… Because we’ve built this latest chapter, the company, on the shoulders of those who came before. I mean, Solomon did a fantastic job, that to this day we continue to benefit from. This previous has CEO has built up the company, hired some fantastic talent… So we want to recognize that the assets that that team developed gave us the basis, gave us the opportunity to kind of grow our new business in the last three and a half years.

Yeah. I look at it like in many ways Docker today is a roughly – this is how I look at it, at least, and you correct me if I’m wrong… But roughly a 4.5-year-old company, with a 10.5-year tech advantage. You’ve been out there for quite a while, but the current revenue - and if we just simply… This is a business, right? Not just open source, but a business, and a thriving business. We look at this new, this evolved Docker, Docker 2.0 - however anybody wants to term it - either way, it’s very much a different, even a business, even a revenue, and even a headcount perspective. So in many ways, the underlying tech won the hearts and minds of developers, DevOps, unified deployment platforms… I mean, so much technologically… But as a company, I would look at you at like kind of like a 4.5-year-old company, roughly, in terms of this newness, this new revenue model. You totally pivoted, you totally flipped the switch in 2019. Can you speak to how you changed in 2019 from an enterprise, salesperson-focused direction to this PLG version of it, which is private-led growth, essentially (that’s what the terminology means for that), to now… Be it - I think last time I checked $135 million in revenue. How did that happen? How did that choice get made? You were the new CEO in 2019. How did all that kind of come into fruition?

[14:25] Yeah, yeah. So a lot of pain on the frontend of that. So when we did the divestiture recapitalization, the pivot, we unfortunately cleaved off a whole set of commercial technology. The Docker Enterprise Data Center, Product Data Center and Production/Product - we unfortunately had to say goodbye to 360 employees. So we went from 420 employees down to 60. And that was incredibly painful. And we also – we sold off all the customers. So we had 600-some customers that had revenue associated with it, and all of that went to a buyer.

And so as painful as that was, it was intentional in the spirit of letting the company shed its past, and just simplify and focus on the needs of developers. Because as you know, there’s no such thing as one and done. You always have a customer you have to take care of, or a legacy code you have to maintain… And we just knew we couldn’t make forward progress if we brought all that along. So we had to say goodbye to all that.

And then we really got back to basics, Adam. We knew that with that type of severe pivot, that we had to take care of the people first, the employees first… And so we really made sure we communicated early and often with the remaining employees, we sat down and started rebuilding our culture… And we really thought about, “Okay, what is important for us as a team, as we go on this next chapter of the journey together, with the pain of the pivot kind of sharp in everyone’s memory?” And so the first virtue we came up with is like humility. We wanted to be able to acknowledge our mistakes, listen to our community, listen to each other, and really be honest with ourselves in terms of what we’re seeing.

The second though, maybe to your question, was developer obsession. And that second virtue started as customer obsession, and we said, “No, no, no, that’s not sharp enough.” And so within a month, we said, “It’s developer obsession.” And virtues, as with other values, other frameworks, other companies use, they’re designed such that executives, CEOs don’t have to be in the room for employees to have guideposts and guidance in terms of what direction. So I’ll be in the room, and employees will ask, “Well, is this developer obsession?” “Let’s talk through that. What does that mean in this decision, or this feature, or this trade-off that we’re trying to make?”

The third one is open collaboration, and fourth is bias for considered action. And then the bias for considered action is there because we were at 60 people again, and we had an opportunity to move quickly, to listen, and make decisions. And we wanted to take advantage of that small size.

And so that was the start of it… And then we also were very transparent and humble and vulnerable with the community, particularly the Docker captains, who are kind of our Uber community members… And we sat with them and said, “Okay, developer obsession, serving developers… As you touch with products, and as you work with the community, what are you hearing that needs to be addressed? What are you hearing that we need to focus on?” And so really - I mean, it sounds kind of obvious, Adam, but it took a lot of work, and focus, and saying no to potential distractions, to focus on these points… And thereafter kind of flowed the product roadmap, right? We’ve found ways in which we needed to smooth rough edges off the products, we found things we could do to improve the product experience, entirely new products… And then on the go-to-market side, we knew that developers don’t want to talk to salespeople, developers don’t want to have contracts, and paper going back and forth… And so we very much focused on a self-service, credit card-based bottoms up, where if they wanted more value than was in the free product, they could swipe a credit card for five bucks a seat a month, and if they wanted value for a team, which typically is like private repos and additional security management, they could swipe their credit card for $9 a seat a month.

[17:56] So hopefully you’re hearing an intentionality of both features that serve developers on their day to day, but also a go-to-market model that respected where they were, and gave them the freedom to make economic decisions on their own timeframe, was really the impetus and the way we kind of jumpstarted things three and a half years ago.

And maybe just to zoom back and share with you kind of where we are, that we’re holding both those true - both the monetization, as well as the community. Another stat is we have about 14 and a half registered developers. So the 20-some at the top of the funnel are anonymous, a subset of those registered with us, 14.5 million registered with us, about 1.1 million of those are subscribers, meaning paid seats across pro team and business, which means 13-some million are still using the free product, the free open source, which is entirely by design. It’s entirely like “Hey, have at it, have a great time. If you find there’s additional security management features that you find valuable, swipe a card and go.”

So I wandered a little bit there toward the end, Adam, but hopefully that shares with you kind of where we were three and a half years ago, and how we set about restarting this next chapter.

Yeah. Well, I’m trying to get clarity on the struggle really, because - I mean, four and a half years old, if you agree with my terminology, four and a half year old right now, since the change in 2019… You’re really much in a new pivot of the business. So in a lot of ways, like you said, you had to shed a lot of what was incorrect about the direction of the business, and there’s a lot of hard choices in there, and a lot of change for folks involved in there… And of course, that’s very hard for everybody to go through. But for a business survive, you have to say no. What you did was you shed the distractions, so that you can focus. And you can’t focus if you’re distracted, right?

That’s right.

And I’m trying to bring clarity, obviously through this questioning, because today there’s a lot of shake-up, I suppose, around Docker. Especially Docker Desktop, there’s a lot of - I guess there was some recent concern about it not being open source… And in 2021, whenever you changed some of the revenue model, there was a lot of pushback, and negativity, and there’s spin-off open source versions of Docker Desktop, Podman… I think I just saw one recently, was like OrbStack… Which is great; like, you want competition. But what I want to speak to is I suppose this struggle to – and obviously not struggle, because you’ve got great revenue now, but just the struggle to monetize your product when it’s open source, when it’s perceived as open source. Docker Desktop was free for so long for pretty much everybody, and then you said, “Well, we have to learn how to make money in this new pivot”, right?

And in 2021 you made that change. Can you speak to that struggle and that change, and how that got you to where you’re at now, from a revenue standpoint?

Yeah, there’s a couple of good threads in there. First is Docker Desktop is an engineered product that includes many upstream open source projects. So it includes Docker Engine, which is open source, it includes Docker Compose, which is open source, it includes Docker Build, which is open source. It includes Kubernetes Stack, which is open source. And so they’re all alternatives today. In fact, you can use our very same open source tech to stand up on a Linux VM on your laptop, whether Mac or Windows. You can today take all those open source components and build a proxy, or a close approximate user experience around some of the tools.

The closed source nature at the time was really focused on the integration of those open source components with the local file system networking compute on the Mac and Windows. There’s a lot of hardcore engineering in there, and we thought that was valuable, and so hence the reason we closed sourced it. But the real driver that you’re referring to in 2020 was really - there’s a developer experience part of a laptop, or of a local experience, but then these large organizations need tools to manage these environments at scale. So what’s a specific example…? Single sign-on. Single sign-on is something large organizations use to kind of authenticate, and keep track of their users and their various assets… It turns out, at least in our experience, most developers don’t care if single sign-on is open source or not.

[22:00] So that’s an example of what became a closed source feature for the large business customers, who were happy to pay for it. Well, notice that that doesn’t take anything away from the end developer experience, which is still free, and if free in Docker Desktop isn’t sufficient - because I mentioned before, 13.5 million are still using Docker Desktop completely for free…

For sure. It’s a big free base, yeah.

…then they can just reassemble that experience from the open source tools. And so the monetization was geared not towards monetizing the developer, but monetizing the managers and the security folks who have budget for paying for features to help manage and scale out these development environments in large organizations.

So SSO was an example. Another example, just to, again, be concrete, is support for virtual desktop. So VDI. So VMware has a VDI stack, Citrix has a VDI stack, Azure has a VDI stack… And in large, regulated industries like financial services and healthcare, they don’t allow developers to have laptops; they have VDI, because they don’t want the laptops to walk home at night. And they don’t want the code to walk home at night. And so that’s an example of a manager-facing feature, an enterprise-facing feature that is monetized in the subscription, but most developers don’t care about that. So we’re not trying to monetize the end developer by that.

So I’ll pause there, Adam. Hopefully, that gives a couple examples of the monetization is geared towards managers, not geared towards monetizing the end developer directly.

I guess where I struggle, I suppose, is not to say, “Hey, Scott… Open source, man… You’ve got to open source this thing.” It’s not about that, really. It’s about - as I have researched your story personally, and I’ve researched Docker’s story as an organization, I see more and more how important your current growth has been in regards to Docker Desktop; how important that tech is. And if it is ubiquitous, so Docker has won, it’s very clear in terms of how you deliver applications to production, how you run things… I mean, I use Docker daily. My Plex server runs in Docker. Thank you so much, by the way. I love that. I mean, you’ve made hardcore tech that’s just impossible for folks like me… I’m not in DevOps. I’m a developer, but that’s not my normal thing. But I find fun in homelabby things, and tinkering, and stuff like that… That’s my exposure to this ops world, so to speak.

The point I’m getting at, I suppose, is that it seems to me that Docker Desktop is like paramount. It is the bedrock of everything you’re building upon. And while I understand and I hear you on single sign-on and these other features… And I’m not even saying “Hey, be open source” necessarily, but I wonder why – you know, you have these competitors who want to come in and “We need an open source version of Docker Desktop.” Whatever it might be. And the easiest way to squash that would just simply be to be open source. Did you consider BSL license, for example, if you need to have protection? Did you consider the licensing? That’s what I guess I don’t understand. Can you speak to the struggle of that choice?

Yeah, it’s a good one, Adam, and it’s one that we spent a long time, not only internally, but talking with community members, talking with a lot of folks in different parts of the community, on the DevOps side, on the developer side, in different parts of the developer world, open source developers, as well as developers who have built commercial products… And the long and short of it is that we felt that because Docker Desktop was still available for free, that that would give the community - call it for like 99.9% of community - kind of everything that they still desired. Because as you know, there’s a power law of contributions on the internet. So 90% can kind of read only, consume only, 9% might make a comment, and actually 1% actually contribute. So if it’s that 1% that are contributing to open source, and the fact that Docker Desktop has a very large surface area of open source technologies already - I listed them off before - we felt the combination of free Docker Desktop and the fact that it’s based on open source technologies would be a big enough surface area for the open source and the free communities to still get what they need from the product.

[26:07] And I guess standing back, the data suggests that - maybe not for everyone, but call it again 99% were there because of the… Was it 14-some million registered developers with us, 13 and a half million are still using Docker Desktop for free, in the upstream technologies - Docker Engine, Docker Build, Docker Compose… All that being used completely for free. And contributing to them as well.

One of my execs has a phrase, “Reserve the right to be smarter in the future”, and so we’re always listening, we’re always trying to gauge like “Okay, where’s that balance? Does it make sense to open source other surface areas further?” And so we reserve the right to be smarter in the future, but right now, kind of with 13.5 million using Docker Desktop for free… And Docker Engine, to give you another stat - Docker Engine is downloaded 30 million times a month.

30 million times, just the container runtime.

Several of those are me, a month… Standing up a new image, or tinkering, or something like that… Yeah.

BuildKit, which is a subcomponent of the stack - BuildKit is downloaded 30 million times a month. So I don’t know, it feels like we’re in a good place. And yes, there are legit competitors, who we have nothing but respect for… But given the scale that I shared with you, it feels like we’re in a good place for a balanced standpoint.

For sure. I think my line of questioning is less, again, back to “Hey, Scott, just open source it”, but more like it’s so important, and to fully own it. And sometimes in business we welcome competition, because competition helps us to level up, and sometimes it kind of sucks, because they beat us and they win. And Docker’s had shares of that over its lifetime. We can talk about that as well, but… I guess my thought around it is, “Would finding a way to open source it in a way that still allows you to capitalize and commercialize be smarter, because it disables the ability for competition?” Because it’s just so ubiquitous. That’s my line, that’s my angle.

Yeah, and it’s a fair question. It’s a fair question. [unintelligible 00:28:09.18] something that we return to early and often.

Yeah. I guess you reserve the right to be smarter in the future, right?

Every day. Every minute of every day.

[laughs] That’s the beauty of it. Okay, so let’s swing then, I guess, to your plans for revenue, how you make money, what is the business model currently. And the reason why I’m camping there is because we spent so long for Docker to be essentially free. And now it’s not necessarily free, or Docker Desktop, or Docker Hub, or however you slice it… Can you explain to me, since 2019, and then in 2021, when you kind of introduced pricing and you enforced a lot of things new to get you to where you’re at revenue-wise as a company - can you help break that down? What exactly is Docker’s business model today?

Sure. And maybe to qualify the statement - you’re right, it’s no longer free for everyone 100% of the time. It’s still - of the 14.5 million registered developers, 13-some million of them are continuing to use it for free, while 1.1 million seats of Docker Desktop are paid-for seats. Which is still well over 90% using it for free.

It was zero before, right?

Well, it was zero before.

That’s right.

So you had 100% free before, and now you have 90-plus percent free right now.

For sure.

So it’s still a good free base. But to your point, really, the way in which we had to change - because before our packaging pricing was very much geared towards datacenter, operations and servers… And so we said “Wait a minute, that’s not how developers and their managers pay for things.” And so we pivoted to a seat-based model. And so those that aren’t using the product for free, the 1.1 million - they’re paying for our per-seat basis. That price is at $5, $9 and $24 a seat a month. And then for those that are consuming a lot of Hub content - and the official images on Hub are very, very popular, because they’re trusted, they’re maintained, we have a good relationship with upstream to make sure that they’re always clean and free of vulnerabilities…

[30:12] For those who are consuming a lot of those, they can buy additional capacity and kind of a consumption model, above the kind of base $5, $9, $24 price. And so broadly speaking, that’s the businesses that organizations will buy on a per-seat basis, and then if they want even more capacity, more consumption, they can kind of buy additional chunks of consumption on top of that.

Now, into that - and that’s kind of the core Docker Desktop, Docker Hub base or a product. On top of that, very exciting to release new products recently, that are add-ons to that. And so we released a product called Docker Scout, which allows developers to have insight right there, and then on the laptop of what is going on inside that image; so they can go through the layers, they can see different packages, they can see the different vulnerabilities that they might be susceptible to… And then similarly, to help devs with development of Kubernetes-destined applications, we introduced a product that allows them to share a Kubernetes cluster with their colleagues without having to become Kubernetes YAML PhDs.

And so those are examples of – and both those, by the way, have free experiences, Adam. So there’s a way to kind of get a lot of value for free, but if you, again, want to use it at scale, and if you want additional features that plug into the management and security features of large organizations, then that unlocks a pay-for motion, again, bottoms-up, that is based on developer needs, versus any sort of top-down sales push.

Do you feel like you have to apologize for making money on top of open source as a person, like CEO of Docker? Do you feel like you have to apologize for that?

Apology is an interesting word. I feel that we owe it to ourselves and to the community to explain the why behind it.

For sure.

And that if we agree - and you said this before, which I appreciate, that Docker has become a ubiquitous part of the modern application compute fabric… In order to continue to do so and continue to innovate for developers, whether it’s free or not, open source or not, we need to be able to pay our engineers salaries; we need to be able to have a sustainable company. And so in order to have a sustainable Docker, that means we have to have a monetization model that allows us to hire engineers, and invest in that core technology.

So it’s less about apologies and more just – I think when something has been so ubiquitous and free, and the perception of the positioning has been open source, everything open source all the time, and if we expect the community to continue to support us in this sustainable Docker journey, I think it’s a fair burden on us to kind of explain the whys behind it.

Right. I mean, that’s like 99.9% of why I wanted to have you on the show, because I’m like, there’s just so much detail behind this… When I look at the different tea leaves that are out there around the sentiment of Docker, and this 2.0, this evolved Docker, it seems – there’s some people who say “Bait and switch.” I don’t think that’s true, obviously. I don’t think it’s wrong to make money on open source. I think you should have a very clear relationship with the license, and the user, and all those different details… But half of the battle for this conversation I wanted to have with you, Scott, was just helping to understand this open source world we live in, and that everything isn’t necessarily free for everyone, as you said, all the time. There are circumstances… And obviously, if we want Docker to be around 10 years from now, 5 years from now, whatever the number is, given its current ubiquitous nature, we have to have a Docker business that makes money. And for a while there, you were making not as much, and now you are making quite a bit… Can you speak to how this change has changed the company, both from a revenue standpoint, but also, as you said before, an investment standpoint? …being able to invest in new tooling, as you mentioned. Docker Scout, and other – I’m sure there’s privacy and safety features coming out that’s involved, and like trusted images etc. Can you speak to how this has reshaped your revenue landscape, but also the ability to invest in new product and new teams and new things?

[34:07] Yeah. I appreciate the question, Adam. It is geared exactly towards this symbiotic, if you will - not to use a big word, but it’s how is this coherent with the ecosystem. So maybe to put a point on it, we had 60 people when we did the reset, the pivot, and we’re now back up over 300. And more than half of those are in R&D, meaning like we are taking the proceeds from this commercialization, flowing them into R&D, that is in return developing new developer-facing features and functionality that helps developers with additional productivity, additional security, additional portability of their applications.

We talked about the Mac M1s before, the ARM technology… If we look at BuildKit, which is multi-platform, so the same Docker file can produce x86 ARM, even RISC-V and IBM 390 binaries… We’ve done a complete rebuild of Compose to make it much faster and much more responsive to developers… And I can go down the list.

And in doing so, we think that it is both growing the developer community because there’s more and more devs coming into this market… 27 million devs, going to 45 million by the end of this decade… And what we see is - and you’ve referenced it at the top of call, Adam… Docker can be pretty complex, and we see that are our responsibility is to keep lowering the friction for new developers coming into the market, to get up to speed, onboard, and be productive. And that’s first and foremost to grow the community. And then if a subset of them come down and say, “Hey, I need those management features and security features”, great. But first and foremost, it starts with growing the community.

A specific recent example - in the last couple of releases we’ve launched something called Docker Init, which very deliberately patterns off of other XYZ inits out there in the developer world, where you point it at a directory… Say you’re a Python developer, you point it at your directory, do Docker init in that directory, and we automatically generate the .dockerignore, automatically generate the Docker file, automatically generate the Docker Compose file. And those - because we’ve heard from the community that “Hey, I’m getting my head around Dockerfile”, or “Hey, I’m getting my head around Docker Compose. That’s a high bar for me to get on-boarded.” So we’re like “Okay, let’s provide some automation tools.” And what I’ve just shared with you, Adam, is 100% kind of free. It’s just like “Hey, help get up to speed.”

So that’s an example of how the commercialization has allowed us to invest in developer-facing value that is first and foremost about growing that developer community, helping them onboard, helping simplify their experience… That is first and foremost how our business works, and then again, if they go and work for an organization, that organization needs security, manageability and observability, then there’s a paid-for a set of features for them as well.

Yeah. Can we talk about the recent – I won’t call it a blunder… I guess change of direction; the reversal of the free team plan. What happened there? What exactly – was it communicated wrong? Was it a wrong decision? What was that?

I think it was a decision that was well-intended, but wasn’t fully informed. And that’s on us. I’m not saying that someone else was responsible for informing us. And what I mean specifically though is that there is actually a fantastic product for open source projects on Docker, being distributed through Docker Hub; it’s called the Docker Sponsored Open Source Program. It’s a really strong product, meaning it’s got no rate limitations for any of the users pulling images from their accounts, it has a preferred results that pop up in the search as developers are doing searches for content… So if you’re a Docker Sponsored Open Source, you appear higher in the results… It’s got a badge associated with it, so users that are crawling over Hub can see that “Oh, that’s legit.” And it also gives those publishers publishing stats and analytics so they can see who’s using it, or how it’s being downloaded, what’s popular tags, and such… So it’s actually a much better experience than just kind of the free team product that was out there.

[38:09] And the intention was to guide those users, which is about less than 1.8% of the overall base, but it was, as we found out, a very vocal percent… Our intent was to guide those users to this better product. We didn’t fully appreciate how difficult that was for them from a tooling standpoint, we didn’t fully appreciate the breadth and depth of the surface area in the open source project community… And as a result, after a week or two, we’re just this like “We made a wrong call here. We didn’t have full understanding of this community as we should have.” And hence, we reversed the decision.

Yeah. Well, sometimes things like that happen. You lose the goodwill of folks, and as you can see, they’re very vocal, those folks involved in that change. When you kind of mess with, in quotes, open source teams - well, that’s ruffled some feathers there.

And then obviously, you kind of open up the consideration opportunity for alternatives, which - if you want to speak to, I suppose, Docker Hub, and then as it relates to, say, GitHub Container Registry, which we’re users of… In that change, we didn’t – it wasn’t an emotional switch, but we switched from Docker Hub to… And it was actually really easy. It was just a string, essentially. So the change was rather simple for us in particular, but we moved from Docker Hub to GitHub Container Registry in that process. And it wasn’t because of that. I can ask Gerhard - who is our SRE on our team - why we made that change. It wasn’t emotional, it wasn’t because of “Ah, Docker, you’re terrible people. Come on, open source!” Nothing like that whatsoever. But the point I’m trying to get to is that when those kind of things happen, and you have those misunderstandings, or a lack of clarity for that kind of population for you all, change can happen. Can you speak to that, I suppose, that loss of goodwill potentially, and then how that opened up the opportunity to move to something else?

Yeah, we clearly were aware of that potential… And again, the intention, whether – they say the road to hell is paved with good intentions…

That’s true, it is.

Despite the intention being pure, we realized that was a risk. And of course, when we saw the community reaction, it hence led to the reversal. But I think what we’ve also tried to make clear is that we continue to invest extremely heavily in open source. It costs tens of millions of dollars to operate Docker Hub annually. And as we’ve talked about earlier, the vast majority of users, the 20-some million, use Docker Hub absolutely for free. And that’s okay. That’s more than okay. That is our contribution to this community. 30 million monthly downloads of Docker Engine, 25-30 million downloads of BuildKit, Docker Build… And then this Docker Sponsored Open Source Program, which again, gives away networking storage, preferred search results, analytics, all for free. And so despite the misstep, or the - I think you said blunder, which is appropriate as well - it hasn’t changed our commitment to open source, Adam, and it hasn’t changed our commitment to that community. And our ask, perhaps, or our wish, is that the community would acknowledge that we are continuing to contribute to it, and maybe give us some grace in being an organization that’s not perfect, being filled with imperfect humans, that every once in a while, despite best intentions, we can misstep.

For sure. And that’s, again, 99.9% why I wanted to have you on the show, is because there’s just so much humanity behind businesses; we often just look at the specs, and the line items in the free plan versus this plan, or that plan… We scrutinize those things and we forget about the humanity and all the details involved. And I totally believe that you had the best of intentions… And sometimes you communicate those incorrectly.

[41:56] At the same time though, we also have competition. And I want to understand, I suppose, the state of Docker Hub. I know you’ve got a lot of – you mentioned the open source program; I’d love to examine that to some degree, if we have time for it. We’re probably 15-ish minutes out from the end of the show. So we have limited time and lots more to talk about. But GitHub has pros and cons with their container registry. It’s integrated into GitHub. But its con, I suppose, would be that you have to use GitHub. So if you use GitLab or something else that’s an alternative to GitHub - well, you have that registry. But this opened up that opportunity. How do you compete with GitHub at that level, with their registry? How do you see alternatives to the Docker Hub dominance?

Sure, sure. And look, it’s important that our Northstar be serving our users. And while it’s always healthy - you referenced this earlier, it’s healthy to respect and pay attention to the competition, because it does make you better. I’ve seen and been part of organizations that got that priority flipped around; they obsessed about competition, and users came second. And that can lead you down some unhealthy paths, which - we can talk about some examples if that’s interesting in the show… But focusing on why Docker Hub provides value, there’s a couple of things that are worth calling attention to. One is, as I mentioned, the free egress, free superior search results for publishers, free badges, free analytics for publishers, all by being part of this community… And I think the community part is really the second part worth underscoring, which is there’s 15-some million different repos on Docker Hub, and so by being part of the Docker Sponsored Open Source, you rise above that. And as being part of Hub, you’re now part of a community that includes 20 million monthly actives, that are actively searching through Docker Hub, looking for fantastic applications, fantastic content. And so we think those are pretty exciting for an open source project, and you see many of them launch on Docker Hub, and then social media, they’ll be pointing back to their repos, their applications on Docker Hub… And part of the community is the feedback mechanism and that conversation.

I’m sure GitHub and other container registries have fantastic communities as well. I’ll just say, ours is at a scale and at a - call it a critical mass that offers a lot of benefits to those who are launching new businesses, launching new projects there.

The last thing I’ll add is that if you’re part of our curated community members, Docker-Sponsored Open Source, Docker-Verified Publishers, or Docker Official Images, is that the ease of use from the Docker CLI, because of our ownership of the library namespace on hub - you can type docker pull, you don’t have to type library/ you do docker pull mongo, it just makes it easy to try new technologies. And when talking about our community, a lot of the value they get from Docker Hub is being able to come and very easily – and containerization in general helps with this, but they’re able to come to Docker Hub, discover and try new technologies just very, very easy. And that discoverability ease of try is a big part of the value of the Docker experience, and Docker Hub in particular.

Yeah. I know that this year as part of your security and safety focus here in 2023 - how does that ticker into Docker Hub in terms of… I think there’s terminology like verified images – I’m not sure; you probably know this, of course, because you’re CEO… But kind of gave me some of that safety mechanism and security mechanism into Hub.

Thank you. I’ll say the curated or the trusted open source content is something that was popular there, and it’s popular because developers have learned to trust it. And so the Docker Official Images is one of the three categories. None of the images through that program are less than 30 days old, meaning we have a very tight relationship with upstream, and that means from the latest functionality, latest vulnerability patches, latest – if you’ve got a CVE that breaks out… We work incredibly tightly or in tandem with that community to make sure that those images are updated, and fresh, and ready to go.

[46:00] In fact, when Log4j hit, Log4Shell hit, 15 months or so ago now, 16 months or so ago now, literally within hours we were working with upstream to have those images, that content refreshed and available, vulnerability-free. And some organizations that are relying on other images for their base images, still a year later, they’re still vulnerable to Log4j, Log4Shell.

And all that happens on our site with publishers; developers don’t have to do a thing, except just do the latest update, pull the pull latest image, and they get that security benefit of a clean, updated, patched image, 100% for free.

And so maybe just put a point on it from a staff standpoint, these three programs - Docker Official Images, Docker Verified Publisher and then Docker-Sponsored Open Source, which we’ve talked about quite a bit already - they represent about 2,500-some different repos on Hub, out of 15 million. But because they are curated, maintained and trusted open source content from these three programs, those three represent over 50% of the 16-billion pulls a month from Hub.

So a very small subset; a couple of percentage points represent the vast majority of consumption, because they are trusted, maintained, curated, clean.

And that’s important, too. Like, when you do docker pull, you want to pull an image that you know is safe, and secure, and has that vetting around it… That kind of thing.

That’s right.

That’s tremendous. And it takes a lot of work, I’m sure; as you mentioned, $10 million or more a year to run Hub, and –

Just Hub’s infrastructure. And then we have a whole set of fantastic engineers, and product teams who are working with our publishers and working on automation to make sure that the images stay trusted, or that they stay clean, they stay pure.

It seems though last year, 2022, was the year of acquisitions for you all. Can you speak to some of the moves you made? …even in this economic downturn, so to speak, as we’re going in. Did you go into those acquisitions with exuberance, or trepidation, in retrospect to now? Is there any concern? Speak to, I guess, the acquisitions you made and why you made those choices.

Sure. Sure. It actually pulls from a theme that we’ve touched on earlier here, Adam, which is as we started to commercialize, we wanted to ship even more value, faster, to developers, and we have a fantastic internal R&D team, but we knew we could do more. And so last year, we acquired five companies - about this time last year, actually… And that was all in the service of accelerating our roadmap for developers.

A couple of examples… The [unintelligible 00:48:35.21] team became the foundation of what is now Docker Scout. And so the system of record that’s based on graph technology under the covers, that tracks every package, every Git commit, every CI result, every test - it builds a graph of that image lifecycle from end to end. So Log4j becomes just a query, just to look up into that graph, and helps devs get real insight in terms of what the state of their image is, and where they need to take action to remediate.

We acquired a two-person company called Nestybox, and they formed the basis of the additional VDI stack that we talked about earlier, the VDI compatibility of Docker Desktop, as well as something we launched in the October timeframe called Hardened Docker Desktop, which provides a layer of security that prevents rogue, malicious containers from breaking out into the host, and breaking out further into the broader network of organizations.

Third is we acquired a company called Infosiftr, which had some fantastic relationships with upstream and fantastic automation around the making the official images even safer, and even more resilient, I’ll say, to attacks.

A fourth company called Tilt - it had just fantastic developers, that had really good sensibility around making Kubernetes easier for developers, and lowering the barrier so you didn’t have to become a PhD in Kubernetes YAML… And so we brought that on board; it was about five engineers on that team, and they are working closely with our Docker Compose team to bring that ease of Kubernetes development to all developers.

[50:07] And then the fifth one was a company called [unintelligible 00:50:07.28] that had some fantastic engineers who had built internal development platforms twice in previous employers, and were in the process of creating a company around IDPs. And we realized in the coming world of platforms that that skill set, that kind of developer sensibility would be really valuable for us, and so we acquired them as well.

So there’s just some examples, Adam. They were all, hopefully you’re hearing, kind of forward-looking examples to serve the developer experience, and able to deliver value to developers faster than we could on our own, organically, with our own R&D team.

Fantastic. This is music to my ears, Scott, because it just makes it more concrete what you said before, which was we grew - I’m paraphrasing, because this is how I heard you at least… “We grew so we can reinvest into the developer experience of Docker at large”, whether it’s Hub, whether it’s Docker Desktop, whether it’s security, safety etc. trusted images, the open source – what’s it called, for Docker Hub, with the open source…

So it’s Docker Official Images, Docker Verified Publisher Images, and Docker-Sponsored Open Source; those are the three trusted content programs.

That’s it, Docker-Sponsored Open Source, that I was talking about. Yeah, I mean, that’s part of exactly what I want to talk to you, because I feel like people expect Docker for free, at all layers, all the time. And you’ve kind of been negatively impacted, from a brand standpoint, because you’ve made money on open source, and you want to reinvest. Now, I’m sure there’s a lot of details and nuance in there that I might be missing, and you might be missing, and that’s not here, in this conversation necessarily… But as you said, intentions; you have good intentions for Docker, the platform, the technology, and those involved. And we do make missteps along the way, but hey, we have to adhere to – what was your one pillar for… Not humility, not the first one; the last one, where you look at, and you say you’re sorry; you look at when you’re wrong. What was that one?

Bias for considered action.

Bias for considered action, exactly. I’m gonna borrow that, if you don’t mind. I like that.

No, please. Please. Well, I also want to acknowledge - I’ll say empathy, for a community that was used to something for free for so long…

For sure.

…and with the pivot of the company, that required us to stand back and look at everything, kind of all up in a fresh lens. And I can imagine a very different scenario, versus had we started back in 2013-2014 with this focus on developers and this focus on the model. Then that would have just – these expectations would have been set on a much smaller surface area, and just growing with the company over the nine years. But that’s not what happened, right? The company grew, and then did a hard pivot in 2019, and that meant a hard change in how we looked at things. And at that scale, millions, tens of millions of users using it, I can have empathy for like “Hey, this is a change.” And generally speaking, humans as a species, we don’t like change.

No. There’s the book “Who Moved My Cheese” for a reason, Scott. I encourage everyone to read it again, and again, and again. I read it every couple of years, if not yearly, just because there’s so much change. It’s just a reminder to be resilient when possible, for sure.

Okay, so last question, if you can answer it in three minutes or less… So the clock is ticking, of course… Talk to me about artificial intelligence in Docker. It seems to be potentially interesting in Docker Desktop. I’ve used recently ChatGPT to sort of learn how to build Docker files. You mentioned before you had devs with docker init needing more help, but there’s – I can just describe, “Hey, I want to build a Docker file and a Docker Compose file to handle X, Y, and Z.” And that might be Ruby 2.7, on ARM… With particulars. And out the other end, I have a Docker file that basically I just do docker up, or docker build, or docker compose, -d, and there it goes, it’s running. So help me understand what might be happening. Can you disclose anything?

[54:04] I can, I can. And if you’re okay, I’m gonna go a little bit beyond our time, if that’s alright.

So there’s four areas, Adam. One is we’re very privileged, I’ll say, in that if you look around the ecosystem today, so many of the emerging AI/ML startups and technologies are using Docker, are based on Docker. And then not just based on Docker, but they expose their interfaces to their community using Docker. So if you look at Hugging Face, as example - when you contribute a model to Hugging Face, you contribute in a Docker Container image. Replicate, same sort of thing - when you contribute a model to Replicate and have them kind of do their magic and run the model in the cloud, you contribute it in a Docker container. Open AI… We could just go down the list; they’re all kind of using Docker internally, but also externally with their communities. So that’s kind of one.

Second is - going back to an earlier thread in the program - so much of our content from Docker Hub, our trusted open source content, is AI/ML tools. So to TensorFlow, PyTorch. Deep – I forget the Deep; there’s a whole series of Deep things from Google. All of those are being distributed from Hub, and so it gives the AI/ML developer community access to tools for free, out of the box, so they can just kind of roll up and start using.

And the asterisk, or the punchline - or the kicker to this, it’s better said - is that Docker Desktop, if it’s on top of a laptop that has a GPU, Docker Desktop will allow the developer to take advantage of that GPU to accelerate the model learning locally on the laptop. So this is kind of we’re providing tools or picks and shovels to the prospectors in terms of open source content, as well as GPU acceleration locally.

For sure.

The third is that Docker itself, completely anonymously, aggregates about 23,000 developer events every second. So we see kind of command line, we see what images are being used together, all anonymously… And so we have a very good insight in terms of what stumbling blocks developers are hitting, what container images they’re using with other container images, which helps us in this quest of helping them be more productive. “Did you know your friends who were using this Python stack also were using this version?”

And then the fourth, to get finally to your specific example question - yes, ChatGPT is a fantastic tool for building Docker files and Docker Compose files.

For sure.

So watch this space for ways in which we can help devs more faster on-board and be productive with Docker, with these fantastic, fantastic AI/ML assets.

Yeah, I mean, I’m a Docker file maker now, whereas before I was not. I guess, my pair-programmer, my AI pair-programmer helped me do it, because I was like “You know what - I need to do this…” And it was actually my Jekyll blog. So I was like “I don’t want to re-run and learn how to install Ruby on my Mac. I want to keep it pristine. I could do this in Docker. Why am I not doing this in Docker? Okay, well, the reason why I’m not is because I don’t know how to use Docker files to build an image that does this environment.” Well, sure, I know about dev containers, and I know about all these other things, but I’m like “How do I get there? Let me go talk to my pair programmer, Chat-GBT.”

And I described “Hey, I’ve got a Jekyll blog, with this version, I need Ruby this, I need that… Give me a Docker file that helps me do this.” And with one or two small iterations, I’ve got that setup. Whereas before, it was intimidating; it was a blocker for me. And this is an unlocker, really. Docker is so easy to use. It’s such a magical, magical technology. So congratulations to where you’re at personally as CEO, and then the company, because it is utter magic.

So please don’t stop doing what you’re doing, because we need more of it, in better ways, and we need it sustained, and all that good things. I’m like “Wow, I use ChatGPT, and next thing you know, I’ve got this Docker file.” I was already using Docker Compose, and that hasn’t been hard for me necessarily, but Docker files and building images was sort of a black box for me. It’s kind of hard to get if you don’t know all the details.

They can be tough. And then you go further down the rabbit holes, having them mount the container, and then building a container for test, versus building a container for production… Docker files get complex really quickly. But we’re finding that ChatGPT and Docker Init together can really, really bring that power to many, many more developers.

Very cool. I only had a few more things on my list, but they’re not worth taking your time beyond what we asked for, so I don’t mind that… But is there anything left that I didn’t ask you, that we can cover here in closing?

I just wanna say thank you, Adam, for taking the time to come on the show and have the conversation. I do want to underscore that we wouldn’t be here if it wasn’t for the developer community. And we knew three and a half years ago when we did the pivot that we had to focus first and foremost on them… And just know – hopefully, you can hear from our virtues, developer obsession is one of the four… And it doesn’t mean we always get it right, but it does mean that it is our North Star, and we’d ask the community to continue to give us feedback, to continue to have a conversation with us on where we can go to best serve them. So that’s what I’d end with.

Yeah. Well said, Scott. Well, thank you so much for your time, thank you for all you’ve done for Docker, the company. I love your leadership. So much more we could have covered, but we’ll leave it there for now. But thank you so much for your time. I appreciate it.

Thank you, Adam.

Changelog

Our transcripts are open source on GitHub. Improvements are welcome. 💚

Player art
  0:00 / 0:00