The future of the code economy, with Devon Zuegel, creator of GitHub Sponsors

Devon Zuegel, Beyang Liu

Devon Zuegel, the creator of GitHub Sponsors, tells the story of how an email rant to Nat Friedman on the eve of Microsoft's acquisition of GitHub turned into the most popular way to fund open source. She also shares her thoughts on different models of paying for software and where the future of the code economy is headed.

Show Notes

GitHub Sponsors: https://github.com/sponsors

Tools and Craft: https://www.notion.so/blog/topic/pioneers

Devon's blog: https://devonzuegel.com

Affirm: https://www.affirm.com

Microsoft acquisition of GitHub: https://techcrunch.com/2018/06/04/microsoft-has-acquired-github-for-7-5b-in-microsoft-stock

Nat Friedman: https://www.linkedin.com/in/natfriedman

Patreon: https://www.patreon.com

Open Collective: https://opencollective.com

Let's Talk About Open Source Sustainability blog post: https://github.blog/2019-01-17-lets-talk-about-open-source-sustainability

GitHub Sponsors announcement post: https://github.blog/2019-05-23-announcing-github-sponsors-a-new-way-to-contribute-to-open-source

GitHub Sponsors Matching Fund: https://docs.github.com/en/sponsors/getting-started-with-github-sponsors/about-github-sponsors#about-the-github-sponsors-matching-fund

Mayor Francis Suarez of Miami: https://twitter.com/FrancisSuarez

Models of paying for software SaaS: https://en.wikipedia.org/wiki/Software_as_a_service

Heartbleed bug: https://heartbleed.com, https://news.ycombinator.com/item?id=754899, https://en.wikipedia.org/wiki/Heartbleed

Enterprise License Agreement (ELA): https://whatis.techtarget.com/definition/enterprise-license-agreement-ELA

Transcript

Beyang Liu: All right, everyone. Thanks for joining for another episode of the Sourcegraph podcast. Today, I'm here with Devon Zuegel. Devon is a crafter of code and words. She was the creator of GitHub Sponsors, taking that project from inception through launch and to the incredible success it's yielded today for open source authors. She's the host of a video series called Tools and Craft, where she interviews pioneers in the field of computer science. And you might also be familiar with her writings on her blog, where she talks about things ranging from supersonic planes to learning Spanish, to the design of different cities, designing markets and incentive structures, and cryptocurrencies. So Devon, welcome to the show.

Devon Zuegel: Thanks for having me on. I've been looking forward to this.

Beyang Liu: So to kick things off, what was it that first got you into the world of computers? How did you get into the world of code?

Devon Zuegel: It was a pretty roundabout path. In high school, I thought I wanted to be a journalist. But then I worked on some old cars with my high school boyfriend at the time, and I realized that replacing the engine of a '67 Mustang was really fun. And so I decided to study mechanical engineering in college. And one of the requirements for a mechanical engineering degree was computer science, just an intro CS class. And I really liked it so I took another class, which was not part of my requirements, and I really liked that.

Devon Zuegel: And I took another class and I realized that I just wanted to study that instead. And the thing that resonated with me was that when you're doing mechanical engineering and you're working on a car engine, each part, it costs money. And if you break it, you have to replace it. And so the cost of making mistakes is way higher. Whereas with software, you can just rerun the code. And of course there is software that you don't want to run poorly and you don't want to ruin data and all that stuff. But it's a different level of feedback loop and ability to just sort of churn... You just rerun the tests if they fail. You change the code, you rerun the tests. And so that was really attractive to me because I really liked the speed of that feedback loop.

Beyang Liu: Yeah. That makes total sense. As a CS major in college, I always felt that the other engineering majors kind of looked down on us because we had it so easy to the point where it didn't seem like real engineering. They were all kind of planning ahead, contingency planning for what could go wrong. And we were like, "Well if it doesn't compile, look at the code and recompile again. Rinse, repeat until it works."

Devon Zuegel: I mean, I think there's something to be said of that. But at the same time, why choose to do something hard when you could do something easy that is also valuable?

Beyang Liu: I know. Exactly. Exactly. Cool. So did you switch majors then, or did you just get into programming and you graduated with the M.E. degree and then went straight into software?

Devon Zuegel: I switched majors. Yeah.

Beyang Liu: Okay. Cool.

Devon Zuegel: I ended up taking so many CS classes. I didn't really have space for the M.E. classes anymore. So I switched majors, I think at maybe the end of my sophomore year or something like that.

Beyang Liu: Nice. And after you graduated, give us the whirlwind tour of your kind of professional career so far.

Devon Zuegel: Yeah. So when I graduated, I joined as a software engineer at a company called Affirm. It's not a firm called a firm. The company is called Affirm. And Affirm does point-of-sale lending and I joined because I was really interested in creating more economic access and opportunity for people, because I think a lot of people are locked out of our current financial systems. So, that's what was really appealing to me about what Affirm was doing. And then I was only there for a year though, because I kind of realized that the work I was doing was not something that I was uniquely good at and that's something I like to... I like to do things that... A place where I can make a unique contribution. And while I thought the work that Affirm was doing was important, it just wasn't something that I... I felt like any other new grad engineer could kind of take my spot and do at least as good of a job as I was doing.

Devon Zuegel: So I decided to leave and work on some projects that I felt sort of more of a calling to, or I thought I could make more of a contribution. And so I started reading a lot about cities and urban economics, which is a sort of different path that we haven't talked about that I sort of went in during college as well. That's when I started hosting the show that you mentioned, Tools and Crafts, about computing pioneers.

Devon Zuegel: And I was kind of all over the place for a year or so. And I was also very involved in housing policy. It was a very exploratory period for me. I worked on a crypto company. And then when the Microsoft acquisition happened in June of 2018, or I think it was... Sometime in the summer, 2018-

Beyang Liu: This is of GitHub?

Devon Zuegel: GitHub. Yeah. Sorry. The Microsoft acquisition of GitHub happened. I had become friends with Nat Friedman, who ended up being the CEO, through some housing policy stuff that we worked on, so I sent him this long email about things that I thought he could do as a CEO and especially around helping open source maintainers. And at that point, Nat sort of responded to my email and was like, "Those are interesting ideas. How about you come do them with us?"

Devon Zuegel: So just watch out who you send the emails to because you might walk right straight into a job. And so then I was at GitHub for about two and a half, well almost three years, working on tools for open source maintainers, which was sort of the beginning of Sponsors. And there I was a product manager as opposed to a software engineer, but of course, having a software background, having contributed to open source in the past and that kind of thing really helped me frame the work that I was doing.

Beyang Liu: Yeah. Do you remember what that email... Did you pitch GitHub Sponsors directly in that email or were...? What did that email contain?

Devon Zuegel: I wish I could say it was that strategic. It was kind of a rant, I think. I don't remember exactly what I said, but it was something like, "GitHub has dropped the ball on this and that. And as a user, I want to see this happen. Why doesn't someone do something about it?" And then at that point, Nat was like, "Well, you could research those questions and answer it yourself if you want and if you come up with an answer, you could build it at GitHub." And so I was like, "Oh, those are actually really interesting research questions. GitHub seems to be a really high leverage place to work on that. I think I..."

Devon Zuegel: Back to that part about the contributions that I could uniquely make, I thought my background between sort of development, economics and software, and open source and community building was a really interesting intersection that most people don't have. Most people have parts of those things, but not all of them at once. And so I thought, "Man, I have this immense leverage point and also a lot of the background that I think someone would need to solve this problem or at least make steps towards solving the problem." And so that's how I ended up joining GitHub.

Beyang Liu: Yeah. That's awesome. And it's super awesome that he came back at you with, "Okay, what are you going to do about it?" And I really think that maybe that's... You had sort of known him through the work that you did together in SF housing policy. But I feel like he's maybe the type of guy who would respond to cold emails as long as they're thoughtful as well. I know certainly I would. And I think other people at Sourcegraph would as well. I wish more people just sent cold emails like that, pitching ideas and giving thoughtful critique to people who are in various companies. I think they would be well received generally.

Devon Zuegel: Yeah. I agree with that with the caveat that I think that the people who... A lot of people do send those cold emails and I think they're the ones who you don't want to be sending the emails. And then there's a lot of really thoughtful people who are afraid of it. So basically-

Beyang Liu: There's a selection.

Devon Zuegel: ... Yeah. There's a strong selection effect. And so I think if we lived in a world where... Basically if you want to send one of those emails to somebody, but then you think, "Oh, maybe I need to learn more about the subject," or, "Maybe they're not interested in hearing it." You're probably the one that they want to hear from. And if you don't have that question go through your head, then you probably shouldn't send it. That's the hero stick, I would say.

Devon Zuegel: But I think that there's a lot of really good ideas out there, and for sending those sorts of emails, the worst thing that can happen is they just don't respond to you. And even in that case, you've still probably sharpened your thinking by writing it down. So I find it to be really, really useful to receive them. And I mean, I don't respond to every single email I get of that type anymore, just because a lot of people email me. When you work at a place like GitHub, there are a lot of people sending you emails with ideas. So, sorry to everyone who I haven't responded to. But you can't write an essay every few hours. But I read them all and I think about them all and they've definitely all contributed to my thinking.

Beyang Liu: Yeah, that's awesome. And again, the downside is, you just don't get a response, which is... Shoot your shot, so to speak.

Devon Zuegel: Right.

Beyang Liu: Cool. So at the time you joined GitHub, this was after the acquisition by Microsoft had been announced, but had the acquisition already been completed at that point? What was kind of the stage of the company?

Devon Zuegel: So I originally joined as an independent contractor, actually. As a researcher, not as a full-time employee. And I joined when the acquisition had not yet closed. So I think I joined in August as a contractor and then the acquisition closed in November or something like that. And then I joined as a full-time employee in December as a product manager. And in that period of time, when I was a contractor, I was doing research and it was a sort of a four to six month contract or something. And my plan was if I don't come up with something that I want to work on or something that Nat doesn't want to fund or whatever, then we'll be like, "Nice working with you. Let's move on." But then if I did come up with something that we wanted to build, then I would follow through and build a team around it. And that's what ended up happening.

Beyang Liu: Okay. Interesting. So was it kind of an open-ended research mandate? Starting from the ideas that you mentioned in those emails and just go and explore some of these ideas and see if any of these threads lead to something that we think is promising?

Devon Zuegel: Yeah, exactly. It was totally open-ended. I mean, I sort of set the bounds for myself saying, "Hey, the main thing I want to do is..." I see the maintainers of open source projects are sort of the keystone species of the entire open-source ecosystem. There aren't that many of them, so they're easy to overlook, but actually they're deeply important and if they're not doing well, the whole ecosystem is not going to do well. And so my research question was, "How can we help these people do better?" And give them resources so that they can really thrive on the platform, as opposed to what I saw at the time was they were kind of getting neglected. But within that range, it was pretty open-ended. And I think also, honestly, if I had come out of left field with a completely different proposal, I also sense that if it was good, Nat still would have accepted it.

Beyang Liu: Yeah. That's awesome. Can you describe what that research period was like? You remember what ideas you considered, you pursued, maybe kind of took half the way, but then decided weren't worth continuing? What was the road to eventually getting to GitHub Sponsors?

Devon Zuegel: Yeah, it was pretty winding and it was pretty unstructured for most of the time, which was a little scary actually, because I didn't really know where it was going to end up. But that is also the point of doing research is you start with a question and you don't know what the answer is. So the most important thing I did was before I even had any hypotheses or anything like that, I just talked to a ton of maintainers and open source contributors and open-source consumers. Because while I had programmed for a little while before that, and I had used open source and contributed to open source myself, my experience was really limited. At that time, I was primarily programming in Ruby and TypeScript, which is a small portion of the overall programming world.

Devon Zuegel: And I had only interacted personally with a few open-source maintainers. And I didn't want to over-generalize just based off of those experiences. Those experiences were super formative of course, but I also wanted to make sure I understood the rest of the world. And so I just talked with hundreds of people and asked them, "What are your problems? What does your typical day look like? How did you decide to do what you want to do?" That kind of thing. "What do you wish GitHub would build?" Got a huge range of answers. And then from there, I took the ones that I thought were personally most interesting. So from those answers, there's probably a thousand different directions I could have gone. But I went down the route where I was like, "I have a good feeling about this direction and I feel like I can solve some of these problems."

Devon Zuegel: And in particular, that was around funding. And so I started asking people, "How do you fund your work? How do you think about that? What's the smallest thing that GitHub could do to help you make more money, assuming you want to make more money?" And a few maintainers said something like, "I just wish that GitHub would formalize the fact that it's okay for us to ask for money," because in 2018, that was when... Yeah. In 2018, almost everyone who was getting any sort of sponsorships for their projects, they just put it in their README, saying "Hey, you can sponsor me. Here's a button." And there were a lot of maintainers who were not sure if that was kosher. They didn't know if that was against GitHub's terms of service or something like that.

Devon Zuegel: And then also just socially, it wasn't that typical at the time. And so I realized like, "Oh man, we need to just signal that we're okay with this. This is a blessed path if you want to go down it." And so the very first thing that my team built was the sponsor button. This is actually before GitHub sponsors existed. It was basically, what we did was we built this button at the top of repose. You've probably seen that little pink heart. It was one of the first colored buttons on the page, too, which it had bright pink, which I don't think there's ever been hot pink on GitHub before. I was very excited about that.

Devon Zuegel: And you press that button and it shows you links to places that people might receive funding, like Patreon, Open Collective, etc. And there was a huge outpouring of people being like, "Oh my gosh, GitHub's cool with this. Great." And it created this common knowledge socially that, "If GitHub's okay with it, then I can do it and I have backing," and it just kind of blessed it, which I was really happy that we were able to play that role.

Beyang Liu: Yeah. That's awesome. So when did that button ship?

Devon Zuegel: I think the button shipped in February of 2019. I might have the exact month wrong, but the chronology is something like, I joined December 15th of 2018. Holidays hit, and also I didn't have any team or anything like that. And then I came back in January and I wrote this blog post called, "Let's Talk About Open Source Sustainability." And that had a really positive response, and we did a survey on that. And then based off of that... It was sort of proof. I basically was using that as evidence of all of the research I had done, quantitative. And then it got the whole company behind it. And so then by February, I put together a small team of engineers and designers, and myself. There was maybe like five people or something. Again, I'm so bad with numbers. And then we shipped the very first, that button, by either late February or early March.

Beyang Liu: That's awesome.

Devon Zuegel: Yeah.

Beyang Liu: Yeah, sorry. Go ahead.

Devon Zuegel: No, no, go for it.

Beyang Liu: I was just going to say that, that seems super fast. So, the research period does the contracting phase. That was fall through the winter, and then you joined full time in December. The holidays happen, and then in two months you had the button out, you'd gotten it out the door.

Devon Zuegel: Yeah. Yeah. For me, I think momentum is so important. If you don't instantly get a team thinking, "Yeah, we build stuff together," then you just kind of laze about and don't do anything. I, in particular, I'm the type of person who will just research something until I'm dead and never make any progress whatsoever. And so to adjust for that, I try to do the opposite. Because I know I have that tendency, I push myself to build things before I feel like I fully understand the problem. Because in most cases, you can unship things if they don't work, and you'll learn a lot of stuff once you've shipped it.

Devon Zuegel: Now, I do think if we had shipped full-on GitHub Sponsors that would have been hard to unship because now there would be people who are making money from it. So there are certain things that are a one-way ratchet, but for the most part, something like that button, we could have changed it. If it didn't work, it could have gone a totally different direction, and it's fine.

Beyang Liu: Yeah. So all the button did was take them to whatever the maintainer or author was linking to previously in the read me, is that right? GitHub at this point wasn't collecting payments or anything like that?

Devon Zuegel: That's right, yeah. Basically, what the button did was it searched your repository for a funding.YML file. I think there might have been some other formats we supported too. And then from that file, it pulled it. And we wanted it to be structured so it could be also used for other forms as well, or you could fork it or you can open a pull request to say like, "Hey, you should add Open Collective," or whatever. We like everything to be version controlled if possible in GitHub.

Beyang Liu: Yeah, makes sense.

Devon Zuegel: Then it pulls from that file and generates the button based off of that. And if you don't have the file, you don't have the button.

Beyang Liu: So where did things go from there? You got the button out, people were excited. What was the evolution of the product? At what point did you turn it into a full-fledged feature and product area?

Devon Zuegel: Before the button, we had done a survey that showed that a lot of maintainers thought that GitHub's lack of funding options were really a problem. And so that was enough evidence to get to the button, and then the button saw massive uptick and a ton of maintainers had this outpouring of, "Oh my gosh, GitHub is finally doing something on this. We're so happy." And so then that was enough evidence to do the next thing. You need to build these stepping stones of evidence to get to a big investment to something like Sponsors. You don't have to, but I like to work that way so that you don't find yourself six months down the road realizing like, "Oh, dang, we just spent half a year building something no one wants."

Devon Zuegel: So the button gave us that confidence, and so we said like, "Hey, let's make this super easy for people to do." Because a lot of the problems that I had heard in my research was that just setting up a way to receive money was difficult. It was a lot of paperwork, it was time-consuming. Patreon made it pretty straightforward, but it wasn't really made for programmers and it wasn't something that was co-located with your code. You'd send someone fully off the page and they had to create new account, and stuff like that. So we thought, "Yeah, we can make that." We already have people's identities here. We already know what software they use and stuff like that. Many of them already have a credit card on file. So like, "Let's make this super frictionless." And that's where we built Sponsors.

Devon Zuegel: So I believe we started building it probably in like late February. I think we started building it when we had put the button out for beta or something like that. I can't remember the exact chronology. Let's just say start of March. And then we shipped the very first beta version of GitHub Sponsors with payments and basic identity verification and stuff like that, on March... Sorry, on May 23rd.

Beyang Liu: Got it. And while you were building it, were there any folks who were like, "Well, why are we building this? There's already like things like Patreon. There's other ways that people are already doing this. This doesn't really contribute anything new." I feel like whenever you're building something new, there's a lot of people who don't fully grok the vision. They compare it to other things that are similar, but not quite the same as a way to say like, "Well, this already exists, so we don't need to build it." Did you encounter any sort of resistance like that at all?

Devon Zuegel: I didn't hear too much of that within GitHub, but that was partially because we were somewhat in, I don't know what the... Not exactly self mode. We weren't secretive, but we just didn't include the entire company on our decision-making process. The executive team was very much aware and anyone who was paying attention to our repo in the company would have seen it, but we didn't ask everyone in the whole... Is it, what, 2,000 or 3,000 person company? We didn't go around asking everyone what they thought. So probably there were people who, if they had known we were doing it, they would have given that feedback, but they just weren't really involved in the process.

Beyang Liu: Got it. Cool. Yeah, it seems to be a fairly common pattern, especially inside large companies, when you want to spin up a new project, you kind of isolate it from the rest of the organization and give it room and space to maybe reach that first proof point.

Devon Zuegel: Yeah, it's so important. If you give everybody a veto power, and even if it's an implicit one where formerly they don't get to decide, but for some reason their voice is in the mix, nothing will happen at all. And sometimes you need to let people just move forward, especially if it's not a harmful decision. I mean, it's tricky because there are some people who probably should have veto power. For example, GitHub's lawyers 100% had veto power. In the sense of, if we were doing something illegal, they should be like, "You can't do that, that's illegal." So you do need to include them in the process, but you can't include every single designer and engineer who has their own opinion about how it's going to turn out. Which, there's a lot of things that I wasn't included in that other teams were working on. And my opinion's obviously the most important one, so they really screwed up by not including me.

Beyang Liu: Yeah.

Devon Zuegel: Yeah.

Beyang Liu: Yeah, I think that balance is so tricky to get right, because obviously you don't want to be concerned about everything. The whole point of an org structure is to, I guess, isolate concerns and enable people to focus on the things that they're best at. But at the same time, it's like, well, you could articulate some reason that someone somewhere should care about this thing, and if you don't get the abstraction boundaries right, you can easily get into this mode where you're just not doing anything because there's always a reason to not do something. There's always a million reasons to not do something.

Devon Zuegel: Absolutely. Yeah, and so I answered your question in a meta way, like organizationally. I can also answer it in a more direct object way around the particular critique. I think it's actually very true that the first version of GitHub Sponsors was not completely different from anything that was out there. It had some different choices that we made, and it's not a complete copycat either, but it's solving a similar problem to what was out there. But I think that there's something very different about something being co-located with the code, versus something like a Patreon, which you have to go like onto a completely different page. It sounds like a trivial difference, but one of the things that you end up getting... If you think about the structure of it, if you have to share a link to your Patreon for someone to fund you, that's going to basically... What's the word? It's going to privilege people who have really big Twitter followings, or are just generally very active on social media, compared to if the sponsorship opportunity is next to the code where you're actually looking at it.

Devon Zuegel: So, you're looking at the documentation, you're looking at the read me, you're digging through the implementation of a particular function, and you have a sponsorship button right there. If it's not right there, then there's this disconnect from the value that's actually created and the distribution to get access to people who will fund you. And that doesn't mean that tweeting about your Patreon link is a bad thing, it just means that there's an entire group of people who quote, unquote "deserve" funding who are doing great work, but they just don't tweet that much. And so they don't, they don't get that access. And I think that those dynamics, while they're small, they actually add up a lot and result in certain types of projects getting funded and other types of projects not getting funded.

Beyang Liu: Yeah, totally. There's always some correlation, but also a bit of a disconnect between folks who are better at marketing their projects or their personal brand, and folks whose code just gets used everywhere, just because it taps into a very common piece of functionality that a lot of people need.

Devon Zuegel: Totally. And I also can't underscore the importance of social norms. So by making this a blessed path within GitHub... GitHub, whether it likes it or not, set's a lot of the norms of open-source communities. Everyone's going to have a read me. Pull requests are just like a thing that almost every open-source project does now. The list goes on and on. GitHub doesn't have an opinion that every project should be funded. A lot of people want to just do it for fun, and that's awesome. But for those who do want to be funded, we don't want them to be like, "Oh man, are people going to hate us if we ask for money?" Like, "Are people going to hate me if I ask for myself to be able to pay the rent?"

Devon Zuegel: We want to make it so that if you want to do it, it doesn't become this social issue where you have to get the guts up to do it. Let's get rid of that obstacle, get rid of the stigma, and bring people in. So those were, those were our two biggest goals initially, were to co-locate the sponsorships with the actual value being created, and to also remove the social stigma. Actually, I guess third goal is also just reduce friction, because creating a new account on Patreon just to sponsor someone is hard.

Beyang Liu: Yeah, totally. And it seems obvious to say these things in retrospect now that GitHub Sponsors is a thing, and it's obviously successful and is funding a lot of open-source developers. But we're saying this with all the benefit of hindsight here, on the other side of things there's so many open variables that it's hard to compare the point of view pre-launch versus post-launch, I guess, post-success.

Devon Zuegel: Yeah, for sure.

Beyang Liu: Cool. With respect to launching Sponsors itself and getting the payments infrastructure stood up, were there any complexities there? What goes into receiving money on the internet these days?

Devon Zuegel: Well, one of the big things that we had a challenge with was we had this thing called the GitHub Sponsors Matching Fund, which basically said for your first year in the program, we'll match dollar for dollar the first $5,000 that you make. That's a lot of money. And so we ended up having to put in place much stricter identity verification, and just fraud controls in place from day one, than we would have had to if we were just enabling people to sponsor each other, because we were basically giving out free money on the internet. Which I think was worth it, because it did jumpstart the community and got a lot of people interested in doing it.

Devon Zuegel: There were a lot of people who ended up emailing me later saying, "Hey, those first few months that I was starting my sponsorship, I didn't think I was going to be able to quit my job," because at the beginning, you're ramping up, you're not making enough money, "but because of the Matching Fund, I was actually able to quit my job much sooner. That ramp-up happened really quickly. And then once I got to a stable state where I was making $5,000, $10,000 a month just on my own, the Matching Fund had run out, but it helped me get up to that point."

Devon Zuegel: So I'm really glad we did it, but it meant that it was really hard from day one, because we needed to make sure that people didn't create multiple accounts and stuff like that to try to make more of the Matching Fund. And I would definitely say it slowed down other parts of the product development because we were spending so much time trying to clamp down and make sure that that fraud didn't get through. And we did solve that problem, basically. I mean, fraud is always, of course, an ongoing problem, but we built a very robust system in place and it works pretty well. But it was a huge amount of work and some days I think like, "Oh, I kind of wish that we had actually spent that iterating on the product more, as opposed to doing that." So that was definitely very difficult.

Beyang Liu: Yeah. Tell us more about the iterations of the product. So, you launched it. Was it an overnight success from the get-go because everyone was like, "GitHub, sponsorship, this clicks," or were there things that you had to do to boost adoption and increase the growth rate as you went along?

Devon Zuegel: It was pretty overnight. We did a lot of things to improve it down the road, but people instantly got it. Which I think we had really good timing, because I think if we had done it even just like two or three years earlier, people would not have gotten it. That's my guess. Of course, hard to know the counterfactual. But I think by the time we launched it in May of 2019, there had been this growing understanding of content, of which code is a type of content, on the internet can't all just be free. We can't just support... I feel like my youth and young adulthood was marked by the idea like, "Everything on the internet can just be free. We can just copy everything intimately." Bits are easy to copy. So like, you wouldn't download a car, but you would definitely download Tron or whatever.

Devon Zuegel: And the problem is that, it's true that bits are easy to download, but you still need to pay for the people producing it. And the old models that we had when distribution was the bottleneck, allowed for creators of knowledge goods to get paid. When things were physically on CDs, if you think about it, they weren't actually making money from the music, they were making money from the fact that they're selling CDs, and then it happens to have the music on it. The music is what makes it valuable, but as soon as the music turns into an MP3, you're not paying for it anymore.

Devon Zuegel: And so what we needed to do was create something kind of like how Spotify got rid of piracy, or much of piracy, because they made it so convenient to pay for music. And that's what really people wanted. So anyway, that was a huge tangent, but the core thing is I think people are starting to recognize you need to support the creators, otherwise that content is not going to exist or it's just not going to be that good.

Beyang Liu: Yeah, I think that's a growing awareness. And value creation and value capture are two different things and they ought to go hand in hand, but often it's the case that they're very separate, and people who are good at the former aren't necessarily good at coming up with ways to do the latter. And so platforms like GitHub Sponsors kind of enable user value capture mechanisms. And I think one of the things that I've always appreciated about you is you kind of have this dual appreciation of both software and code and that world, and also economics and understanding markets and incentives and things like that.

Devon Zuegel: I try to, at least. They're complicated. We did end up having to iterate on one thing, which we kind of knew that we had not solved this problem when we first launched. So when we first launched, GitHub Sponsors was really only enabling individuals to sponsor other individuals. But when you think about open source, a lot of the best open source projects are groups of people who are creating it, and groups of people who are using it, like companies, and we completely did not solve that problem at all from day one. And that was intentional, because that's a much harder problem to solve, and we weren't even sure if we could solve a simpler problem yet. So we launched the individual to individual sponsorship, and once we sort of tamped that down and got it working really well and improved our operational quality, we then sort of thinking like, "Okay, how would we generalize this so that group groups of people can receive funds?"

Devon Zuegel: And if you think of it as a two-by-two matrix, there's four quadrants, there's individuals to individuals, individuals to groups, groups to individuals, and groups to groups. Basically, our roadmap was to just fill out that quadrant overtime. And as soon as you start dealing with groups, it becomes more challenging, because you have to do things like... Who pays the tax burden? Is there a legal entity? Where does the liability lie? Stuff like that. Basically, we wanted to help the maintainers solve those problems, as opposed to creating more problems for them by like, "Here's money. Now, you guys find amongst yourselves to figure out where it goes." After the initial launch, then our next step was to iterate to be like, "Okay, how do we make this work for groups?"

Beyang Liu: Yeah, that's interesting. So what went into that? Was it more research and user conversations? How did you kind of hone in on the right system or mechanism for enabling group funding?

Devon Zuegel: Initially, I started by talking to more maintainers and sort of asking them... Especially maintainers who had gone through the process themselves of receiving funds on behalf their group, asking them, "What pitfalls did you run into? What sorts of things?" And I heard some pretty sad stories, honestly, of maintainers who were like, "I just decided to get all the money to my personal bank account, and then I sent it out to the other people on my team, and then a year later when I had to pay taxes, I realized I had to pay taxes for everybody," - stuff like that.

Beyang Liu: Wow.

Devon Zuegel: ... which is not good.

Beyang Liu: Yeah, that sucks.

Devon Zuegel: Some of them ended up paying more taxes than they themselves had earned.

Beyang Liu: Oh my goodness.

Devon Zuegel: Technically, because it's income for the other people, what should be happening is those people should be paying taxes, but it looks like this person has received all of these funds. Just to make the math easy, let's say you have 10 people on your team, and you receive a million dollars to your account, and then you send a 100k to each of the other 9 people. From the IRS' perspective, unless you specifically account for this, it looks like you've made a million dollars. So anyway, I heard stories like that. Candidly, I realized most maintainers are just not well-educated on these things, and I'm going to have to go get educated and build it into the product for them so that they don't make those mistakes. And to be totally fair, if I were them, I would have made the same mistakes too.

Devon Zuegel: The way I see GitHub Sponsors is taking that kind of stuff off of the shoulders of maintainers so they can just do what they're good at. Open-source maintainers shouldn't have to get... It shouldn't have to be like tax attorneys. They shouldn't have to know all this stuff. They should just be able to build really great software for people. So I ended up talking to a bunch of lawyers, and GitHub does not give legal advice to anybody, any users. But we figured, "How can we build nudges into the product to help people think about the types of questions that they need to be aware of," or, "How do we make it easy for you to just ignore those problems entirely?"

Devon Zuegel: So one of the things we did to try to solve that problem was we encouraged everybody to get a legal entity to receive funds to, so that legal entity would be the one liable for the taxes, not the people themselves. And we were really lucky to partner with Open Collective, which is a really, really cool company that offers a bunch of things. But to me, one of the coolest things they offer is the ability to have a parent organization that is already incorporated, usually as a nonprofit, and you just join in as sort of a project within that organization. And so you don't have to do any additional paperwork really to get get a Delaware incorporation, or get a nonprofit. And it just handles that for you, and they handle lot of the accounting and so on. And so anyway, we nudge people towards those sorts of things to be like, "Hey, this actually is really helpful so you don't run into these issues down the line."

Beyang Liu: Yeah. It's so interesting that there is this split, I think, in I guess the economy between the act of creation, which is exercising your creative facilities to produce something that other people want that's new and valuable and interesting. And then the other side of it is kind of the bean-counting side of it, which is figuring out how to capture some of that value, but then all the different rules and regulations with respect to taxes and how you can allocate things. And it just seems that this is a very different... They exercise very different parts of the brain, and if you're good at one, chances are you find the other part just uninteresting. People who love creating stuff, generally speaking, I think don't like the accounting and the navigating the rules part.

Beyang Liu: And then there's people who are really good at the kind of accounting part of it, and oftentimes they don't specialize as much in the act of creation. I don't know, sometimes it seems like the economy is set up in a way where it kind of favors the people who just spend all this time reading up on rules and regulations. Why can't we live in a world where anyone who creates something of value that other people want can just sell it and get paid for it? I know it's easier said than done.

Devon Zuegel: Yeah, no, it's something I think about a lot. And a big theme, I would say, in my career has been... How can you build systems that minimize the amount that creators have to think about those things, while also being compliant with laws or morally not creating ethical issues either? So I totally agree with the sentiment of what you're saying. I feel that really strongly. Day to day, the amount of paperwork that one has to do to just do anything valuable in the world is too damn high. But on the other hand, I also understand that most of those things get into place because there's someone somewhere who thought it would protect somebody. And they might've even been right when they did it, but then down the road, conditions change, and it's not as valuable anymore.

Devon Zuegel: I don't know what the overall solution is. I think a big part of the problem though is that people who put rules in place almost never bear the costs themselves, and so it's cheap for them to add laws, or cheap for them to add hoops that you have to jump through. And yeah, sure they might be well-meaning, but they're not really thinking about what the downsides are. So for example, this is a bit of a rabbit hole, so I'll keep myself from going too deep down it-

Beyang Liu: No worries, we love rabbit holes.

Devon Zuegel: ... but I've been reading a lot business and labor law in Central America recently, which I know seems a totally random thing, but there's a connection, I promise. In Honduras, for example... I don't remember every single detail, so don't quote this, but basically to start a business, you have to get it registered, and it's expensive to do this. People in Honduras don't have that much money, so it's hard. It's basically a regressive tax on anyone who doesn't have that much money, but wants to start a business. And so the vast majority of people on Honduras and a lot of other countries in the world basically have to start their business illegally if they want to sell baleadas or something like that. And so they're just sitting on the side of the road with their illegal business, trying to just serve people yummy food and feed their own family, but they're inherently breaking the law just because they can't afford to pay this fee.

Devon Zuegel: Or also in Honduras, it's a completely centralized government or highly-centralized government, so to get a lot of different types of permits, you have to go to Tegucigalpa, which is the capital, and that's pretty far away for some people. They have to get on a nine-hour bus ride or something. And so when you put these things... The reason those registrations exist is to protect people, to make sure that the government has visibility, and can tax people. And there's valid reasons to want this, but if you don't think about... Well, what is the counterfactual? What are you stopping from existing because this thing is in place? And sometimes it might be worth it.

Devon Zuegel: I'm very happy that every doctor I go to is actually licensed and stuff like that. And yeah, there's some people who are not going to be doctors because they can't get a license, and I'm kind of fine with that, because I don't want someone who doesn't know what they're doing operating on me. But I think we don't think enough about the trade-offs there, and a lot of regulations are much more about minimizing harm as opposed to balancing harm with potential and opportunity. So anyway, that's a bit of a political rant, but I think is a big problem. And we still have a need to impose costs on people who add... Every time someone adds a hoop that someone has to jump through, they themselves should feel the cost of that as opposed to just being like, "I am such a good person. I protected one person from whatever."

Beyang Liu: Yeah. I mean, it's a balancing act, you're absolutely right. And oftentimes, the person doing the balancing can't see half the scale. I don't know if that's the right analogy, but yeah, the costs are invisible to them, and so they don't do a good job of striking the right balance.

Devon Zuegel: Yeah. And it's even worse than that actually, because if you're a lawmaker or politician or whatever and something bad does happen, you might get in trouble for that, whereas when something good happens, you rarely... I'm sure there's someone in Congress somewhere who stopped some regulation from being made a law, and now there's some business that exists because that person stopped that regulation. That's great. But then you have things like... I live in Miami. The Miami building collapse that happened a few weeks ago.

Beyang Liu: Oh, yeah. That's crazy.

Devon Zuegel: There's someone whose head is on the chopping block right now because they didn't check the regulations enough. So the incentives are very strongly towards being more careful and stopping bad things from happening and making sure no bad thing can happen, but you have to think of it... For people who are familiar with machine learning, you have to balance your false positives with your false negatives. You're never going to have zero of either one. And I think as a society, we've focused way too much on stopping false positives.

Beyang Liu: Yeah. And this kind of gets back to one of the themes that you like to, I think, discuss a lot, which is incentive design. if you look at the incentives at play here or the game that's being played, I like to think in terms of... What games are different people playing? If you're in the game of being a business, you get points for providing value to people, whereas if you're a politician, then it's like you get negative points for when shit hits the fan, but you don't necessarily get positive points when nothing goes wrong, because then people are like, "Oh yeah, this is normal. Why would we give you bonus points for just keeping things running?"

Devon Zuegel: Yeah. I mean, actually another Miami example that is maybe actually a little contentious, but I think an interesting counterbalance here, is the mayor of Miami, his name is Francis Suarez. He is also a lawyer who specializes in corporate and real estate transactions, and what that means... I mean, I don't know the guy personally, so I can't say this is what's going through his head, but if you look at it from the outside, his incentives as a mayor to allow for more real estate to happen, more building and more development in Miami, it's pretty well-aligned with his personal financial incentives as a lawyer to be like, "Yeah, let's build more houses here, or build more condos or whatever so people have places to live." Versus if he didn't have that, his incentives would be slightly less aligned.

Devon Zuegel: Now, you could certainly also say... You could see a version of that that is quite corrupt. He gives his clients the permits or something like that, and doesn't give other clients permits, so they can get screwed up really quickly too. But I wonder, what if we gave mayors equity in a city? I don't know what that would look like. And say, "Hey, if you make this city prosperous and happy, you will make more money also." I'm sure there's a lot of problems with that as well. I'm not saying that it's the solution to all of our problems, but I think it's at least worth exploring what could that look like.

Beyang Liu: Yeah. I mean, that's an interesting thought, and I was reading into this the other day. If you look at the model of cities that we have in the US, I think originally they were called corporations, the incorporation of a city, kind of turning it into this corporation of sorts, but obviously with very different from typical corporation whose job it is to sell goods and services. But I think there's something to that. And it's always tough, because it's like, "Okay, is this person promoting this thing because they're invested in it and it's in their selfish interest, or did they put money and invest in that thing because they're putting their money where their mouth is, and this is actually consistent?"

Beyang Liu: And I don't rightly know what the distinction... How to detect which is which myself, because the former sounds like corruption, and the latter is more like, "Okay, this person is pushing this thing that they truly believe in, in multiple fashions." It's kind of like the same thing with... There's a lot of politicians who are worried about climate change, and then you look at their investments and they're invested in green technology or whatever. And then of course their critics will be like, "Well, they're just promoting this because it favors their wallet." But then on the flip side, it's like... Well, maybe they just believe that this is a serious issue, and so they're invested in it, and they want to push it as a matter of public policy.

Devon Zuegel: I think the best is when both things are true. I am a big believer that you should put your money where you also think that the world should go. And so I think both things can be true, and that's healthy. Imagine if you have a world where the president or something thought that it was really important to save the planet, but then also, they specifically didn't want to invest in any of the things that would save the planet because they didn't want to look like they had a conflict of interest.

Beyang Liu: Right, that's weird.

Devon Zuegel: ... all their money into oil or something. That doesn't seem right either. I think living in a world where all the incentives and sort of the ethics point the same way is the best kind of world to live in. I think this is one of the reasons why Silicon Valley is in so many ways a really strong engine for economic growth and for people's personal growth. My experience of living in San Francisco... I lived there my whole life up until a few months ago. My experience was always people would always help me and constantly be kind of coming out of the woodwork to offer me resources, offer me opportunities. And I'm always like, "Why are you doing this? This isn't helping you at all. Maybe you're just a nice person. That's great." And something that's sort of sunk in over the past few years is realizing these things... It's a small community where anyone at any point could end up doing really well. They could end up doing something really impressive.

Devon Zuegel: So by being really kind to everybody early on in their career, you never know which of those people that's going to go on to do something amazing and bring you along with them. And so it's like this healthy thing. I mean, I think you could have a cynical take of like, "Oh, people are only nice to you because they think they might be able to invest in you in the future." But I don't know I think it's good for them to care about what you're doing just on a personal level, but then also have an economic incentive. It seems just very healthy for people to do well.

Devon Zuegel: Actually one last metaphor, I know we've gotten down a rabbit hole, but it's sort of like how a married couple has very strong incentive to help each other partially because they love each other, and also partially because their financial futures are tied together and it leads them to prioritize each other. I think it's like having a lot more of those sorts of social bonds where, when you do well, I do well. It makes for a really, really healthy community and really healthy society.

Beyang Liu: Yeah, for sure. And I think that there's a lot to be said for long-term alignment of mutual interest. I think in a lot of cases, that long-term pursuit of your personal interests actually brings you into alignment with other people. Because I think you can accomplish a lot more things when you're doing it with other people rather than alone. And so oftentimes I think we think self-interest and general interest are in this kind of like weird conflict but I really think more and more so it's short-term self-interest runs into conflict with the general interest. But if you think long-term enough, then that actually causes you to act in kind of virtuous and collaborative ways.

Devon Zuegel: Totally, yeah. It's like if your neighbor asks you to take care of their dog or something... Let's say you both have dogs or plants or something, maybe tomorrow you don't want to take care of the dog, but you're going to have to go on a trip at some point too. And so it's like, you do this favor, you don't know quite when you're going to go on your next trip, but it just turns into this back and forth exchange and there's no total counter, but just this general sense of, yeah, we're all slightly indebted to each other, we've all helped each other get to where we are. And like at the end of the day, you don't have to pay for a kennel.

Beyang Liu: Yeah, totally. All right. So we're almost at a time. Before I let you go. I want to hear about two things. One is, you've left GitHub now and what are you up to next? But before we get to that, can I get you to kind of speculate on the future of GitHub Sponsors and funding open source ecosystems in general? What do you think is going to happen in the next couple of years?

Devon Zuegel: Yeah, I think there's a lot of directions Sponsors could go. Really it's still in its infancy, I think. What we built was really just these building blocks of sort of financial relationships between people on the platform, which can I think be used in a lot of different ways. I think what I would love to see the company and the team think about is how to use those building blocks to enable a wide range of business models for software.

Devon Zuegel: So right now, there's really four primary modes for paying for software. There's Software as a Service, SaaS. Which is what a lot of these unicorn tech companies are doing. There's licensing, which is not quite as popular but it used to be really popular and that's how Microsoft made its money in the '90s and still used sometimes.

Devon Zuegel: There's ads.Tthat's how Google is funded. And then there's free and voluntary through open source. I'm sure there's other ways to pay for software too besides those, but those are I think the big four. But unfortunately, those don't work for every type of software. They work great for certain things and free open source works great for certain things and you're going to get a lot of awesome things, but I think there's other types of software infrastructure that are really hard for people to work on long-term if they're not making any money.

Devon Zuegel: For example, the Heartbleed bug that happened, I don't know, a decade ago now, there are very few people who wake up every morning and think like, "I'm going to make sure that this core part of the internet is well-maintained and doesn't have vulnerabilities." It's just not on the top of most people's minds. It's not the thing that when someone has their winter vacation or whatever, they're going to spend their time contributing to that. And even if they did, that sort of fun short-termism I don't think is going to result in the longterm maintenance that we need.

Devon Zuegel: And so, in my opinion, we need to pay these people and we, we need to find business models that will support that. Luckily Hartley does get funding, sorry, not Hartley, HTTP protocol does get funding now because that crisis that happened. But there's other things like that, that we're probably not aware of, that need to get funded.

Devon Zuegel: So anyways, I think finding more business models that will solve for more of those problems is really crucial, because right now there's entire gaps of things that just don't get funded and as a result, don't really happen or they happen in a volunteer firefighter kind of way, as opposed to a professionalized, this is important infrastructure that our entire society is built on kind of way.

Beyang Liu: Yeah. Do you have any thoughts or guesses as to what those new business models might be?

Devon Zuegel: I think, one of the things I was exploring right before I left GitHub was the idea of making it easier to set up enterprise licensing agreements. Yeah, they're called ELAs. It wasn't something that I had... I didn't solve the problem, I don't quite know how to do it from a product perspective. But right now, ELAs, for those who aren't familiar, they come in a lot of different flavors but the basic idea is that someone who works on a particular piece of software can say, "You pay me on retainer basically and you pay me, let's just say $50,000 a year, and you can have three incidents this year where I'll come and help you, anytime, or I'll give workshops or whatever, you get some chunk of my time in some way that you want or support hours or something. And if you don't use it, then you still pay me. And if you do use it, then you still pay me. And if you go above, then you pay me more."

Devon Zuegel: It's basically a retainer, like the way you might have a retainer for a lawyer. And right now those are all done pretty custom and bespoke. And I think one of the things that GitHub could do is sort of lower the bar of legal knowledge and sort of business knowledge that you would need to be able to set up an ELA. I don't think that would solve for every single type of software that needs to get funded to be clear, but I think it's like another one of those tools to add to the tool belt to make it easier to start these types of businesses.

Beyang Liu: Yeah. It kind of the same way that there's like a couple of standard open source licenses now that everyone uses. Would you be thinking like a couple of standard ELA templates that people could use?

Devon Zuegel: Right, exactly. And I was sort of exploring, could we give a template where they sort of pick and choose their favorites and then we could also recommend a price. This is where it gets a little dicier because the maintainer does have more information about what they are offering and who they are and what the project is and who their customers are and stuff. But maybe, is there some way we could suggest what the price should be?

Devon Zuegel: Because one thing I've noticed is that open-source maintainers usually do not know how to price their time. They've priced it way too low. There's one person who had a sponsorship profile who was one of the most famous developers in the world, very technically amazing. And this guy was saying something like, "If your company sponsors me for $100 a month, you'll get 15 hours, let's say 20 hours to make it easy, 20 hours of my support time per month." And I'm like, "Honey, do the math."

Beyang Liu: Less than minimum wage.

Devon Zuegel: Yeah, it's significantly less than minimum wage and you're an extremely talented person who, you could easily be making like $300 an hour or more for the expertise that you have. Don't do $5 an hour." So anyway, we wanted to kind of nudge people and be like, "You can charge more than you think you can. Your time is valuable even though no one's paid you in the past maybe. Your time is actually very valuable."

Beyang Liu: Yeah. You think there's a crypto angle here at all? Just randomly thinking because you done a lot of work in cryptocurrencies as well.

Devon Zuegel: Yeah, I think crypto, I really am very interested in crypto because I see it as offering new primitives for how to trust each other without having... Everyone talks about not having to have a centralized source of truth. And I think that's just like has to be valuable, it just seems so important. I haven't really seen any applications to me yet, besides the cryptocurrencies themselves, like the Bitcoins and Ethereums of the world where that has really supercharged anything. But to be honest, I would be surprised if in 10 years we didn't have some really important use case of that. I just don't know what it is.

Devon Zuegel: I think also related to that, a concept that is really, really interesting about cryptocurrency is that, as the network gets more valuable, the holders of the coins become better off. I think of crypto tokens as very similar to like land in a city. So let's say 10 people move to an empty plot of land and they start improving it, they create a community there, people move there, more people start buying land, the price of the land goes up, because they were the first movers and they made a bet early and started investing in that place. Now suddenly they're benefiting from those rising land prices.

Devon Zuegel: I think crypto does the same thing. And so I think the key question is, how do you tie the token to the value that's created by the open source software? How do you create that linkage? And I think if someone answers that question, then tokens will be incredibly powerful as a way to invest and bring value back to the people who've invested in that network. So I see like a hazy shape but I don't know what the thing is to build to make that happen. But I see the pieces and I just don't quite know how they connect.

Beyang Liu: Interesting. Okay real quick, I've already kept you over time. Can you quickly share what you're up to next after GitHub?

Devon Zuegel: Yeah. So I left GitHub four months ago and I've been taking that time to just do deep research on things that I've always found interesting and go down different paths. And something I've been thinking a lot about, which is sort of related to the research I've been doing about like labor and business regulations in Central America is, I've spent a fair bit of time in Argentina in particular, which is not in Central America, it's in South America, and also in Panama. And I have just this, like very deep feeling that Latin America is filled with brilliant people who are held back by really poorly designed systems. And I want to figure out what the levers are for helping those people get to better systems that enable them to do the work that they want to do and create the value they want to create for the world.

Devon Zuegel: And to be very concrete about it, in Argentina, there's immense fluctuation in the value of the currency, which takes up a lot of the brain space of ambitious young Argentinians. That's a whole conversation in itself, but basically when I go down to Buenos Aries, I go there once a year because my boyfriend's family is from there, I feel like half of the conversations I have with people are about how to optimize their life so that their savings don't go to zero when inflation happens.

Devon Zuegel: Which is just tragic to me because these people are really, really smart and can do a lot. So anyway, I've been thinking like, what can you do? Sadly, I don't have any ideas for how to reform the Argentinian government and I also don't really know how to fix labor law in Honduras. But I'm thinking like, could you create alternatives where those people, like little zones or people could go that have better policies, or more stable policies at least. And I don't have the answer to that yet but I'm going down that path and looking for answers. So if anyone has the answer, let me know because I want to build it.

Beyang Liu: Awesome. My guest today has been Devon Zuegel. Thanks so much for being on the show.

Devon Zuegel: Thanks for having me, super fun.

Start using Sourcegraph on your own code

Sourcegraph makes it easy to read, write, and fix code—even in big, complex codebases.