This year, with much coaxing from a teammate, I decided to participate in Hacktoberfest, the, now annual, event to encourage programmers of all levels of experience to make contributions to open source projects. Additionally, the first 50,000 people to make 5 Pull Requests on Github will get a free t-shirt from the sponsors of Hacktoberfest (this year Digital Ocean, Github, and Twilio). The pull requests don’t even have to be merged.
I’d have to say, its a little daunting at first. I’ve meant to contribute to projects for a while, but there never seemed to be enough time. It turns out that the opportunity for a free t-shirt really helps get motivated!
My initial concern was that I didn’t want to make insignificant contributions. That’s not to say that I wanted to make large contributions, insignificant meaning that I didn’t want to contribute to “toy” projects or projects aimed specifically at artificially inflating Pull Request count. I was basically looking for projects I’ve used in the past, or may look to use in the future.
After that initial wave of uncertainty, and being linked many projects by Stefan, I found several projects, small and large, to contribute to in somewhat meaningful ways. Adding a type synonym here, or adding missing documentation there. In some cases Github issues were enough to get started on a project, and in other cases a little digging is required to even have any ideas.
In some cases that digging uncovered small fixes that would help out the project, such as adding documentation on system requirements. Generally project owners are more than happy to accept help making the project easier to jump into for newcomers, so these Pull Requests were merged quickly. It turns out its pretty easy to find 5 small places to help out open source projects once you peek under the hood a little bit (in my case, 7 places in October). This is trivially true, of course, all of our projects certainly have 5 (or 10, or 100) places we could use a little help in, but it feels a little less daunting once you dip the toes in the first time.
One glaring thing I noticed while digging around for projects was the somewhat shocking number of bs projects that sprung up just for Hacktoberfest. These projects are intended simply to inflate PR count for github users, some being “Hello World” in many languages, others being simple repos to make a PR for “anything.” Occasionally these are a little more significant, like a repository to contribute data structures written in Java.
I’m not saying that repositories that house these sorts of things are necessarily bad in and of themselves, but they don’t really feel in the spirit of Hacktoberfest. Again, my contributions were all minor, so I’m not suggesting users go reorganize or re-architect their favorite code base. Ideally the event encourages users to dig into projects that they love and show that, rather than just collecting a t-shirt.
Unfortunately, outside of some sort of auditing mechanism (which I think exists in a small way), I don’t know what the solution to this is. It’s hard to say that these are invalid or not in the spirit of the event from an administrative POV. Just leaves a weird taste in my mouth.
Hacktoberfest, at least for me, has done a great job of nudging me in a direction I’ve been meaning to go for a few years since graduating - just contributing back to the open source community. Apparently I just needed a carrot to get started. Likewise, big shout out to Stefan if he reads this, thanks for pushing me to look into Hacktoberfest and the 1000 links to get started, both are much appreciated. Very excited to dig into those links more and keep a closer eye on some projects I use for personal and professional work.