[00:00.000 --> 00:08.660] So, yeah, today, I'm going to be talking to you about sustaining free and open-source [00:08.660 --> 00:14.320] software, exploring community, financial, and technical practices. [00:14.320 --> 00:17.680] I was trying to go for the longest title possible. [00:17.680 --> 00:19.160] Do you think it's long enough? [00:19.160 --> 00:20.400] Probably a little bit longer. [00:20.400 --> 00:21.960] Okay, so my name's Abby. [00:21.960 --> 00:24.520] I do run open-source maintainer programs at GitHub. [00:24.520 --> 00:29.280] I'm also an organizer for Sustain OSS, and I care lots about maintainers, about the [00:29.280 --> 00:33.720] open-source ecosystem, so I'm really excited to talk to you about that today. [00:33.720 --> 00:39.520] So before I dive in, I do want to say thank you to all of these names, all these handles. [00:39.520 --> 00:45.800] About a week ago, I tweeted about this talk, but also just asking for examples of sustainable [00:45.800 --> 00:48.480] open-source, and all of you really came through. [00:48.480 --> 00:53.920] There was a lot of responses, a lot of things to think about, and, yeah, it really changed [00:53.920 --> 00:57.600] how I was thinking of this talk, so it actually gave me more work, but I think it was worth [00:57.600 --> 00:58.600] it. [00:58.600 --> 01:01.720] You'll get to hear some insights from all of these people today. [01:01.720 --> 01:04.200] So thanks, especially if your name's up here. [01:04.200 --> 01:05.880] You're the best. [01:05.880 --> 01:08.520] So here's what we're talking about today. [01:08.520 --> 01:13.240] So it is my first time at FOSSTEM, so, yeah, thank you so much to the organizers for having [01:13.240 --> 01:14.240] me here. [01:14.240 --> 01:15.920] Yeah, it's been really fun. [01:15.920 --> 01:17.960] I've really been enjoying this conference. [01:17.960 --> 01:22.280] Everyone told me it was going to be really cold, but I think they forgot that I'm Canadian, [01:22.280 --> 01:27.840] and this is really nice weather, so it's great here, so I don't know what I'm talking about, [01:27.840 --> 01:30.920] but yeah, so I do want to share a little bit about myself, my background, and why I care [01:30.920 --> 01:35.800] so much about FOSSTEM, and then we'll go into sustaining FOSSTEM, and spoiler alert, I do [01:35.800 --> 01:40.320] think maintainers are a huge part of this, and then from there we'll look at those three [01:40.320 --> 01:44.280] lenses around how we can be sustainable through community, through financial, and through [01:44.280 --> 01:46.720] technical practices. [01:46.720 --> 01:47.720] So first some background. [01:47.720 --> 01:54.080] It's a picture of me and my grandma, my Lola, also my little brothers there. [01:54.080 --> 01:57.320] There are pictures of me and just my grandma, but I really liked this one, even though my [01:57.320 --> 02:01.640] brother is stealing the show, I don't know, it's fun, and I like how big my eyes look [02:01.640 --> 02:08.240] with my glasses, it's cute, but I started my career writing open source software at the [02:08.240 --> 02:12.320] Ontario Institute for Cancer Research, so this was really meaningful work for me, because [02:12.320 --> 02:16.960] my grandmother, my Lola, she had passed away from cancer, so this idea that I was helping [02:16.960 --> 02:21.840] someone else's grandma, someone else's Lola, was really powerful, and it was really, yeah, [02:21.840 --> 02:26.280] really meaningful work, but the longer I was in academia, the more I realized how often [02:26.280 --> 02:31.360] scientists maybe fudge their data a little bit, or not share parts of their data, just [02:31.360 --> 02:35.400] that they can get published, or they can get the best results, and get tenure or get that [02:35.400 --> 02:41.040] funding, and this was all happening at the expense of real innovation, so I was really [02:41.040 --> 02:45.400] outraged at that, that's when I got really into open science, especially using open source [02:45.400 --> 02:49.920] and open data to help us find the best innovations, because I do think if we're sharing and we're [02:49.920 --> 02:54.160] building upon each other's work, that's how we'll do the best in the world. [02:54.160 --> 02:59.400] So since then, my career has gone from maintaining open science tools to teaching open source [02:59.400 --> 03:04.360] best practices, and now at GitHub, I'm supporting the maintainers in this new world. [03:04.360 --> 03:07.960] I started about six months ago, so I'm still a bit new, actually seven months, I counted [03:07.960 --> 03:08.960] the other day, yeah. [03:08.960 --> 03:13.520] So I'm going to be sharing some of these experiences as we go through the talk. [03:13.520 --> 03:19.920] All right, so now, sustaining FOSS, again, supporting maintainers, so I did frame this [03:19.920 --> 03:25.240] talk about sustainability, around sustainability, I do like, I think there's a lot of conversation [03:25.240 --> 03:29.680] happening in that space, I do think it's important, but after that tweet and like the responses [03:29.680 --> 03:35.440] I was getting there, I realized, I care a lot about project resilience, and how projects [03:35.440 --> 03:41.080] are able to survive over time, so a slight shift, but I think it helped me really think [03:41.080 --> 03:47.600] about how are projects resilient and strong and able to withstand troubles that come their [03:47.600 --> 03:48.600] way. [03:48.600 --> 03:54.960] So to me, the biggest factor that affects software's ability to continue is maintenance. [03:54.960 --> 03:58.400] In this changing tech landscape, if something isn't maintained for a while, it will really [03:58.400 --> 04:00.160] quickly become outdated. [04:00.160 --> 04:04.240] So I really like this quote from Toby Longel. [04:04.240 --> 04:09.320] He's an open ecosystem strategist, and this quote says, in open source, the maintainers [04:09.320 --> 04:13.760] working on the source code are the scarce resource that needs to be protected and nurtured. [04:13.760 --> 04:17.080] And we're missing a bit of context where he's talking about the commons, and I'm a little [04:17.080 --> 04:22.800] bit too jet-lagged to have a commons and public good conversation right now, but I do think [04:22.800 --> 04:26.680] this is an important framing, and I think it's important to be thinking about maintainers. [04:26.680 --> 04:31.200] I know Nadia Agbaal in her book, Working in Public, she also frames this problem as the [04:31.200 --> 04:36.280] resource is the maintainer's attention and trying to get their time, but I really like [04:36.280 --> 04:40.640] this framing around the person itself of a maintainer, and really what can we be doing [04:40.640 --> 04:46.720] to support maintainers, so then we are best supporting resilient open source. [04:46.720 --> 04:50.160] So this aligns a lot with what I've seen in movement building, where there's a lot of [04:50.160 --> 04:55.240] investment in raising up new leaders so that the movements can continue, and we also see [04:55.240 --> 04:59.200] this in corporations where people are always like, there's a lot of leadership training. [04:59.200 --> 05:03.160] Leaders are really important in communities, and it's the same for open source. [05:03.160 --> 05:06.000] Maintainers are really important for these communities. [05:06.000 --> 05:11.160] So if we look at supporting maintainers, we're going to look at these three lenses, and you [05:11.160 --> 05:16.040] don't have to address your project with all three of those lenses at once, and that's [05:16.040 --> 05:19.040] why I made an event diagram, but we're going to look at these three. [05:19.040 --> 05:22.400] So the first is on the community lens with succession planning. [05:22.400 --> 05:24.840] This one might not be as intuitive, so I'm going to dive into that a little bit more [05:24.840 --> 05:26.340] soon. [05:26.340 --> 05:30.720] The next one in pink is the financial side, so paying maintainers, and this is what we've [05:30.720 --> 05:35.600] heard a lot about lately, getting money to them, and the third one in blue is on the [05:35.600 --> 05:38.840] technical side, making it just easy to use and get started. [05:38.840 --> 05:43.320] So really supporting maintainers by taking away some of the maintainer burden, but also [05:43.320 --> 05:47.720] if a project is suddenly unmaintained, making it easy for someone to just take it and then [05:47.720 --> 05:50.120] run with it. [05:50.120 --> 05:55.560] And then just looking at the overlap pieces, say you have the pink and the blue, you have [05:55.560 --> 06:01.840] the financial piece and the technical piece, but you don't have that community piece. [06:01.840 --> 06:05.280] That's often like corporate open source, especially if they're not really investing [06:05.280 --> 06:09.960] in the community, and I think that's still valid and still fine, and this way it's okay [06:09.960 --> 06:14.160] because they can just pay new maintainers to come on board usually. [06:14.160 --> 06:17.640] So you don't really need all three of them to be completely sustainable. [06:17.640 --> 06:21.440] And then if you have just the green and the blue, so the community side and the technical [06:21.440 --> 06:27.160] side, but not that financial piece, that's like maybe a hobby project. [06:27.160 --> 06:32.680] I also really like how the open source archetypes, they have one, this is a report that was put [06:32.680 --> 06:37.760] up by Open Tech Strategies in Mozilla, they have an archetype called single maintainer [06:37.760 --> 06:38.960] houseplant. [06:38.960 --> 06:42.640] So if you're just like a maintainer by yourself, just like watering your little plant, you don't [06:42.640 --> 06:47.160] really need funding, funding might actually just hurt the project, but if it doesn't need [06:47.160 --> 06:49.400] that much maintenance, that's also fine. [06:49.400 --> 06:53.720] And then the last piece there, where you have the pink and the green, so you have the financial [06:53.720 --> 06:58.440] piece, you have the community piece, but really it's technically like it's just hard to get [06:58.440 --> 07:01.280] started, hard to use. [07:01.280 --> 07:05.200] That's often specialty libraries where you need like a really deep expertise in something [07:05.200 --> 07:06.480] to get involved. [07:06.480 --> 07:11.040] So those communities tend to have like very few maintainers that are very specialized, [07:11.040 --> 07:17.520] and they're still able to sustain over time, but they have other pieces to help with that. [07:17.520 --> 07:21.960] And you can probably survive with just one of these three, but I didn't map out all of [07:21.960 --> 07:23.680] them, it's a lot of things to map. [07:23.680 --> 07:28.400] All right, so the first one we're going to dive into is that succession planning, it's [07:28.400 --> 07:30.480] the community practices. [07:30.480 --> 07:35.040] So I did take this term from the corporate world, so companies often like look at succession [07:35.040 --> 07:40.080] planning to make sure that their companies will survive over long periods of time. [07:40.080 --> 07:44.720] And also you don't need to have this in open source, like BDFL is a model that we've seen [07:44.720 --> 07:51.280] many successful open source projects with BDFLs, but I do think that like tech is relatively [07:51.280 --> 07:55.720] new and open source is even newer, and that we're only starting to see people retire or [07:55.720 --> 07:58.960] we're starting to see people like get tired of maintaining packages and just delete them [07:58.960 --> 08:00.120] all. [08:00.120 --> 08:04.880] So I think we'll be thinking more about succession planning as we're seeing this natural churn [08:04.880 --> 08:08.920] of people go through the ecosystem. [08:08.920 --> 08:12.640] And I did have a conversation after that, I am really glad I tweeted about this talk. [08:12.640 --> 08:18.040] I should have said I set a goal earlier at the end of last year, it's a tweet every day, [08:18.040 --> 08:22.240] I just wanted to push myself to do something, and I would not have tweeted that if I didn't [08:22.240 --> 08:23.240] have that goal. [08:23.240 --> 08:26.280] I like to just sort of work on things on my own, but I'm glad I did that, so I'm working [08:26.280 --> 08:28.040] a little bit more open. [08:28.040 --> 08:33.640] But I did have a conversation with Deb Goodkin, she's the executive director of FreeBSD, [08:33.640 --> 08:39.000] and she pointed me towards this quote from Kirk McCusick, he's one of the original core [08:39.000 --> 08:46.720] maintainers for FreeBSD, but he says, a successful project has to be able to change the leadership, [08:46.720 --> 08:52.480] otherwise leadership becomes dead wood, which leaves the project rudderless. [08:52.480 --> 08:58.080] And that was Kirk writing this, so it's really small on my screen, he's writing just a piece [08:58.080 --> 09:03.480] on building and running an open source community, the FreeBSD project. [09:03.480 --> 09:08.680] But I do think this view of succession planning is helpful when thinking about the community, [09:08.680 --> 09:11.940] and it's really helpful for large communities where it can be really overwhelming working [09:11.940 --> 09:17.200] with everyone, but if you're prioritizing succession planning, then you know where you [09:17.200 --> 09:20.600] can have the most impact for your community long term. [09:20.600 --> 09:26.160] So an example I'll talk about, I think the easiest way to bring in succession planning [09:26.160 --> 09:30.040] is when you're selecting who to mentor in your project. [09:30.040 --> 09:36.000] So I like to suggest these three criteria, so that you're selecting people who are most [09:36.000 --> 09:39.440] likely to become leaders within your project. [09:39.440 --> 09:44.360] So first is mission aligned, they actually care about this work and want it to succeed. [09:44.360 --> 09:48.960] So I know you've probably seen many people come to your project that are more extractive, [09:48.960 --> 09:51.800] they don't care as much about the mission, but they just want something from the project, [09:51.800 --> 09:53.280] they just want to get something out of it. [09:53.280 --> 09:57.360] They're still good to have in the community, you can still welcome them, I just wouldn't [09:57.360 --> 10:00.800] invest a ton of time in them if you're mentoring people. [10:00.800 --> 10:03.520] So first make sure they're mission aligned, they're there, because they actually want [10:03.520 --> 10:06.520] the project to be there long term. [10:06.520 --> 10:12.640] Second available, do they actually have the time and resources to contribute? [10:12.640 --> 10:15.520] And it's great that we have these mentorship programs where they can get paid for their [10:15.520 --> 10:19.320] time, so this does open the door for more people. [10:19.320 --> 10:23.000] But if someone really wants to be part of this project, but then they don't have the [10:23.000 --> 10:27.880] time, I wouldn't also invest that time into mentorship unless they get that time, or unless [10:27.880 --> 10:32.560] you get the funding to help support their time or whatever is needed there. [10:32.560 --> 10:36.000] And then the third one there is willing to learn from whoever is mentoring them. [10:36.000 --> 10:40.760] So you might notice I didn't put skills needed, I know some projects will add skills as a [10:40.760 --> 10:45.640] different set of criteria, but I think it's much easier to find someone who's just willing [10:45.640 --> 10:47.520] to learn those skills that they need. [10:47.520 --> 10:51.280] And there will be a lot of project knowledge that you'll need to transfer on to them as [10:51.280 --> 10:54.080] a new maintainer. [10:54.080 --> 10:58.360] Yeah, but I would add anything that really can't be taught. [10:58.360 --> 10:59.360] You can put there. [10:59.360 --> 11:03.360] Yes, I think that's what I had for this side. [11:03.360 --> 11:05.360] All right, so I'm going to look at this case study. [11:05.360 --> 11:09.000] So this is work that I did at Mozilla, and I was running Mozilla Open Leaders. [11:09.000 --> 11:13.680] And each of these dots is a project that went through our training process. [11:13.680 --> 11:15.760] And yeah, so it was a mentorship program. [11:15.760 --> 11:20.240] So when they entered, they had to apply, and we would give them questions based on that [11:20.240 --> 11:22.000] criteria I shared before. [11:22.000 --> 11:27.520] So the mission for this program was really about strengthening open projects and communities [11:27.520 --> 11:28.520] around the world. [11:28.520 --> 11:32.160] So you'd ask some questions around what does openness mean to you, or why do you want to [11:32.160 --> 11:37.880] work open to see if they were mission aligned, or did they just come to get some training? [11:37.880 --> 11:42.880] We asked questions around what do you hope to learn from a mentor, how do you learn best? [11:42.880 --> 11:48.840] And then also made sure that they understood, hey, we want 10 hours of your week each time. [11:48.840 --> 11:50.740] And really setting those expectations. [11:50.740 --> 11:56.440] So by setting those expectations, we set quite a high bar for people coming through. [11:56.440 --> 12:00.360] But I think if we hadn't set that, and we were just getting people who maybe wanted [12:00.360 --> 12:04.480] to be mentored, they may not have been willing to give that 10 hours. [12:04.480 --> 12:07.200] But setting them up front lifted that bar. [12:07.200 --> 12:13.880] So we got more people that were really excited about the mission and wanted to help. [12:13.880 --> 12:14.880] Yeah. [12:14.880 --> 12:19.240] Oh, yeah, so then doing that really helped with some incredibly high retention rates. [12:19.240 --> 12:22.960] So especially at the beginning, you'll see the orange dots are the people that came back [12:22.960 --> 12:23.960] and mentored others. [12:23.960 --> 12:27.000] So they actually did become leaders within the community. [12:27.000 --> 12:30.920] So our retention rate was as high as 85% in the early days. [12:30.920 --> 12:37.520] It gets lower as you scale, because it is harder to keep that quality up over time. [12:37.520 --> 12:41.680] And then even after the program finished, so we did spin down this program, we spent [12:41.680 --> 12:48.160] one more round decentralizing it, and just working with past graduates to run 10 community [12:48.160 --> 12:49.360] led projects. [12:49.360 --> 12:53.840] And many of those are still running today, and they continue to mentor hundreds of students, [12:53.840 --> 12:56.280] not students, projects a year. [12:56.280 --> 13:00.640] And when I last checked, they've collectively raised over a million dollars from funders [13:00.640 --> 13:03.680] like NASA and the C.C. Chanzakaburg Institute. [13:03.680 --> 13:06.320] And I haven't checked in about a year, so it might be more now. [13:06.320 --> 13:10.280] But it's exciting just to see, even though I wasn't running this anymore, this mission [13:10.280 --> 13:11.280] was still going on. [13:11.280 --> 13:15.200] There's people still learning about open source in their fields. [13:15.200 --> 13:20.240] And I was going to make one more slide with all the people doing this, but I was very [13:20.240 --> 13:23.760] tired today when I was making slides, so I didn't make one for that. [13:23.760 --> 13:24.760] Okay. [13:24.760 --> 13:26.760] All right, so succession planning. [13:26.760 --> 13:29.440] So just a couple of notes. [13:29.440 --> 13:33.240] Adding a selection step and criteria will really help you prioritize who you're going [13:33.240 --> 13:35.080] to invest time in. [13:35.080 --> 13:37.360] And you just can't mentor everyone. [13:37.360 --> 13:40.840] There's a lot of people that will want your attention in an open source project, but this [13:40.840 --> 13:45.960] is a nice way to sort of filter, so that you're prioritizing for the long-term success of [13:45.960 --> 13:48.600] your project. [13:48.600 --> 13:52.040] Another place where succession planning can be helpful is when you're thinking about [13:52.040 --> 13:56.000] faucets incubated at a company, or like corporate open source. [13:56.000 --> 14:03.520] So if, especially if there's open source happening at a company that's not part of the core business, [14:03.520 --> 14:07.800] it might be time to think about where that project will go next in terms of succession [14:07.800 --> 14:08.800] planning. [14:08.800 --> 14:11.840] So a couple examples, maybe that will still spin out into foundation. [14:11.840 --> 14:16.400] So an example is the REST project, so that was at Mozilla for a very long time, but they [14:16.400 --> 14:21.400] spent out now they're at the REST foundation, or partner with other companies for shared [14:21.400 --> 14:22.400] governance. [14:22.400 --> 14:26.080] So the example I put there was Kubernetes, which was at Google, but now it's part of [14:26.080 --> 14:31.240] the shared infrastructure, so a lot of the big tech companies have this shared governance [14:31.240 --> 14:35.360] over this shared infrastructure that they all use. [14:35.360 --> 14:37.480] Okay. [14:37.480 --> 14:41.480] Their circle was the pink one, PayMaintainers, yay. [14:41.480 --> 14:50.560] So some financial practices, oh yeah, I'm a huge fan of GitHub, I work at GitHub, but [14:50.560 --> 14:55.400] a lot of times when a project joins a foundation, you won't necessarily get money directly to [14:55.400 --> 14:56.400] the maintainers. [14:56.400 --> 15:00.920] You'll get a lot of support, like ecosystem support, but I am so glad that there's companies [15:00.920 --> 15:06.960] like this and products like this, like GitHub sponsors, like Thanks Dev, they're here, yay. [15:06.960 --> 15:12.160] StackAid, open source collective, Tidelift, there's so many different groups just helping [15:12.160 --> 15:15.880] money get directly to maintainers, which is amazing, and I'm glad we're seeing so many [15:15.880 --> 15:16.880] of them. [15:16.880 --> 15:22.280] I actually saw this tweet from Justin Dorfin this morning when I was still making my slides. [15:22.280 --> 15:26.920] He wrote, if you told me 10 years ago we would have multiple businesses building services [15:26.920 --> 15:31.080] to help sustain open source projects, I would have been skeptical, can't imagine the next [15:31.080 --> 15:32.080] 10. [15:32.080 --> 15:36.320] So I completely agree with Justin, it's great seeing so many of these. [15:36.320 --> 15:41.160] So just to share a little bit more about GitHub sponsors, there's this explore page. [15:41.160 --> 15:46.320] So if you go there, you'll see the projects that your account depends on, and which ones [15:46.320 --> 15:50.800] are eligible for sponsorship to make it a little bit easier for you to sponsor projects. [15:50.800 --> 15:54.920] And one of the first projects that I worked on when I joined GitHub was this maintainer [15:54.920 --> 15:59.320] month sponsorship where we had half a million dollars, and we distributed that to across [15:59.320 --> 16:03.320] all of our dependencies, just evenly across everyone who had sponsors turned on. [16:03.320 --> 16:08.880] So it's really fun seeing everyone get their 500 bucks as part of maintainer month. [16:08.880 --> 16:11.280] And that's going to be part of the actual product soon. [16:11.280 --> 16:16.040] So bulk sponsorships are coming out, so it'll be much easier for you to just upload a list [16:16.040 --> 16:22.600] of maintainers that you want to give money to, and then it will spread it out. [16:22.600 --> 16:26.400] And then just a little bit more about paying maintainers, the funding landscape has changed [16:26.400 --> 16:29.320] dramatically in this past year or so. [16:29.320 --> 16:31.440] There's far more money available in open source. [16:31.440 --> 16:35.720] So the open source collective saw a 30% increase in payment to maintainers. [16:35.720 --> 16:39.520] And there's a lot more emphasis on securing the supply chain, especially after the Biden [16:39.520 --> 16:45.320] administration's announcement with that executive order on improving the nation's cyber security. [16:45.320 --> 16:49.160] And then this is an NSF grant and the pathways to enable open source ecosystem. [16:49.160 --> 16:51.960] There's just so much more money going into open source. [16:51.960 --> 16:54.120] I only highlighted like two of them there. [16:54.120 --> 16:55.800] There's a lot. [16:55.800 --> 17:01.400] So it's great that money's there, but how do we actually set projects up in a way that [17:01.400 --> 17:04.200] will give ongoing support to maintainers? [17:04.200 --> 17:09.520] And this is a really complicated question, especially if there's multiple maintainers [17:09.520 --> 17:13.240] on a project, like how do we do this equitably, which maintainers get paid? [17:13.240 --> 17:15.000] I'm not going to answer that here. [17:15.000 --> 17:20.360] Again, I'm far too jet-lagged for that, but we do have some models that I think we can [17:20.360 --> 17:26.760] follow and we can learn from that seem to work for supporting certain types of open [17:26.760 --> 17:27.760] source projects. [17:27.760 --> 17:29.760] I am really excited for the GitHub Accelerator. [17:29.760 --> 17:33.000] I think they're gearing up for their first cohort right now. [17:33.000 --> 17:34.840] Applications closed at the end of last year. [17:34.840 --> 17:39.120] But talking to Nathan, she's really interested in just seeing these new models arise. [17:39.120 --> 17:43.040] But I'm going to talk about just three models that we have today. [17:43.040 --> 17:44.040] I grouped a few things. [17:44.040 --> 17:47.960] I don't know if you can tell, but I'm a really big fan of the rule of three, so I will tell [17:47.960 --> 17:50.080] you things in threes. [17:50.080 --> 17:52.320] But the first is tips and donations. [17:52.320 --> 17:58.560] So this can be going to an individual or the donations can be going to a foundation. [17:58.560 --> 18:02.960] The second is getting hired at a company to do open source, and this is when the project [18:02.960 --> 18:07.040] is not governed by that company, it's governed outside, but they're paying you to do open [18:07.040 --> 18:08.040] source. [18:08.040 --> 18:11.360] And then the third one is that the company actually does open source and they're governing [18:11.360 --> 18:14.400] it, and then you're part of helping that. [18:14.400 --> 18:17.920] So I'm going to go through these three and talk about some examples, and sometimes when [18:17.920 --> 18:21.080] it works really well and maybe doesn't. [18:21.080 --> 18:26.080] So the first one with the tips and donations, again, it can be to a foundation or an individual. [18:26.080 --> 18:28.880] This works really well for visible projects. [18:28.880 --> 18:35.760] View is an example that's gotten a lot of sponsorship and donations, but I haven't used [18:35.760 --> 18:40.520] really good at that marketing, and view is a project that many developers use. [18:40.520 --> 18:43.200] It's very top of the stack. [18:43.200 --> 18:44.200] It's not really hidden. [18:44.200 --> 18:50.360] So people make a cognitive decision to use view, which helps make a decision to sponsor [18:50.360 --> 18:51.360] view. [18:51.360 --> 18:56.880] The second is content creators, Caleb has written a lot about how he's able to sustain [18:56.880 --> 19:01.920] a career just on GitHub sponsors donations, and a lot of that is he's creating content [19:01.920 --> 19:03.920] around the open source that he's building. [19:03.920 --> 19:08.520] So it's more of a Twitch stream model where people are excited to see, and he's a really [19:08.520 --> 19:10.760] good marketer, I think. [19:10.760 --> 19:13.640] So it's great that people are able to work like that. [19:13.640 --> 19:19.640] I also don't think that an open source maintainer has to also be a marketer. [19:19.640 --> 19:23.720] There has to be a way that we can get money to those people that don't naturally have [19:23.720 --> 19:26.440] Caleb's gift for marketing. [19:26.440 --> 19:29.920] And then the third is maintainers in lower cost of living areas. [19:29.920 --> 19:34.040] So I actually interviewed COVID Goyle, I'll go to the next slide. [19:34.040 --> 19:36.080] So here's a little clip. [19:36.080 --> 19:38.800] So I interviewed COVID Goyle and Carlos Becker. [19:38.800 --> 19:42.560] COVID maintains caliber and Carlos maintains a go-releaser. [19:42.560 --> 19:47.880] Yusuf Victor was also in this panel, but he didn't talk about this topic, so he's there. [19:47.880 --> 19:50.160] But if you watch it, you can see him. [19:50.160 --> 19:54.440] But both of them agreed that the strength of the US dollar really helped. [19:54.440 --> 19:57.080] So Carlos is in Brazil, COVID's in India. [19:57.080 --> 20:02.160] And COVID was saying, by moving from the US to India, he was actually able to sustain [20:02.160 --> 20:04.960] himself full time on the open source donations. [20:04.960 --> 20:06.620] He actually has a really cool story. [20:06.620 --> 20:11.400] He talked about how when he was in grad school, his parents would give him some pizza money. [20:11.400 --> 20:15.200] And then something happened with a credit card, and it stopped working, so he was like, [20:15.200 --> 20:19.320] well, what if I just turn on sponsorships, this is before sponsors existed. [20:19.320 --> 20:24.600] So he just turned on like a little PayPal donate button on caliber, and he started getting [20:24.600 --> 20:27.120] sponsorships, and people started donating. [20:27.120 --> 20:30.440] And then he was able to have that pizza money, they grew to be a little bit more than pizza [20:30.440 --> 20:31.440] money. [20:31.440 --> 20:35.400] And then when it came time, when he and his wife both finished grad school and they were [20:35.400 --> 20:39.160] thinking about what to do next, COVID was like, oh, maybe I can just do this full time [20:39.160 --> 20:41.160] because they were going to move back to India. [20:41.160 --> 20:42.160] And he was able to. [20:42.160 --> 20:46.520] So I think that's a really cool story, just how certain projects are able to survive off [20:46.520 --> 20:47.520] of donations. [20:47.520 --> 20:49.960] But I'll say it's a little tricky. [20:49.960 --> 20:57.680] All right, the second one is getting hired at a company to do free and open source software. [20:57.680 --> 21:01.640] So this is a great way for a company to have a direct line to the project, where they actually [21:01.640 --> 21:04.680] are paying for a maintainer to work on it. [21:04.680 --> 21:08.280] And it's great for the project to just have maintainers stably employed. [21:08.280 --> 21:13.120] So the example I put here was, this is Keeley Hammond, she works at Slack, and she's an electron [21:13.120 --> 21:14.520] maintainer. [21:14.520 --> 21:18.600] And I like this Read Me project piece on her, so I encourage you to go read it. [21:18.600 --> 21:23.000] But she just talks about being an electron maintainer and working at Slack and just how [21:23.000 --> 21:26.560] she's bringing in more of these non-code contributions. [21:26.560 --> 21:27.720] And we see this model happen a lot. [21:27.720 --> 21:31.960] I think Electron is the one that I'm highlighting here. [21:31.960 --> 21:37.400] But you do have to depend on that company to continually be sponsoring these folks. [21:37.400 --> 21:42.400] And the third one is that the company does free and open source software on their own. [21:42.400 --> 21:47.720] So if there's a few ways, this is a very sparse slide I'm just realizing. [21:47.720 --> 21:52.040] So if it's part of their core business model, I think Next.js and Vercel is a great example [21:52.040 --> 21:56.640] of this, where Vercel sells the hosting services so that it's just really easy for you to deploy [21:56.640 --> 21:59.640] your Next.js apps. [21:59.640 --> 22:03.880] And then I also grouped consulting services as part of this company does FOS. [22:03.880 --> 22:08.600] I know some people consult individually, a lot of people set up a company to do the consulting. [22:08.600 --> 22:13.400] So companies will hire you for your expertise on that project. [22:13.400 --> 22:15.240] And then you can sustain yourself that way. [22:15.240 --> 22:20.680] So again, from the Twitter thread, the Janus or Janus, I didn't learn how to pronounce that, [22:20.680 --> 22:27.600] the WebRTC server, they're able to sustain themselves through this consulting business. [22:27.600 --> 22:32.760] And that works when you're, again, when you're high enough on the stack, that people will [22:32.760 --> 22:35.760] realize they're using you. [22:35.760 --> 22:41.760] All right, so yeah, just to overview of what we talked about, these are the three models [22:41.760 --> 22:43.400] that I think work today. [22:43.400 --> 22:46.920] But I still think we need more models. [22:46.920 --> 22:51.040] I know talking to Nathan with that GitHub accelerator, she likes to ask that question, [22:51.040 --> 22:54.160] where is the Etsy model for open source? [22:54.160 --> 23:00.920] Where are the people who just create and then are able to get paid for doing that? [23:00.920 --> 23:04.600] It's hard with open source, because software isn't a thing that you can just take, but [23:04.600 --> 23:08.160] I'm hoping that this accelerator will help us explore that question and maybe try to [23:08.160 --> 23:10.600] figure out a nice model for that. [23:10.600 --> 23:16.240] All right, and that third lens was the technical practices. [23:16.240 --> 23:19.200] Just make it easy to use and get started with your project, technically. [23:19.200 --> 23:21.720] Again, this helps the maintainer burden. [23:21.720 --> 23:26.000] Maintainers won't have to walk you through getting your environment set up and everything. [23:26.000 --> 23:30.120] But also, yeah, if the project is suddenly unmaintained, ideally someone can just pick [23:30.120 --> 23:33.200] it up and go. [23:33.200 --> 23:36.400] So a few things, the best practices. [23:36.400 --> 23:42.320] The first three I actually took, I was consulting with the UNICEF venture fund, and this is [23:42.320 --> 23:46.640] actually a requirement for people to graduate from their incubator. [23:46.640 --> 23:49.000] They need to have documentation for everything. [23:49.000 --> 23:56.800] They need to have greater than 80% code coverage for tests and have CI CD involved. [23:56.800 --> 24:00.240] And the cloud developer environment, just making it easy for people to get started without [24:00.240 --> 24:03.680] having to figure out their local machine, I think, makes a big difference. [24:03.680 --> 24:08.200] Okay, so we're going to go through each of these again. [24:08.200 --> 24:15.920] With documentation, I know I already coded Kirk McCusick, but when I asked Deb, like, [24:15.920 --> 24:21.080] what did FreeBSD do really well early on that led to where it is today? [24:21.080 --> 24:25.680] And Kirk's response, he gave me a huge list, but one of them was emphasize documentation [24:25.680 --> 24:26.920] from the start. [24:26.920 --> 24:32.000] So making sure you're documenting things, really important. [24:32.000 --> 24:36.640] The next piece for testing in CI CD, again, it's just so much easier for people to come [24:36.640 --> 24:39.040] in and contribute to your code if there are tests. [24:39.040 --> 24:41.880] They can realize when something is broken. [24:41.880 --> 24:45.160] It's easier for you as a maintainer to know when you can merge something in or when you [24:45.160 --> 24:46.160] shouldn't. [24:46.160 --> 24:50.760] And then this is just a little gift showing how nice it is to have this all integrated [24:50.760 --> 24:57.320] using GitHub actions where everything is just all there together with your code. [24:57.320 --> 25:01.120] And then the last one, that cloud developer environment, I think Codespaces has been really [25:01.120 --> 25:03.520] nice for this. [25:03.520 --> 25:07.880] And you can just use the green button, we missed it in the animation, but then it launches [25:07.880 --> 25:11.440] this cloud IDE and then you're just right in the code right away. [25:11.440 --> 25:16.160] And now that Codespaces is offering 60 hours free every month for each individual, this [25:16.160 --> 25:20.640] is a great way for people to start coming into your project. [25:20.640 --> 25:24.040] And I was going to bring some of these business cards so you can talk to Craig. [25:24.040 --> 25:27.880] So Craig, he loves open source. [25:27.880 --> 25:33.000] Again I am jet lagged and I forgot these business cards at this event venue for later today. [25:33.000 --> 25:36.160] But you can take a picture of this if you want to talk to Craig. [25:36.160 --> 25:37.720] That's the link. [25:37.720 --> 25:43.200] And he's more than willing to help you get Codespaces set up so that individuals can [25:43.200 --> 25:46.040] just come to your project and get started quickly. [25:46.040 --> 25:52.280] All right, so just an overview, supporting maintainers through these three lenses, for [25:52.280 --> 25:57.200] the community side, their succession planning, from the financial side, paying them, from [25:57.200 --> 26:01.320] the technical side, making it really easy to use and get started. [26:01.320 --> 26:07.720] So if you are interested in any of these conversations at Sustain, I am one of the Sustain OSS organizers, [26:07.720 --> 26:12.120] we do have a conversation every other Friday where we talk about topics like this. [26:12.120 --> 26:16.080] So a lot of the information I got was from those conversations, so you can go to Sustain's [26:16.080 --> 26:19.240] discourse over there. [26:19.240 --> 26:23.960] But I also run GitHub's open source maintainer program, so if you want to talk about this [26:23.960 --> 26:29.160] with other maintainers, we do have a private maintainer community that we are just relaunching [26:29.160 --> 26:30.600] some new programming. [26:30.600 --> 26:36.080] So if you go there, you can request an invitation to the community and get involved. [26:36.080 --> 26:40.400] So huge thanks to everyone, I really appreciate being here. [26:40.400 --> 26:44.960] You can find me, I'm AbbeyCabs on GitHub and Twitter, I'm also on Mastodon. [26:44.960 --> 26:55.840] And yeah, thank you so much for having me. [26:55.840 --> 26:58.240] I'll now take questions. [26:58.240 --> 26:59.240] Thank you, Abigail. [26:59.240 --> 27:01.400] We have questions for Abigail. [27:01.400 --> 27:05.040] Just raise up your hands so I can get the mic over to you. [27:05.040 --> 27:06.040] Thank you. [27:06.040 --> 27:10.960] As I was preparing, I was like, oh, this will be easier if I have a long question period. [27:10.960 --> 27:16.240] But now I'm realizing I'm really tired, so please be nice to me with your questions. [27:16.240 --> 27:17.240] Hi. [27:17.240 --> 27:21.600] Thanks for the talk. [27:21.600 --> 27:24.640] So you are talking about ways to become a maintainer. [27:24.640 --> 27:31.560] There is another way that you don't talk about, which is working at a company and then convincing [27:31.560 --> 27:39.240] your CEO to open source your, for example, your core business. [27:39.240 --> 27:48.520] And so if I was CEO of a company, how would you convince me to switch to open source? [27:48.520 --> 27:50.400] Oh, all right, yeah. [27:50.400 --> 27:55.000] So you're saying that the other way to survive as open source project is to convince your [27:55.000 --> 27:57.600] company to run an open source business. [27:57.600 --> 27:58.600] Indeed. [27:58.600 --> 27:59.600] Yeah. [27:59.600 --> 28:02.280] So there's a lot of advantages to working open. [28:02.280 --> 28:03.280] I've talked about them before. [28:03.280 --> 28:07.520] I don't have them all written here, but big ones is like better products when you have [28:07.520 --> 28:13.920] a diverse community contributing, especially if your company isn't representing the diversity [28:13.920 --> 28:17.120] of the audience that you're working for or serving. [28:17.120 --> 28:18.320] Having that, that's good. [28:18.320 --> 28:23.280] Reduce production costs if you're sharing it across a big group. [28:23.280 --> 28:25.600] And also reduce support costs. [28:25.600 --> 28:31.120] And if your community is answering each other support questions, that's another way for [28:31.120 --> 28:33.160] reducing costs. [28:33.160 --> 28:35.120] And what's the other one? [28:35.120 --> 28:41.360] Also, if you want to be a de facto standard or if you want to be a platform by giving [28:41.360 --> 28:46.680] something away for free, more people will adopt it and then you can become that platform. [28:46.680 --> 28:49.840] So we see that with Android. [28:49.840 --> 28:55.000] So those are a few of the reasons I'd give off the top of my head, too, but it would [28:55.000 --> 28:59.480] depend a lot on what company I'm talking to and what their priorities are. [28:59.480 --> 29:03.560] And it's tricky to find a good business model that works with open source, but when you [29:03.560 --> 29:06.480] do, it's beautiful. [29:06.480 --> 29:07.720] Thanks a lot. [29:07.720 --> 29:14.080] What would you answer to someone saying, I'm not going to open source my code because [29:14.080 --> 29:18.360] I fear that people will be stealing it? [29:18.360 --> 29:20.680] Sorry, can you repeat? [29:20.680 --> 29:23.600] You don't want to open source your code because... [29:23.600 --> 29:28.440] People would be stealing it and copying basically your product. [29:28.440 --> 29:30.680] Oh, because you don't want to be copied? [29:30.680 --> 29:31.680] Yeah, exactly. [29:31.680 --> 29:32.680] You don't want to be stolen? [29:32.680 --> 29:35.120] Yeah, that is a tricky one. [29:35.120 --> 29:39.560] You could license it less permissively, instead of someone copies it, they'll have to license [29:39.560 --> 29:42.120] it the same way. [29:42.120 --> 29:43.120] You're answering really... [29:43.120 --> 29:44.680] You're asking tough questions. [29:44.680 --> 29:49.640] I asked for easy ones, but no, this is important. [29:49.640 --> 29:56.160] I say, yeah, you have to structure your business in a way where it doesn't matter if someone [29:56.160 --> 29:57.320] takes your code. [29:57.320 --> 30:01.800] So like the example I gave with Next.js and Vercel, like Next.js, anyone can take that, [30:01.800 --> 30:08.280] anyone can run it and do it themselves, but they're selling the server time and that computing [30:08.280 --> 30:10.360] time. [30:10.360 --> 30:13.520] So it doesn't matter to them if it gets copied. [30:13.520 --> 30:16.400] But I don't know, copying stuff, that's more innovation. [30:16.400 --> 30:20.320] It's better for the world often, so thank you. [30:20.320 --> 30:21.320] Thanks a lot. [30:21.320 --> 30:24.680] Any easier questions? [30:24.680 --> 30:32.520] There's a couple. [30:32.520 --> 30:33.520] You're next. [30:33.520 --> 30:34.520] Hi. [30:34.520 --> 30:39.560] Do you think GitHub itself will be open source in the future? [30:39.560 --> 30:41.880] Do I think GitHub itself will be open source in the future? [30:41.880 --> 30:47.400] I know that...Is this recorded? [30:47.400 --> 30:48.400] Yes it is. [30:48.400 --> 30:49.400] Yeah, I know... [30:49.400 --> 30:50.520] I'm sure it's fine if I say this. [30:50.520 --> 30:55.480] I know with Thomas Domke, he's the CEO of GitHub, he said in the past, like, what's stopping [30:55.480 --> 30:59.680] us if we open source GitHub right now, we just wouldn't be able to handle all the contributions [30:59.680 --> 31:01.240] and all the community coming in. [31:01.240 --> 31:04.600] I think that's one of the big reasons why they're not doing it. [31:04.600 --> 31:09.760] I wouldn't rule it out, maybe eventually, but yeah, our business model doesn't really... [31:09.760 --> 31:13.360] Yeah, the code itself, it's not there. [31:13.360 --> 31:17.320] It's more the hosting and the CI CD code spaces, things like that, where they're generating [31:17.320 --> 31:18.320] the revenue. [31:18.320 --> 31:19.960] Oh, and co-pilot now, yeah. [31:19.960 --> 31:20.960] Okay. [31:20.960 --> 31:21.960] Thank you. [31:21.960 --> 31:22.960] Thanks. [31:22.960 --> 31:23.960] Hard questions again. [31:23.960 --> 31:24.960] I hope it's okay. [31:24.960 --> 31:25.960] I said that. [31:25.960 --> 31:27.480] I'm sure no one will report me. [31:27.480 --> 31:29.480] Oh, this person was next. [31:29.480 --> 31:30.680] Okay. [31:30.680 --> 31:31.680] After that. [31:31.680 --> 31:32.680] Okay. [31:32.680 --> 31:33.680] Hi. [31:33.680 --> 31:36.440] Thanks for the talk. [31:36.440 --> 31:42.280] What would be your approach of sustaining a conference app, like the FOSSTEM one, which [31:42.280 --> 31:51.280] is only available for a weekend and then people do other things over the year, and yeah, like, [31:51.280 --> 31:53.240] how do you go about this? [31:53.240 --> 31:55.480] How would I go about sustaining a conference like FOSSTEM? [31:55.480 --> 31:58.840] I think FOSSTEM has done a really good job sustaining itself. [31:58.840 --> 32:01.560] It's grown so much, 8,000 people. [32:01.560 --> 32:04.560] It's just amazing to see the community come together and people get really excited about [32:04.560 --> 32:07.880] it. [32:07.880 --> 32:10.720] I don't know if I do anything that much differently. [32:10.720 --> 32:14.960] I think if, from what you said with how it happens only once a year, are you thinking [32:14.960 --> 32:19.600] about like getting, keeping people engaged through the year, then I might think start [32:19.600 --> 32:25.840] doing more online things in between as touch points or having more local things so people [32:25.840 --> 32:30.160] can have like their FOSSTEM in their city, the local meetups, just to keep people engaged [32:30.160 --> 32:31.160] over time. [32:31.160 --> 32:35.760] But I don't know, FOSSTEM seems to be going really strong unless there's something I don't [32:35.760 --> 32:38.760] know. [32:38.760 --> 32:46.920] Thank you so much for a great talk. [32:46.920 --> 32:53.920] I was a little bit surprised when you mentioned in the discussion about how to sustain a project [32:53.920 --> 33:00.600] financially that there was the case example of a person that moved to India and was able [33:00.600 --> 33:04.440] to sustain itself by working on FOSST, which is fantastic. [33:04.440 --> 33:11.040] But you used the word surviving, which seemed a little, yeah, it just surprised me because [33:11.040 --> 33:16.400] I think everybody can agree that people that maintain full-time FOSST projects, which is [33:16.400 --> 33:23.960] the infrastructure of a lot of the world, of IT really, should be, well, we all hope [33:23.960 --> 33:30.320] that one day we'll be able to pay these people a reasonable salary for their efforts and [33:30.320 --> 33:32.560] not just surviving. [33:32.560 --> 33:37.400] Now with that said, like you say, it's tricky to find business models that can financially [33:37.400 --> 33:39.240] sustain these projects. [33:39.240 --> 33:43.160] And GitHub is a company that has done so much for open source and plays such an important [33:43.160 --> 33:48.080] role and it also has enabled a lot of funding to start to arrive to maintainers. [33:48.080 --> 33:57.960] Now do you think that GitHub is now done finding new ways to find new models to sustain developers [33:57.960 --> 34:04.400] or is the conversation with GitHub still open where we could provide further feedback and [34:04.400 --> 34:10.320] provide novel ideas to tackle the business model of how to tackle the problem? [34:10.320 --> 34:12.440] Is GitHub open to new ideas? [34:12.440 --> 34:15.400] Yes, GitHub is open to new ideas. [34:15.400 --> 34:17.280] Actually join that private maintainers group. [34:17.280 --> 34:21.320] I think that would be really interesting avenue to have those kinds of conversations. [34:21.320 --> 34:25.400] And I think one of the big reasons why the GitHub Accelerator was set up was to help [34:25.400 --> 34:28.360] us try to find these models in better ways to pay people. [34:28.360 --> 34:32.480] Because like you said, I probably shouldn't have used the word surviving, but it's nice [34:32.480 --> 34:36.320] that COVID was able to do that, but that shouldn't have to be the norm. [34:36.320 --> 34:42.360] There's no way we could make all the open source maintainers live in India. [34:42.360 --> 34:45.120] I'm sure it's nice there. [34:45.120 --> 34:48.080] But yeah, there has to be a better way that we can actually sustain these people. [34:48.080 --> 34:50.560] So I think there's still a missing link. [34:50.560 --> 34:54.680] So I think you've identified there's still this missing piece and I don't really know [34:54.680 --> 34:55.680] the answer. [34:55.680 --> 34:57.960] There are people having these conversations and we're definitely open to hearing your [34:57.960 --> 34:58.960] thoughts. [34:58.960 --> 34:59.960] Thank you very much. [34:59.960 --> 35:00.960] I have a question. [35:00.960 --> 35:01.960] Oh, yeah? [35:01.960 --> 35:08.360] Yeah, you did talk about, I'll just have, my question would be a follow up like similar [35:08.360 --> 35:14.200] to what he just said about the financial maintenance of open source practitioners. [35:14.200 --> 35:16.080] So like, do you guys have a mechanism? [35:16.080 --> 35:21.520] How do you determine how do you reward somebody that is doing, like that is maintaining an [35:21.520 --> 35:22.760] open source platform? [35:22.760 --> 35:26.680] Like, how do you determine how much he should be rewarded? [35:26.680 --> 35:28.840] Sorry, what was the question? [35:28.840 --> 35:32.680] Like, how do you determine how much should someone be rewarded? [35:32.680 --> 35:35.040] Oh, how to determine how much someone is worth? [35:35.040 --> 35:41.160] Yeah, how he's rewarded, like for his involvement in an open source project. [35:41.160 --> 35:42.160] Yeah, yeah. [35:42.160 --> 35:46.360] Yeah, because like, for example, you might think like you have two people from different [35:46.360 --> 35:51.480] locations all contributing the same amount of hours, but then end up receiving different [35:51.480 --> 35:54.000] paycheck at the end of the month. [35:54.000 --> 35:55.000] Yeah. [35:55.000 --> 35:56.000] Yeah, no. [35:56.000 --> 36:01.400] And I think just the question for everyone, how do you, like if you have multiple maintainers, [36:01.400 --> 36:03.480] how do you know how much money should go to each person? [36:03.480 --> 36:06.600] And I think that's a really big question today. [36:06.600 --> 36:09.760] And I wasn't prepared to answer that in this talk. [36:09.760 --> 36:13.920] But I think, no, I've definitely heard of some projects where like one person is maybe [36:13.920 --> 36:16.600] in India, the other person's in North America. [36:16.600 --> 36:20.920] And then if they pay them evenly, the cost of living is so different. [36:20.920 --> 36:21.920] It just causes issues. [36:21.920 --> 36:25.240] Or like if one person started the project and they're still getting paid, but they're not [36:25.240 --> 36:28.320] an active maintainer anymore, like what happens there? [36:28.320 --> 36:29.840] There's a lot of open questions like that. [36:29.840 --> 36:31.840] And I think that really depends on the project. [36:31.840 --> 36:34.080] It really depends on the project governance and dynamic. [36:34.080 --> 36:36.960] It's really, that's a human, human problem. [36:36.960 --> 36:37.960] Yeah. [36:37.960 --> 36:38.960] But I agree. [36:38.960 --> 36:40.240] That is a big problem today. [36:40.240 --> 36:43.400] And it's a big problem for open source. [36:43.400 --> 36:45.400] How much time do we have? [36:45.400 --> 36:46.400] Okay. [36:46.400 --> 36:47.400] Okay. [36:47.400 --> 36:51.280] So this might be the last question, I think, yeah. [36:51.280 --> 36:52.760] I'll come here. [36:52.760 --> 36:53.760] Yeah. [36:53.760 --> 36:54.760] Hi. [36:54.760 --> 36:56.840] I'm a member of several organizations. [36:56.840 --> 37:00.080] And we are dealing with, in all of them, we are dealing with the same problem. [37:00.080 --> 37:02.600] We have new members coming in every year. [37:02.600 --> 37:04.880] And there is nobody to give them orders, basically. [37:04.880 --> 37:09.480] They would be very happy to help, but nobody tells them how. [37:09.480 --> 37:14.240] How can we get these people who are basically acting as middle managers for these organizations? [37:14.240 --> 37:15.240] Oh, man. [37:15.240 --> 37:16.240] Yeah. [37:16.240 --> 37:19.200] If you're in an organization, you have new people coming in, but then no one is telling [37:19.200 --> 37:21.400] them what to do or how to help. [37:21.400 --> 37:25.200] I think that's where establishing mentors is really important. [37:25.200 --> 37:32.760] And just finding people in your community already that's willing to onboard others. [37:32.760 --> 37:37.480] So that's why I really like programs like GSOC, Google Summer of Code, because it's [37:37.480 --> 37:42.240] good for bringing in the newcomers, but it's also good at finding mentors in the community. [37:42.240 --> 37:44.840] And this might be the first time they're stepping up in leadership. [37:44.840 --> 37:48.360] So that's a nice incentive, because they get a little bit of a kickback from Google also [37:48.360 --> 37:50.240] for mentoring. [37:50.240 --> 37:53.480] And they get the Mentor Summit and things like that. [37:53.480 --> 37:57.520] So yeah, I would think about it that way. [37:57.520 --> 37:58.680] What can you do to encourage mentors? [37:58.680 --> 38:00.600] It might be making a role for it. [38:00.600 --> 38:05.320] It might be giving them special titles and giving them some fancy thing. [38:05.320 --> 38:06.320] I don't know. [38:06.320 --> 38:08.880] A special dinner depends on what your community likes. [38:08.880 --> 38:09.880] Yep. [38:09.880 --> 38:10.880] Thank you. [38:10.880 --> 38:11.880] Cool. [38:11.880 --> 38:13.360] I think that's all for time. [38:13.360 --> 38:15.880] I'm around, so you can come chat with me. [38:15.880 --> 38:20.120] I did bring stickers and buttons, so you're welcome to come up here and get some. [38:20.120 --> 38:24.480] I have slightly less than I had for my talk this morning, where I accidentally gave far [38:24.480 --> 38:25.640] too much away. [38:25.640 --> 38:28.240] But this is how much is here. [38:28.240 --> 38:29.240] So thanks, everyone. [38:29.240 --> 38:30.240] It was great chatting with you. [38:30.240 --> 38:45.320] Thank you.