Why do some pieces of software attract people, and others don’t? What makes developers want to use a product but not others? Why even want a community around your software in the first place? Sarah Novotny works at Google managing the community for one of the fastest-growing software projects ever: Kubernetes. She draws on her current experience as well as her experience managing large communities at nginx, OSCON and other places to explore the delicate interaction between people & software.
Tim Anglade, Entrepreneur in Residence at Scale Venture Partners: I’ve never actually been to that campus I’ve been to the other one. But like, I feel like all Google campuses have this, you know you’re at Google somehow.
Sarah Novotny, Kubernetes Community at Google: Yeah.
Tim: LinkedIn’s right next door and you know, but you know you’re not stumbling into LinkedIn, you’re not stumbling into Facebook even.
Sarah: No, it’s all the primary colors.
Tim: Right? It is the primary colors, you’re right. And the landscape, I feel like they have their own, maybe they have their own kind of secret visual design guidelines for like, for gardens.
Sarah: I am sure that there are guidelines.
Tim: That kind of exemplify that, but yeah. So you’re at Kubernetes now, you’re helping kind of internally, right, and helping the Kubernetes project. You’ve been involved in open source for a long time and communities in general for a long time.
Sarah: Yeah my first open source community was MySQL.
Sarah: Back when it was cool.
Tim: Yeah. Well MySQL is cool again, right? Now Facebook is doing my rocks and all of that. MySQL is coming back just like Postgres, and you’ve done OSCON for many years. You were the chair of that conference. The biggest open source conference, I want to say. One of the biggest non-vendor conferences in the world. You’ve seen community stuff come and go, and this is something I still think is mesmerizing to people in general. I get tons of people asking, “How do you build communities around software? “I have this product, I make a lot of money, “can you build a community for me?” Or you get all kinds of different weird questions. It’s really not a well understood topic at all, and so I was wondering if we could kind of talk about that a little bit. I feel like this is something that isn’t well understood and so maybe let’s start with that obvious question that people still come up with
Sarah: Where do I get a community?
Tim: How do I get a community? I have a product, I’m making tons of money, customers love it. Why can’t I just get a community? Why do I want a community in the first place? Why do people do that in your opinion?
Sarah: Community means a lot of different things to different people. The term community manager is very overloaded in the industry as well, but if you look at your user group, you have a user community. If you just look at them as a cohesive group of people, that is a community. If you encourage them and engage with them, then you’re soliciting good feedback, you’re getting answers to your questions, you’re being able to anticipate their needs, you’re growing a community. It’s just a group of people.
Tim: Right, so the answer is most companies have a community, they have customers and maybe they just don’t think of them that way. Maybe they don’t listen to them that way, but they already have the fact of one. But usually people mean something different. People usually mean, I want developers using my stuff. Either developers are on the same continuum as eventually people who are going to become customers or developers as a platform plate so to speak. So they’re like if I have apps, they’re built on my platform.
Sarah: And looking to build an ecosystem, and I want this broader community that is also contributing to the software and building adjacent pieces.
Tim: So usually that’s what they don’t have, in my experience at least. They don’t have either developers on the low end of their pricing, or free or in that platform sense of there’s nobody building apps against my platform or I want to have a platform. How do you answer that question? I guess people ask you that all the time too, like help me make a community. How do you do that? How do you go from your devel.. Sorry, your customer community to building a developer community? Is that even possible?
Sarah: It certainly is. You have a customer community, you have a user community, those are the people that can seed your developer community. They’re the people that know your product as well or better than you do in a lot of cases, or certainly from a different perspective than you do. And so, engaging with them is really the starting point. It’s finding out what they know about your product or your software that you don’t or that you haven’t thought of, or that you, it may be a whole new market that you don’t want to address. Maybe you knew that it was something that was interesting, but you find a couple of people who are super interested in expanding to the specifics of this space industry’s requirements.
Tim: So let’s say for example they might request a feature, and you might just think oh they’re just a painful customer that just wants more features, but maybe what they’re highlighting is a special of that community spirit that you try to harness. Maybe if you gave them more tools, they could actually build a lot of those features themself, and that would become that developer community you’re looking for.
Sarah: Which ends up being that difference between a product and a platform is you start making that evolution to more points where people can build against your tooling.
Tim: Right, that’s a really good way to put it actually. I guess the underlying truth under that because I don’t want to skip over that, is that it’s really hard to quote unquote add a community. You can’t just kind of bring that wholesale or spend a million marketing dollars and have a community, and so I guess maybe you should highlight that we’re talking about these specific means of listen to your customer, think about any features, think about opening up ways people can build against your platform because that’s driving off the passion that people may already hopefully have for your company, your product, and that’s really the only way to make something grow, at least in my experience. Would you agree with that?
Sarah: I would completely agree with that. Otherwise it’s work in the sense of you’re having to pay someone to advocate for you, or you’re having to pay someone to make a feature for you, and then it looks very different from someone being excited enough about or a company being even excited enough about the product or software you’re working on, in order to make it bigger and better. It’s looking at it as a positive sum game, and saying that we can do this better together.
Tim: That excitement and that passion I think is actually like something that a lot of people in that situation of wanting to grow a community, build a community, they dread the most. They see their company, or their product as this very work-like thing and it’s very intense, very serious and that’s why they make money because it’s very very serious, but I think the inescapable truth of it is the more fun you can build, the more passion you can have at the core of your product, the easier it is going to be to build a community on top of it. And that’s why I think, you see some stuff, like Kubernetes taking off really really well. Like one of the most successful opensource projects in terms of how quickly it’s growing, and there wasn’t any product, I assume, some genius in the middle of Google saying “This is going to be a huge community!” I mean, you would hope that, but you start with a lot of passion about how you build your product, so how do you navigate that? You’re going for something very different than most people have, which is you have this great community, and this is turning into something different as you grow. Most people will have the opposite, but you’ve done a bit of both right, nginx was a similar situation.
Sarah: Yeah, my time at nginx was very much about having a lost of people as an install base, but not any sort of cohesive community, not a lot of developers because most of the developers were hired by the company nginx.
Tim: That happens a lot by the way.
Sarah: It does!
Tim: A lot of companies, a lot of projects, they just have a natural cap, I guess, on the community size, and you have this weird incentive where it’s better to have those people working for you because you have the budget as a startup to do that, rather than have them be on the outside, but then that creates a lot of problem in terms of…
Sarah: It does, it ends up being a space where you don’t have a lot of people contributing from the outside and you don’t have a lot of people engaging with new ideas, which means sometimes you’re missing the mark. Sometimes you’re not, sometimes you are the person who can recognize what product your end user needs, and sometimes you, if you’re not listening well enough, or you’re not having people contribute back in, you miss a completely different perspective. Again, it’s that positive sum game. We can do more with more people if we’re willing to engage and work with them to bring them up to the standards to engage them.
Tim: There’s a strata, right, there of a different kind of community, right, you have your commiters, your core commiters sometimes, then you have your external commiters, or people who are contributing like plugins or whatever shade of gray there, and then you have your user community, and that’s all real value, I mean, nginx, tons of users, tons of people using it, customizing it, building different products on it. API Gateway has built on nginx, and different kinds of companies doing that and so all of these different strata have value. Would you say that in general it’s possible to find some kind of shade of gray, where you can build a community, like some value place?
Sarah: One of the things I’m the most proud of at nginx is working with the team from my first day in Moscow, trying to get to a space where there are pluggable modules instead of having to have everything compiled in, and that made the sustainability and supportability model for a company very difficult when everyone was compiling in their own modules. So getting to a space where there are clean edges where we can have good strong contracts, and people from outside can contribute and participate and engage on those clean boundaries is very important.
Tim: So, that’s a really good kind of, you’re building a passion, but you also need to have those APIs in a very technical sense, or those interactions points in a larger sense, a meetup group can be just a conference you do once a year, maybe it’s just drinks at a bar, or whatever makes sense for your community, but you need those interaction points, you need to open something, right, even if it’s not technical to get something to go, and those tend to be good starting points. Would you have other starting points you’d recommend for people, like things that are usually good to help kick start a community?
Sarah: Being positive about the things that you’re giving, even when it’s not necessarily what you were looking for, or it’s midnight, to your point, that passion from the outside, these are people who are doing this because they love it from the outside in a lot of cases. Some of them are being paid by companies, but they also are doing it on their timescale, not yours. So being very positive in trying to help grow them in a way that gives them good feedback and gets you what you want and tunes it up as well.
Tim: So giving them recognition publicly, sending them small gifts I find works really well,
Sarah: I have a stack of chocolate bars in my desk that gets shipped with Kubernetes postcards, and you would be astonished how many tweets I get of, “I just got a card from Sarah!”
Tim: It does two things, right, it quote, unquote, locks those people in to use kind of marketing words, but also gives more visibility to others that might join your community, so that’s a really good, kind of easy trick. So let’s talk a little bit about a bit of an edge case, one thing I really love to talk about is runaway communities, where the community grow so big, so quickly that you don’t have this problem of How do I grow a community? How do I get someone to pay attention to my product? But you tend to have an opposite kind of problem.
Sarah: You do.
Tim: And you know, I would say Docker, may be as a company, the technologies tech, they’re a little bit of an institution right now, there’s so much attention on them, so many developers wanting to take it in so many different directions and I don’t know what they do at Kubernetes, but you’re in a very similar kind of position, very big community as well, what are some of the things you’ve seen when communities grow very large, hopefully when you succeed, what tends to happen? What are some of the things that you think people will have to be ready to deal with when they make it really big?
Sarah: Adding process and being completely transparent. Kubernetes is being moved from being a company’s founded project to a foundation and community-led project over this last year. In December we founded the Cloud Native Computing Foundation and put Kubernetes in that with a broader vision for that foundation to include more software than just Kubernetes, but Kubernetes as a project has now had enough successes that you have to really be transparent about your decisions because there’s an information gap between your core commiters and people who are new to the project or people who want to participate, but aren’t on the inside of the hallway conversations that might happen, and so being completely transparent and setting up good processes about being transparent is important.
Tim: And that’s useful for a couple of different things, right, you have to worry about individual contribution, but you also have to worry about corporate contribution, and I’ve noticed as projects grow large, companies will suddenly become really worried about am I giving too much of my time to Google or Facebook or wherever? Or how can I bring this back to my side? It gets really weird and political and complicated and so a foundation can be a good way to–
Sarah: And it goes back to those clear boundaries, the clear boundaries in software, you can build a product that is clearly not in competition with the core product because you have a nice clean edge, and that’s one of the spots that I think Kubernetes is doing really well. We’ve said very explicitly, we don’t want to be a pass, so we have multiple different companies around us, working with us, contributing code, that are building passes on top of Kubernetes.
Tim: That visibility into what your roadmap of strategy is, I think is such a critical thing that a lot of open source and corporate projects really lack. Where people on the outside might be wondering, If I do this app, commercial app, on top of it, will I compete against a primary thing, or not? And they don’t really know what the intention is, and where you might turn into. Whether you’re going to be a competitor all of a sudden in a little bit. And so, even if you can just communicate a little bit on that, I think that that’s something helpful to grow in this middle and late stages quite a bit, right? I think it’s something that can be quite tricky to maneuver. It’s changing quite a bit, the scene seems to be going into a whole bunch of different directions. Now that we see a lot of independent foundation. It used to be like everyone would go to Apache, now I feel like everybody kind of, not everybody, but you see more independent foundations pop up different things
Sarah: Well there ends up being different use cases for foundations now. For us, it was more about holding the trademark, holding the IP right, and marketing the vision of Cloud Native, as opposed to wanting what Apache used to give, which was, we gave you the infrastructure for your source control, we gave you, a set of specific processes,
Tim: And legal support
Sarah: Right, and legal support. And those are just different now.
Tim: It’s more of a focus on business and strategy, that makes sense. Thanks a lot.