Open Source Maintainer Challenges and Benefits
Season 10, Episode 5 | October 8, 2024
Bekah and Dan share personal experiences of maintaining open source projects, highlight the benefits of creating a community of contributors, and offer insights into tools and strategies for effective project management and collaboration.
This episode is brought to you by:
LevelUP Financial planning
We're grateful to be sponorsored by LevelUP Financial planning, who understands the importance of finding balance between having an awesome life today, and being confident and excited about your future possibilities. If you want to take your financial confidence to the next level, check out levelupfinancialplanning.com.
Show Notes:
In this episode of the Virtual Coffee Podcast, hosts Bekah and Dan delve into the benefits and challenges of being a maintainer in open source projects, particularly during Hacktoberfest. They discuss the excitement and responsibility of maintaining projects, the joy of welcoming new contributors, and the importance of community building. The hosts also highlight the preparation involved in enhancing project onboarding and documentation, and the growth opportunities for maintainers. The episode also emphasizes strategies to attract contributors and the impact of efficiently managing open source projects.
Links:
- https://opensauced.pizza/learn
- Becoming an Open Source Maintainer
00:00 Welcome to Virtual Coffee Podcast
00:26 Hacktoberfest Excitement and Open Source
00:43 Sponsorship Shoutout
01:06 Grab Your Drink and Settle In
01:34 Maintainer Experiences and Challenges
03:44 The Joy of Hacktoberfest
05:08 Maintaining Beyond Hacktoberfest
08:13 The Importance of Onboarding
09:29 PrepTember and Readiness
11:01 Building Trust and Community
12:18 The Benefits of Being a Maintainer
17:32 Growing as a Maintainer
18:40 Marketing Your Open Source Project
21:06 Community Support and Resources
23:44 Wrapping Up and Final Thoughts
Sponsor Virtual Coffee!
Your support is incredibly valuable to us. Direct financial support will help us to continue serving the Virtual Coffee community.
Please visit our sponsorship page on GitHub for more information - you can even sponsor an episode of the podcast!
Virtual Coffee:
- Virtual Coffee: virtualcoffee.io
- Podcast Contact: podcast@virtualcoffee.io
- Bekah: dev.to/bekahhw, Twitter: https://twitter.com/bekahhw, Instagram: bekahhw
- Dan: dtott.com, Twitter: @danieltott
Transcript:
- Bekah:
Hello and welcome to season 10 episode 5 of the Virtual Coffee podcast. Virtual Coffee is an intimate community of people at all stages of their tech journey, and we are here on this podcast to share insights, experiences, and lessons that we've learned along the way. I'm Bekah, and I'm here today with my co host, Dan.
- Dan:
Thanks, Bekah. We are a week into Hacktoberfest, so I hope everybody is doing, uh, lots of open source contributions, um, and. We are going to be talking this week about benefits and possibly challenges of being a maintainer in open source. We are grateful to be sponsored by Level Up Financial Planning that helps you take your financial confidence to the next level. It's real financial planning to help you reach your goals and gain clarity on what actions you need to take now to maximize your tech career. Level Up even has a podcast where you can hear about some of the strategies he uses with his clients. Check out levelupfinancialplanning. com. And you can get that link in our show notes.
- Bekah:
All right, so now it's time to grab your favorite drink, settle in, and get started with today's Virtual Coffee podcast. We hope you enjoy this episode.
- Dan:
Yo, what up, Bekah? How's it going?
- Bekah:
Hey, what's going on? How's it going with
- Dan:
It's going very well. Thank you. It's Hacktoberfest, which is my favorite time of the year.
- Bekah:
Mm hmm. Same. Uh, and today we're talking about maintainers, so first question is, like, maintainers, how are you doing? One week in, what does it look like for you? Let us know in the chat.
- Dan:
Yeah, well I am having a lot of fun. I always do In he in October, Hacktober whichever way you wanna say it. Um, it's always a really exciting time for of coffee. Uh, I'm sure. Everybody remembers, but this is kind of how we, we trans transitioned from just kind of the weekly chats and the slack into a community that has goals and, you know, works together and things like that. So, um, open source time is always good. Hector fest is the best. Plus I just like October in general. I like the season. I like Halloween. Uh, it's decorative gourd season. I have my decorative gourds. There were, um, when we went apple picking. I could get seven of these guys for five dollars. So I got seven of them. I brought them all. I'm not going to show you every single one, but there's, there's seven of them over there. Um, so, you know, it's, uh, it's the best time of the year.
- Bekah:
It is. What is your favorite part of being a maintainer?
- Dan:
My favorite part of being a maintainer. I don't know. It's, it's sort of the, um, honestly, this is going to be a little, like, I like the I don't know if it's dopamine or whatever, but the feeling of having a thing out there and having people see it. And when you're a maintainer that has contributors, you know, that means they like your project enough that they also want to help it. And that, that feels awesome. You know, um, there's a lot of things I like about being a maintainer, but I think that's for me, the biggest, honestly, the biggest reason it's, it's a little, sometimes it feels a little selfish, but like, uh, it's, it's a way for me to harness that. That part of my like, loser brain into, uh, into like helping people and, and, and doing things like that as well, you know? So I, I, I tried to, um, you know, there's some things about yourself that you just can never change. And so I try to harness some of that for good when I can. How about you?
- Bekah:
Um, I enjoy Hacktoberfest. I enjoyed being a maintainer during Hacktoberfest and it's different from, I feel like, the rest of the time of the year, because most of the people that are contributing to Hacktoberfest are new. And so I know this can present some challenges for maintainers, but, um, when I know, like, oh, we're gonna have a bunch of, like, brand new folks who are contributing for the first time, I get so excited. So I, you know, I just, thanks. It's so great to see them make progress and to be really proud of themselves. And that's kind of like really what solidified this, uh, we call it VCHIVE, uh, Virtual Coffee Hacktoberfest Initiative for us because everybody was just so excited, proud of themselves, but proud of each other too. And my first year maintaining for Hacktoberfest as part of Virtual Coffee, I did my postpartum wellness app and I kind of didn't know what I was doing to be totally honest. And I pair programmed a lot. With contributors and those were like some of my best memories in tech because we were working through things together But then they were telling me their stories and I learned so much about the people so it wasn't Just about the technical aspects of the project, but it was like, oh wow, like this could solve a problem for someone. Um, I Still haven't gotten it in the App Store, but you know one day it will solve a problem for someone. Um, So I love that part of it. Outside of Hacktoberfest, it's really, um, I love the experience of being able to collaborate with people that I wouldn't have otherwise been able to collaborate with. So like if you're at a company, it's usually just your team, but your team is all of your different contributors, or repeat contributors mostly, in open source projects. And like, that's great because it gives you different viewpoints on things. Um, often times, like, you have different skill levels and you're able to kind of like, grow together. And so, you know, having that opportunity is just, Um, again, one of my favorite things too.
- Dan:
Yeah. Yeah. I love that. I mean, yeah, you're right. The experience during Hacktoberfest is a little different than the, um, rest of the year. Um, and our, our Hacktoberfest experience, I think has been from a maintainer perspective, very positive, at least mine is. Um, but you know, we, we put a lot of emphasis on it. Right. And so we're prepared for it. We're ready for it. We want it to happen. Um, I have felt like So many good feelings, uh, like all the times that we've gotten people, like their very first open source contribution and then their next three, right. In, in Hector Fest, um, for people that are just starting out, it's just, it's awesome. It feels so good. I, you know, it's like, uh, um, I was going to say like, we're stealing, I'm stealing their dopamine, but it's not that, you know, cause it's just like, it's just, it's great. You know, I see their contribution. I see their maintainer, like the maintainer of whatever project they, they contributed to. You know, accepting the pull request and uh, I don't know. It, it feels good. It always feels good. Um, so just lots of good feelings for me. Um, I know, you know, I, I know there's probably some open source maintainers out there that really hate Oktoberfest and I know why, you know, I mean, like there's lots of like people, contributors out there that are not actually trying to be contributors and all that stuff. Um, I hope that situation has been improving. I think it has, you know, um, but in general, you know, I, I know that there are. Other open source, you know, organizations or projects or whatever that do this kind of same thing that we do, where they prepare for it, they get ready, um, and they're ready for it. And then it turns into a good, a good thing. So I do like that, that change that they made where it's, uh, you know, I made this a couple of years ago, maybe where it's opt in, you know, you have to decide at the end. As a maintainer, you have to say, you have to say you want to participate in Hector Fest, right? Uh, for it to like count for the DigitalOcean stuff. Um, and so I think, yeah, I think in that case, it's, it's good. Totally.
- Bekah:
um, you know, I think 90 percent of software uses open source projects at some point, right? So it's like this huge amount. And we see all of these challenges in open source, which we don't have to get through or talk through today. But, um, one of the things that kind of, It doesn't solve the problem, but we need to think about is that new contributors, we need new contributors to projects. We need repeat contributors to projects. And there's often like not time to onboard folks. You don't, time or energy, like throughout the entire year. So also like if you have a designated time during Hacktoberfest to know like, this is the month I need to improve my onboarding because I'm going to have all of these new contributors, then you can kind of like cultivate those relationships with people and that ho and hope or encourage that they continue to contribute to your project post Hacktoberfest. Or at least, you know, like, I've set the baseline for what it means to be a positive contributor.
- Dan:
Yeah.
- Bekah:
In this month and like, hopefully we talked, uh, earlier this season about like the ripple effect of different things and you would hope like that time and energy that goes into cultivating these relationships in October, October, kind of ripple throughout the year and carry, um, forward to create like, positive impact on the open source ecosystem.
- Dan:
I agree. And like, you know, we, we, uh, we're in October now, but, you know, last month we, we call it, they call it PrepTember, right? That is part of the Hector Fest thing too. And it's honestly, uh, a time that I enjoy as well. Um, yeah. Because I think every open source, I'd just say any developer knows how quickly things can get out of date or, uh, like readmes and things like that, or maybe like just not as helpful, things like that. And I, I enjoy the process of, I want that stuff to be good. And I don't always have the, I don't know, the mental, you know, whatever, there's always something else to do. You know, like you said, when it's a, a known, you know, October 1st is when October 1st starts, like we need to be ready for that. It helps. It helps having a deadline, you know, I guess for that sort of thing. Um, so it, yeah, it's, it's a lot of fun.
- Bekah:
Yeah, and I think like it's also great to have the different perspectives of new contributors too. Um, and we talked, I think, last week about being able to see things differently when you're coming in new. So you can recognize like, oh, okay, this readme is not up to date or the documentation's not up to date. But, you know, having new folks in there, um, is really important. But the other thing is, If you create a good experience for new people, then they often will bring their friends as well. And so, I think, like, uh, we talked about trust capital earlier in the season, too. Um, and if you're working on creating, uh, I think it's beneficial for maintainers to think about, uh, building trust capital with contributors as well. Because when you build trust capital, With your contributors, they're more likely to return. And like we know that, um, it's a challenge for maintainers to not have repeat contributors because we, we also talked about this maybe last week, I can't remember at this point, but, um, the idea that if you're working on multiple projects as a contributor. You have to get up to speed with all of those projects. So it takes more time and it takes more effort to contribute to four different projects often than it does to contribute to one. And it's the same thing for a maintainer. If they are, uh, if they have 50 issues open and 50 different contributors, that will likely take More time than if you have 50 issues open, but you have 20 contributors tackling all of those issues. Because there will be less questions to answer. There will be, you know, they will already have been onboarded into the project. They'll understand what's going on there. Um, and so, again, like, you're, you're building that experience. You're adding to that trust capital. And then you have people that you can depend on to work on some of your issues.
- Dan:
Yeah. Yeah, I agree. Um, I was thinking about other benefits, right? So we're talking about like, right now we're talking about the good side of being maintainer, right? Um, so another thing that. You know, I mentioned like my favorite thing, right. Is just like the feel good stuff. Right. But if, if I'm thinking tactically, like there, there are some like really good benefits to being a maintainer as well. Um, one of them is experience, right? Especially if you are. Well, it doesn't matter what level you are being a maintainer is a different experience than anything else. Right? And so if you've never done that before, it doesn't matter if you've been developing for 20 years or one year, you know, um, I think that that is a really good and valuable experience, even if it never, you know, becomes something where you have thousands of contributors, all that stuff. Uh, honestly, I don't think you want to be there anyway, but, um, the, the process of getting it all set up is for one thing, I kind of find it to be fun, you know, um, but it also, I think teaches you a lot, um, teaches you a lot, not just for open source, but for work, you know, for real work too, that, that sort of stuff translates directly to your, you know, you know, if you're, if you're working in that world as well, it, there's a one to one, you know what I mean? Um, and it's, A lot of it is communication skills. A lot of it is, um, thinking ahead and doing some of the work, uh, to go back to what we were talking about in episode two, our trust capital, you know, I'm investing in it, right? So investing in yourself and. I think even if you, if you have something that you want to open source, even if you are like thinking in your head, nobody's ever going to use this. Why would I spend all this time? I think it's worth it. I think it's worth it. If even if it's something that helps you, um, I think it's worth making it really nice, making it cool, making the read me really good. Um, making sure it works for. Different, you know, local environments, you know, things like that. And, um, I don't know, I, I find a lot of value in being a maintainer, even for little tiny projects that I open source just for, honestly, for myself. And then if somebody else finds it, that's great, but I'm not, you know, I'm not out there like promoting them or anything like that. It's not, the goal isn't to have a million stars on GitHub. You know, the goal is, uh, an investment in myself goal, right. Is, you know, have a, have a project that I would, you know, If I came across it would, you know, consider contributing to, you know, um, yeah. And I found a lot of value in that. Yeah.
- Bekah:
a couple of weeks ago for PrepTember, IU and I ran a workshop on Intro to Becoming a Maintainer, and we'll drop that link in the show notes, uh, if you're interested. But, but, it's, you know, kind of this idea, one of the things that we talked about goes along with that, and, That if you're, uh, maintaining your own project, you learn and you grow a lot through that experience. And one of the things that I found, that when you're a maintainer, you actually become a better contributor. And that's because you really start to understand, like, the behind the scenes work that goes into being a maintainer. Um, I saw this tweet, um, I don't think I can find it right now, but I'll try to find it and link it but the idea was like Being a maintainer is like being able to work with all of your best friends But also in that office are a bunch of like random strangers that come and yell at you all the time, um, or don't like what you're doing. And so then you have to figure out like how to hang out with your best friends over other people yelling at you. Um, and I would say that's like probably not for most small personal projects that you're working on. But I think like the, the, the interesting, it was kind of funny, uh, to talk about, but also like knowing that you can really develop and deepen those relationships and also have empathy for other maintainers. So instead of like, oh, I submitted a PR yesterday, like, is it, why haven't you reviewed it? Right? Like the very next day, like, all right, can you chill out? I just needed to take an evening off or whatever. But, Um, it really helped me to have empathy for maintainers by becoming a maintainer to see like, okay, there's like a lot of challenges here that I didn't anticipate that I don't think that I could have grasped before. And so like one of the things that I had to do is like silence my GitHub notifications after five. Like I cannot have them on my phone because otherwise I'm like, oh, I got to check this out. And you don't want that.
- Dan:
Yeah. No, it, I mean like the, the, it can be hard to, yeah, I think that's a great idea. It can be hard to ignore that kind of stuff, even when it's good and helpful, you know, even when they're not like being rude or whatever, you get excited. I get excited about, um, people contribute to things, you know, to, to my, you know, my projects and the issues and the pull requests. I want to know about them. I want to, you know, like they're exciting, but yeah, you can't, you can't. Be 24 7 doing that. And so I think that's a very healthy thing of, of, uh, kind of turn that stuff off when you're out of work or out of the office. I mean,
- Bekah:
was gonna say, you know, another benefit of being a maintainer is, uh, you also grow a lot just out of necessity, right? Um, maintainers often have to wear a lot of hats, like, you should know how to review a pull request, you should know how to write a good issue, you should know how to provide feedback, but also then, I know, you know, one of the things IU and I have talked about are, are doing things like adding GitHub Actions to help you with your job, so you need to, you might find that like automating things makes your life easier, so have you set up those automations before? Well, I, you know, I think in the last year, I don't know that I've set up any automations before the last year really for Virtual Coffee. I'm just like, Dan, can you set up this automation? But to make my life easier and the lives of my co maintainers easier, like I've really had to evaluate like what needs the, the personal interaction. Um, and where can I automate some of this stuff? And that also helps me to figure out like, okay, how do you prioritize like human interaction with like technical response to things. And so. There's just so many, and you know, um, one of the big questions that I get from maintainers is like, how do I get people to know about my project? Right? And so in, if you do want to grow your project, if you want contributors, then also like, you got to put on your marketing hat too. And for a lot of people, like, that's not been on the radar of things, like, to do. Well, how do I market myself? Um, and there's lots of different ways that you can do that, but it's just one of those things that you might not recognize as a maintainer before, like, oh, there are all of these other skills that come with being a maintainer. And I think You know, as you grow, sometimes you find other people that are willing to do those roles, and that's great. Then you can delegate that to them, uh, and then you don't have to worry about it. But, like, initially, if you don't have a team of people, then you find, like, Alright, you're trying to balance all of this stuff, and then you figure out what to prioritize.
- Dan:
Yeah. Um, yeah, totally. You know, it, and I've always been, I'm, I'm in that camp of not good at the, you know, marketing self, self promotion stuff. And um, you know, I tend to like not do it and, and I'm, I'm okay with that, you know, but I'm not, I'm also like, I am okay with it, you know, um, and there, there are a lot of ways to. Do that. What one way that I have seen that's really effective is if you have a, let's say you have a project that solves some kind of problem, like it's a package that does a, does a task or something like that, um, is trolling, uh, and trolling in a good way, like, I mean, like going through, uh, stack overflow or issues on other projects. Where people are asking how to solve the problem that you have solved. And there's ways to be really annoying doing that, but there's ways to be good and helpful, you know, maybe like make it a suggestion, but like, Hey, I'm the maintainer of this project and I think this solves your problem. And, you know, if you want to give it a shot, I think you'll. They're like, I'm sure you can think of ways. Like there are like, there are ways to be really annoying and doing that too. Like, you know, obviously you got to balance that you got to balance that. That's true for any marketing, right? There's ways to be annoying and there's ways to be. Effective and finding the balance is somewhere in the middle. Um, but I think, um, if your project is, uh, something that is supposed to help people, um, then finding ways to help them, you know, like putting it in front of the people that need the help is, is probably going to be a good way to start. At least.
- Bekah:
And the other thing too, you can, if you're part of a community, that's a really great way to get involved and get other people involved too. And that's like a big focus of our Hacktoberfest initiative at Virtual Coffee. Like, being able to support each other and grow these projects together. And so during PrepTember we have a, uh, repository where people can add themselves as contributors. They can add projects that they're interested in contributing to or that has passed the checklist that we have for folks. And the idea is like to create a good experience for everybody.
- Dan:
yeah, that's another thing is, yeah, find, finding communities and projects, especially around Hacktoberfest of that are, that are looking for repositories. Another great way to do that. Because there's, that's always one of the biggest challenges in Hacktoberfest is where can I, you know, where can I find a project to contribute? So if you have a project to contribute, go find those lists and add yourself to them. Um, that is, that is a perfect thing to do. And I don't think annoying at all, right? That's like, if they're like, people are always looking for those. So yeah. Um,
- Bekah:
Yeah, that's a really good time to get involved in open source because, again, like you mentioned, projects have to opt in to open, uh, to Hacktoberfest now, so you know that they're there and they're waiting for things and then you'll often see people are trying to create more good first issues too, because we have a lot more people. Um, we do have, I, I did mention that IU and I did that workshop, there should be a video up there. for that on our YouTube channel. So we'll drop that in the show notes. And there's also the Becoming a Maintainer course that that's what we went through for this workshop. So we'll drop that as well. Um, just to provide some more resources, if you're interested in being a maintainer or if this is your first time being a maintainer, um, we have a section, we have a couple of sections that I think are super useful, like building and nurturing community, building your team. Um, and then maintainer power ups I think is one of my favorite ones and that's where we talk about things like, um, issue templates, no, issue forms and PR templates, GitHub actions and different things that can make your life easier as a maintainer.
- Dan:
And that's, that's, uh, you mentioned this before, but like learning those is, will be helpful in your work life as well, too. I think those I never would have dove into without being an open source, but we use those in work based exactly on the Virtual Coffee ones. Like we use them all a lot. So, um, so yeah, I think those. Those courses and everything that Virtual Coffee is doing. And Bekah in particular, and IU, um, shout out IU, are amazing and being a maintainer is fun, so please, please do it.
- Bekah:
Alright, well, that is our episode for today. We hope that you are all enjoying your Hacktoberfest. Let us know how it's going and we will see you next week.
- Dan:
All right. Bye everyone.
- Bekah:
Bye!
- Dan:
Thank you so much for listening to this episode of the Virtual Coffee Podcast. This episode was produced by Dan Ott and Bekah Hawrot Weigel, if you have questions or comments, you can hit us up on Twitter @VirtualCoffeeIO or email us at podcast@virtualcoffee.io. You can find the show notes, sign up for the newsletter, buy some VC merch, and check out all of our other resources on our website, virtualcoffee.io. If you're interested in sponsoring Virtual Coffee, you can find out more information on our website at virtualcoffee.io/sponsorship. Please subscribe to our podcast and be sure to leave us a review. Thanks for listening and we'll see you next week.
The Virtual Coffee Podcast is produced by Dan Ott and Bekah Hawrot Weigel and edited by Dan Ott.