Hacktoberfest has concluded for another year! Either as a contributor or as a maintainer, what are your reflections on Hacktoberfest?
Hacktoberfest is all about encouraging devs of all levels to contribute to open source projects. Much of Hacktoberfest is focused on the contributor point of view. There are all sorts of guides advising how anyone can make their start into open source.
Throughout and after Hacktoberfest, there’s also lots of developers reflecting on the contributions they’ve made and how the Hacktoberfest journey went. However, what about the reflections on Hacktoberfest for a maintainer?
Without maintainers, there are no repositories and hence there can be no contributions! Maintainers are therefore as essential to Hacktoberfest as the developers who contribute.
As a maintainer of the inspirezone GitHub repositories throughout Hacktoberfest, I’d like to share my reflections on Hacktoberfest to record what I could do better next time and what I believe may also help maintainers in future open source events.
Prepare before Hacktoberfest begins
My first thought for reflections on Hacktoberfest this year is better preparation would have helped to make the most of the event.
The main takeaway point for me is to place greater attention next time on ensuring all repositories are ready to accept contributions from day 1 of Hacktoberfest which starts every year on the 1st of October.
Taking a look at some Hacktoberfest stats, the last event in 2020 saw 387,052 pull requests in 116,361 participating repositories (source). Overall, Hacktoberfest is an enormous opportunity to promote your repositories and get people to make contributions.
In fact, the TeachMeLikeIm5 tutorial-style repositories I maintain only saw contributions during Hacktoberfest month only with barely any activity all other months!
Therefore to make the most of the event, it’s crucial to get everything in place so people are aware your repository is participating in Hacktoberfest from day 1 and to get the best chance of gaining attention to your repositories.
In terms of what you need to prepare exactly? We’ll discuss that in the next points!
Have templates for everything
As a maintainer of GitHub repositories, making use of powerful GitHub features is a must to help keep repositories organised. A great feature of GitHub is the availability of several templates for your repositories to quicken and automate various documents and processes.
Issue templates are a way of providing contributors with a form to fill in when creating an Issue on the repository. For example, contributors may be given an option to create a bug request or suggest a feature and within each option, a form is provided to encourage filling in any relevant details.
Pull request templates are also a feature of GitHub and provide users with a form to fill in when making a pull request. This is a great way to ensure the contributor is aware of the minimum needed to submit a valid pull request.
GitHub also provides a template repository to create repositories based on an existing one. This can be a great help if you intend on making several repositories of a similar structure.
Issue templates and Pull requests templates were used on all repositories I maintained during Hacktoberfest and greatly helped in filtering out spam or invalid contributions.
Anything that makes it easier to get your repository ready to accept contributions should derive from a template where possible to save time and improve organisation.
GitHub Actions are your best friend
If there’s one thing that can save you even more time it’s to automate, automate, automate!!
GitHub actions are all about automating processes in your repositories in a CI/CD fashion.
Set up a workflow to automatically check submitted code is following a linting standard. Or a workflow to check the code compiles with no errors. Or a workflow to simply send a greeting to anyone who submits a PR.
Add whatever workflows you can implement to automate checks on contributions. If you’re new to GitHub actions some time is needed initially to familiarise yourself with creating workflows.
However, GitHub has several workflows available in the Actions Marketplace that can be used directly or as a template for your own customised workflows.
The time initially invested in setting up workflows and getting them working is definitely worth the return in investment by creating a powerful method of automating checks to contributions made to your repositories.
I intend to explore even more GitHub actions features in the future to discover how they can assist in the maintaining process.
Diverting from the more technical aspect of the role of a maintainer, it’s also crucial to highlight the importance of regulating your workload during the Hacktoberfest event.
Depending on how much attention your repository gets, Hacktoberfest can be quite overwhelming when it comes to the number of contributions that must be reviewed in a single month.
From reviewing pull requests, assigning issues, performing code reviews, updating documentation and promoting your repos, there’s lots to the activity of an open source maintainer during Hacktoberfest.
Occasionally, you may get some contributors that expect immediate feedback on their PRs. In cases like this, I advise stating on the repo README or in the PR template the expected time it may take for a contributor to receive feedback on their PR.
One great takeaway from my reflections on Hacktoberfest is to pace oneself and ideally schedule how to approach each day of the event.
Perhaps alternate focus of each day where one day you review and approve PRs and the next focus on some general up keeping of the repo and promotions.
It’s vital to consider all the various tasks required from you as a maintainer to avoid experiencing overwhelmed and stressed during the whole Hacktoberfest month.
My reflection for next time is to ideally have a calendar schedule that is realistic to follow during the month of Hacktoberfest.
Get a helping hand if you can
Following on from the point of pacing yourself, one way to lift some of the load is to find someone willing to assist in the maintenance of your repositories.
It’s not uncommon for repositories to have several maintainers, after all, open source is always a team effort!
Perhaps you know someone with experience as a maintainer but does not intend to participate during Hacktoberfest. Or someone that will appreciate the chance to maintain open source projects for the first time.
Hacktoberfest in 2021 also provided a greater incentive to participate as a maintainer for the event. While previous Hacktoberfest events only counted contributions made as PRs, in 2021, Hacktoberfest newly recognised maintainer contributions. This includes activities such as code reviews, merging PRs or disapproving PRs.
Hacktoberfest now recognising maintainer contributions is a great acknowledgement to the effort it takes to manage repos. This will surely act as a greater incentive for more people to get involved in future Hacktoberfest events as a maintainer!
Reflecting on Hacktoberfest 2021, I was grateful to an inspirezone community member who was able to provide great support to the repositories on the inspirezone GitHub that participated in Hacktoberfest. Without their help, I would not have been able to cope with as many contributions, especially as the review of some PRs were out of my areas of expertise!
So for maintainers out there, try not to do it alone and get someone who can join you in the maintaining efforts!
It’s typically a busy time for repository maintainers during the Hacktoberfest event. However, there are a number of tips that can be followed to cope with the pace of the event.
Taking advantage of the many powerful GitHub features will be greatly advantageous in keeping your repository organised and save you time in the long run.
It’s also crucial to know what you can handle and plan accordingly for the event to avoid becoming overwhelmed by the number of contributions and general maintenance work that is required.
What open source projects do you maintain and what are your own reflections on Hacktoberfest events? Share them in the comments!
See other articles you may be interested in below: