Skip to main content.

How to Make a Positive Impact during Hacktoberfest

Season 10, Episode 4 | September 30, 2024

Welcome to Hacktoberfest!


This episode is brought to you by:


Show Notes:

Bekah and Dan explore the community's engagement with Hacktoberfest, a month-long event encouraging open source contributions. They discuss what Hacktoberfest is and what it means to be a positive contributor in the open source community. They highlight the importance of meaningful contributions, respecting maintainers' time, and provides tips for navigating and contributing to open source projects, and touches on ways to be a good open source citizen and the benefits of contributing consistently to a single project or organization. The episode emphasizes understanding project documentation and being patient with maintainers, while exploring various ways to support open source initiatives beyond writing code.

  • 00:00 Welcome to the Virtual Coffee Podcast
  • 00:25 Introduction to Hacktoberfest
  • 00:45 Sponsorship Shoutout
  • 01:08 Getting Started with Hacktoberfest
  • 02:01 The Origins of Virtual Coffee and Hacktoberfest
  • 05:01 How to Contribute Positively
  • 13:02 The Importance of Documentation
  • 18:04 Non-Code Contributions
  • 24:02 Building Relationships in Open Source
  • 26:25 Closing Remarks and Contact Information

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:

Transcript:

Bekah:

Hello and welcome to Season 10, Episode 4 of the Virtual Coffee Podcast. I'm Bekah, and Virtual Coffee is an intimate tech community that welcomes developers at all stages of their journey. So we're here on this podcast to share insights, experiences, and lessons that we've learned along the way.

Dan:

Welcome to Hacktoberfest. We are continuing to dive deep into our back pocket topics from our Tuesday Virtual Coffees. And well, since Hacktoberfest starts tomorrow, uh, we are going to be Theming our backpacker topics this, this month after, Hacktoberfest and all things open source. We continue to be grateful to be sponsored by Level Up Financial Planning. It 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, it is time to get started, so grab your favorite drink, settle in, and let's get started with today's Virtual Coffee Podcast. We hope you enjoy this episode.

Dan:

Yo, what up Beck? How's it going?

Bekah:

Hey! It is going well. How's it going with you?

Dan:

It's going very well. It is my favorite time of the year. It's Hacktoberfest. So what are we going to be talking about today?

Bekah:

Um, well, first of all, we should probably talk about what Hacktoberfest is, but we're going to talk about what it means to contribute positively and to be a good open source citizen this Hacktoberfest season.

Dan:

Okay, well, what is Hacktoberfest? Um, would you like me to take that one? Or Bekah, would you like to take that one?

Bekah:

I can get us started. So, actually, Hacktoberfest kind of kicked off the Virtual Coffee community. We had been doing Virtual Coffee for a while, but in October of 2020, I believe, we all participated in Hacktoberfest together, which is a month long event dedicated to contributing to open source that's sponsored by DigitalOcean. And so we had mentors, we had contributors, and I think we had some maintainers, including ourselves and the Virtual Coffee website. And so we walked folks through getting their first contribution and, uh, help them along the way to the path of four contributions, which you need to complete Hacktoberfest. So it's, was really great to be able to do that together and we've continued doing it after all of these years. Um, and I love the growth and the mentorship and the collaboration that we see. So, um, this is why we think it's so important to, like, prepare everyone and teach people what it means to positively contribute.

Dan:

Yeah, absolutely. Um, and, and, and just from a historical perspective, Hacktoberfest was started by a company called DigitalOcean, and they've done it every year, uh, and there's been different levels and different things they've done. Um, but we have kind of, um, Taking it, uh, for ourselves and, you know, like part of it is, yes, go ahead and contribute in the Digital Ocean Hacktoberfest, but we do so much stuff just with Virtual Coffee with Hacktoberfest. It's, it's a really fun time, for all of us to just come together and have a lot of fun and learn and contribute and everything. So I look forward to it every single year. Um, and this year is no exception.

Bekah:

Yeah, and so if you're listening today, uh, you need to register with Digital Ocean to complete Hacktoberfest if you want to join in all of the Hacktoberfest fun, and there's usually some type of incentive. They used to do t shirts. Last year they did digital badges and planting trees. Um, I'm not sure what they're going to do this year yet, but, um, I don't know. You can also track your pull requests, whether or not they've been accepted through their platform. So, you can sign up with them. If you're part of Virtual Coffee, you can sign up with us, and then that way we can support you as much or as little as you would like. So, that's how you get started.

Dan:

Yes. Um, we also in Virtual Coffee. If you're in Virtual Coffee, we do a similar thing where we track pull requests and do that, that kind of stuff too. And at the end of the year, we always, or at the end of the month, we try to do like a wrap up and do some statistics. How do you say that word? Statistics. We try to do some statistics. Um, and our, our community always, uh, kind of knocks it out of the park as far as like how many contributions we all had together, um, how much we can improve Everything that's working around us. So it's, it's very fun time.

Bekah:

Yeah, um, and so We want to talk today about what it means to be like a good open source citizen or how to positively make an impact during Hacktoberfest And so I think like this topic could be pretty broad, but I want to make sure that we're talking about contributors in particular because I know that There's been some pain point and even some criticism about Hacktoberfest because of the challenges it's created for some maintainers. Now, they've created some things, DigitalOcean has worked, um, to make it easier for maintainers to opt out. So if you're contributing to an open source project that doesn't say Hacktoberfest, um, in one of the labels, then that's not going to count towards your Hacktoberfest. And what that means a lot of times is, you know, maintainers don't have the capacity to be able to handle the influx of new contributors. And so it's really important to make sure that you respect that with maintainers and realize that, you know, although it can be great for some projects to have a ton of new contributors, sometimes it can be really overwhelming for them.

Dan:

Yeah. And I think the, you know, in the past they did a free t shirt if you won the one, if you contributed all of the things. And I think that really kind of pushed a lot of people to, to try to do that in a sort of cheap way, you know? Um, and so what would happen is lots of people kind of filing pull requests on the same issue or filing, like, fake or silly pull requests, or like adding a comma somewhere just to file a pull request. And that is, I mean, obviously not good. Um, and so what we concentrate with Virtual Coffee is, yes, like the goal is to finish for, you know, have four pull requests, um, accepted in open source projects. But, uh, for Virtual Coffee, we, we really kind of trust the meaningful part of that. Right. And so it, You know, it, it should be, that doesn't mean it needs to be groundbreaking, right? But it should not be some sort of, I think, junk pull request, you know, that nobody asked for, that you're just doing just because of Hacked Overfest. And I think you kind of, I think that you know, that's what you're doing if that's what you're doing. Right. And I would, I would say, You might not know that that's not okay, and it is not okay. You know, you might think, oh, it's just, they could just hit merge. It's not a big deal. Like, who cares? But, it, it, it turns into a big deal. And maintaining open source projects can be, um, I mean is very time consuming and can be kind of soul crushing, and so if you have a hundred, you know, numskulls coming in, and and adding commas to, to some string somewhere, uh, in a readme, or whatever, and then lots of times the people who do that would also be kind of rude in the You know, in the comments, uh, saying, why haven't you merged this? Et cetera, et cetera. So, and it's also like, it is work to go through and close pull requests that you don't want to, you know, or, or reporting people who are abusing things and that all of that takes work, you know? Um, so I think now that they've removed the, sort of the t shirt, Um, reward. I hope that it has gotten a little bit better. Um, but it is still part of it. And so I think they did a smart thing where, um, maintainers, it's not an opt out thing, maintainers actually need to opt in, right, to act over fest. Um, and so I think that's, I think that's good too. And I hope that. Because I love it so much. And I feel like the, our community has done so much good work during Hacktoberfest, um, that I hope that, uh, it maybe can improve the, improve its, um, reputation, you know what I mean? And maybe so that you don't bring up Hacktoberfest and all of the open source maintainers start like sighing and rolling their eyes, right? Cause that's not what we want either. We want to help maintainers. We want to help open source projects, you know? Um, so

Bekah:

Right.

Dan:

that's kind of my deal. Yes.

Bekah:

At OpenSUS, we launched this feature a couple of weeks ago called the OSCR, the O S C R, Open Source Contributor Rating. And so, out of, you can get 300 points, and it includes things like submitting PRs, commenting on issues and pull requests, um, uh, following through with interaction in a community. And, but, the reason why I point this out is because If somebody's pull request is marked spam, it impacts your score in an incredibly negative way. And that's because it's serious. You know, maintainers face a lot of issues with burnout and sustainability, and many of them are not paid for the work that they're doing. And so they're spending their extra time on this. I think, you know, this is also important to note. You mentioned, like, how do you talk to maintainers? And, you know, one of the best things that you can do is be patient and be respectful. Because a lot of them, again, are giving their nights and their weekends to be providing a service for people. So if they don't approve your pull request, In a day or an or even a week I I think like give them a week, especially now when they have so many more contributions happening It's okay to check back in in a week and be polite and just ping them and say hey I just wanted to check on the status. Do you need me to make any revisions? You know not like why haven't you done this yet? You know?

Dan:

yeah, definitely. I think that's perfect phrasing too. The asking if you can do anything to help instead of demanding that they do something right, maintainers are under no obligation to merge anything that anybody does, you know, um, we all want them to do it, you know, um, but I mean, if you've taken the time to do a pull request, that means you think you're making a meaningful contribution, you know, hopefully. And so. It's, it's understandable to want, to want it and to be merged. And in my experience, you know, I'm, I'm usually excited about it. Um, especially if it's at a bigger project, you know, um, and that, you know, that doesn't always, it doesn't always happen. It doesn't always go the way you want. Um, sometimes it's not what the maintainers wanted or it's different or they had a different idea. Sometimes it's just, they haven't had time to look at it. And. Um, I think asking, is there anything I can do to, uh, to any revisions I can make or any, you know, asking in a way that makes it clear that you are, you would like it to be merged, but you would like to help get it merged. You know, uh, I think that's important and, and helpful because sometimes that'll be the impetus to have them either just merge it or, um, actually put into words like what, why they haven't merged it yet, you know, and that is, that's happened to me as a maintainer sometimes, um, where I have left a pull request open because I haven't, like, something is, you know, not quite right. It's not like I just glance at it and merge it kind of thing, but I haven't had the time to like really dig into explaining what's going on. Even to myself, why, you know, why it's not ready. Um, and that, that part, that takes work. It also takes work to talk to people. It takes work, you know, it, for me, it's an entire context switch to go from coding to like writing, uh, even a comment. Um, especially to somebody that I don't know, you know, and I like to be respectful as a maintainer as well, you know, to, if somebody has taken the time, Then I want to honor that as well, but it's all, it could be hard.

Bekah:

and I think you know, I want to back up a little bit here too because It's Before you even submit that pull request, one of the most important things that you can do is read the documentation. Try and run the project. I know I talked to someone last year, and they were saying like, Well, I wanted to contribute to this project, but the directions weren't clear, so I couldn't. And I said, Well, that's a perfect opportunity to contribute. You can write an issue saying that the directions aren't clear. Because now that will resolve the issue for the people behind you. And we, we talked about this in episode one of the podcast, but the maintainers put this stuff out there to guide you. So they are, it's not one on one mentorship, but think about it as like, they have created this as your mentor to help onboard you into contributing to this project. So you should read through the readme. You should read through the contributing guideline. You know what, open source, We allow contributors to self assign issues. And so some contributors will come in and say like, Can I take this issue? Well, like, obviously you haven't read through the contributing guideline. So I think I have a saved reply in some of our repositories that say, Thanks for your interest. Please read through the contributing guide and it links to that. And then they can learn, Okay, this is the process. This is how I do things. And then as a maintainer, it also saves me time from having to type that over and over. You know, the rule of thumb should be that you read the readme, you read the contributing guide, and if you're making a change that requires you to see something on the screen, at the very least, you need to run that project.

Dan:

Yeah. Uh, yeah. I mean, contributing guys, really good call. Um, some projects. Excuse me. Some projects, you know, require an issue that is assigned to a person before they'll accept a poll request. Some projects don't, you know, some projects you can, when you find an issue with the read me, just make a poll request to it. Um, that's not always gonna be the case. So reading the, the Reading Me and the Contributing Guide is a great call, but like that setup up stuff is a perfect example of like a read me. Um. Especially when you're talking about running the project locally. Perfect example of a place where improvements can be made because those reamings, um, can get out of date pretty quick, you know, and that's another like overhead of maintaining those things is another like overhead for being a maintainer. Um, also it sometimes is based on some assumptions, you know, like assuming I have Node installed or assuming I have, um, the right version of Node. And, you know, if it's a smaller projects, especially that somebody, you just did on their own, right. And open sourced it because they are good internet citizens, you know, um, maybe, you know, skimped on the readme because they have lots of things to do and they're trying to get worked on. Right. And so, um, we worked pretty hard on the Virtual Coffee readme for running the site. Um, and there's a lot of, you know, and we still had problems and we would try to improve it when, when those come up. But if you try to. Get a project running locally and it doesn't work when you follow the instructions, step by step. That's like, if you can figure it out, then, then, yeah, I mean, I'd say that's a great time to make an issue if that issue doesn't already exist and then put in there what you did. If you can figure it out, here's, here's what I also had to do while I had to install node or I had to, my node version was out of date or, you know, I didn't have, um, homebrew installed at all. Right. Uh, and, you know, there's lots of things you can run into that are. Just even just based on assumptions of a person's working environment. And then, um, and then aside from the assumptions, there are just things that somebody changed something in the setup, but didn't update the readme. And that happens all the time too. Um, that happens with, you know, obviously non open source projects as well. Uh, going back with Bekah mentioned our first episode of the season, uh, you know, we talked about like onboarding and all that stuff, um, that happens at work as well, right? Where you. Especially long going projects, the READMEs can be out of date very quickly. So it's always a great place for improvements. And also the kinds of thing that I like to see because as a maintainer, because it's Can be hard to keep up. Also, I can only, you know, uh, think about so many things at a time before I run out of things to think about, you know, and somebody is always going to run into a problem, you know, we have people that are on windows for instance, and I don't have any windows machine. Well, I have one somewhere. I don't like generally like test out my open source projects on it, you know, and there can be, there can be, you know, you can easily run into issues there. And so, uh, added a little section. Hey, if you're into Windows, make sure you do this thing. You know what I mean? Um, so, and that's the kind of thing I would love to know about as a maintainer. I want people to be able to run things. So, um, That's a great place for, for open source contributions as well. Like very valuable, meaningful ones.

Bekah:

Yeah, and I think that, you know, there's the, this idea that it's not meaningful if it's not code, and so I think exactly what you're saying is spot on. And I also think, you know, uh, we frequently see a lot of people who are new to tech in general joining Hacktoberfest. It's fun, it's collaborative, you get to do it with the community, um, but they're also kind of coding for the first time. Or they've never navigated a repository that's this big. And so it can be really challenging, and so what I would encourage you to do is, it doesn't have to be a code contribution to be meaningful. Thanks a lot. Exactly what Dan said, like those readmes, they go out of, uh, out of, the word?

Dan:

Out of date. Mm

Bekah:

Really quickly. Um, and so updating that is useful. I would say, you know, I, um, maintain a lot of documentation. And a lot of that stuff changes and I'll, you know, I've learned kind of the hard way that having a lot of screenshots, although it can be valuable, it is, they are really hard to maintain because the UI changes so quickly and then people are like, that's not what it looks like. I'm like, yeah, well, the button is just like, just slightly to the right of where it used to be, you know, like, um, but I think that, you know, if a maintainer has that image in there and you notice it's out of date, Creating an issue like, one, do you want to remove the image or would you like me to update the image? And both of those are valuable options and I think ultimately should be in the hands of the maintainer to decide, but it's useful to you know, provide that kind of support. So there are a lot of non code ways that you can contribute. I know another one, um, folks at Virtual Coffee have also provided translations for projects. Now again, I would say don't just add a translation because you think this would be a good addition. One of the challenges of translations, again, learn this the hard way, is that somebody has to maintain those. And so, like, for instance, if somebody translates, uh, the documentation in French, I don't have the ability to maintain that French translation because I don't speak French. And sure, I could use ChatGPT or some kind of AI, but It's not always what it needs to be. It doesn't have the right translation, but I can't identify, like, this is the wrong translation there. So I would say, you know, definitely take a look at those, um, non code solutions. And then also, you know, be aware of the time that you have to give. I know that a lot of us are really excited to contribute and we're like, I'm going to take on this big issue. Well, during Hacktoberfest to complete it, you need to take on four issues. And if that one issue is going to take you all of the month, then maybe that's not the right issue for you. So, um, just, you know, do kind of like a self evaluation, like, Where is my skill level? Will I need support? And one of the other questions I also get like why I ping the maintainer five times and they're not answering me Again, maintainers are busy and they don't have to be the one who is helping you with that. And so I always encourage people like, okay, well, what communities are you a part of? Can someone in the community help you with that? You know at Virtual Coffee, we have the help and pairing channel. We have a co working room where you can go in and ask questions. And so it's it's good To reach out to the community. If the open source project has a community that responds, then that's a great place to ask that question. It doesn't have to be the person who wrote the issue or the person who assigned you. It can be anyone that can help you find the solution to your problem.

Dan:

Yeah, totally. I, um, I mean, I agree. And this is one of the things that we do in Virtual Coffee as, as a community, as our Hacktoberfest thing is we try to help that situation, you know, um, not the general open, you know, the general, Help that we try to provide but we have mentors and we have some resources and we have We try pretty hard to find some Repositories that are accepting contributions that might have some good, you know beginning issues But yeah, I I think and I I've harped on this before the trying to learn too many things all at the same time can be very very hard very frustrating and I think that If you are brand new to all of this and you're stepping into Hacktoberfest and you are learning to code, learning open source for the first time, all that stuff, I would say concentrate on learning open source for this month instead of learning open source and coding and all of the other stuff. Um, because practicing that will get you much more comfortable and get you in a better place. And then you don't have to worry about that anymore. And you can concentrate again on, um, And open source can be really fun. Um, I know we've talked about a lot of downsides, but I, I've loved every time I've contributed to things. It, uh, even when, even now, and I've been a developer for a million years, and even now, uh, when I get, uh, pull requests accepted, By the smallest project, it's just like this tiny little thing that I was using and, you know, found a small tiny improvement, uh, and it gets accepted. It feels so good. It always feels good. Um, and the more you do it, the easier it gets, right? And, um, it's also very good practice for getting a job or, or having a job. You know, it's, it's good. It'll, it'll improve your, your skills. Both just your general communication skills and also your skills as a developer. Most places use some sort of Git provider, like GitHub. There's a couple other ones, you know, but lots of them have the same ideas. And, I don't know, it's all good. I also get to get out my pumpkin suit this month, so I'm excited about that.

Bekah:

I've got maybe like two last tips, um, and then feel free to add on or go in a different direction if you want. But, um, one of the things that takes a lot of time and effort is to familiarize yourself with a project. And so I've been encouraging folks to maybe find one project or one organization that has multiple repositories that you can contribute to because it decreases the mental capacity that you have to use. You already know how to use that project. You've already read the readme. And this kind of goes into the second point of it's great, maintainers love it when they have repeat contributors. So it's nice to see a lot of new and fresh faces during Hacktoberfest, but it doesn't have to stop with Hacktoberfest. When you invest in one project or one organization, what happens is you start to build relationships with the maintainers in the community there, and that's where you get a lot of, um, Like a very enriched experience, I think, by having those conversations, building those relationships, extending your network, and being able to grow within the project. So if you're thinking about like taking an approach, like should I do four different projects? Um, you can and that's fine and valid, but think about your goals for Hacktoberfest and where you want to be after it ends. Where do you want to be in November, in December, and do you want to continue to grow those relationships?

Dan:

Yeah, I think that's great advice. It might be a little tougher with Hectoberfest just because a maintainer might not want to assign four issues to a person, but I think if you do them one after another and they're not all full, then that's great. And over time, I think it's incredibly a good call. You know, as a maintainer, it's great when you know you can trust a person. And not trust, you know, I mean, whatever, but like, you, you, you know that a person understands the project, understands the, what you're trying to do and under, you know, isn't going to be, become abusive or whatever, you know, a bad, a bad person. Um, and, and yeah, like you said, it, it can also open lots and lots of doors for, um, All sorts of things. Fun projects, side projects, uh, actual work, you know, opportunities, all sorts of things. And having your name out there is always good, so. Um, I totally agree with you.

Bekah:

Alright, well, uh, thanks for tuning in to this episode of the podcast. We'll be back again talking more Hacktoberfest and open source next week. We hope you enjoyed this episode.

Dan:

Alright, thanks y'all. 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.