Sunday October 15, 2017
Hacktoberfest is a project sponsored by Digital Ocean and Github that encourages contributions to open source software. Anyone who contributes at least 4 pull requests to open source projects on Github during the month of October will get a free Hacktoberfest shirt for their participation.
This year, I participated in Hacktoberfest for the first time as a project maintainer. After learning about the event, I decided to create several issues in my Container Immersion project (which I wrote about in February) with the Hacktoberfest label, inviting new developers to help out. Initially, I was surprised by the quick response of several people willing to help. This is probably the best benefit of Hacktoberfest - it creates an environment where people are actively looking for projects to work on, and projects that normally wouldn’t receive much attention are given a chance to gain exposure and receive contributions from the community.
Hacktoberfest proved very beneficial for Container Immersion. I focused my requests for help on styling improvements for the site, and the results are great! Before Hacktoberfest, Container Immersion’s styling was a little rough around the edges:
After Hacktoberfest, the site looks much more polished:
We added a Github ribbon, improved the navigation buttons, improved the style of code samples, and made the site more mobile-friendly. Each of those improvements was contributed by someone participating in Hacktoberfest - evidence of Hacktoberfest’s success at motivating the open source community.
While participating in Hacktoberfest, I learned several lessons that are also applicable to open source development in general. At the time when I first asked for contributions by adding the Hacktoberfest label to some of my Github issues, the documentation for Container Immersion was somewhat lacking. Although the project had a README, a few of the initial contributors struggled a little bit to get the site running locally (via Jekyll). It was also not clear to some contributors what the site’s architecture was - that is, where the HTML and CSS that Jekyll uses to build the site were located. While things like this might seem obvious to really experienced developers, they were not obvious to newer developers who wanted to get their feet wet, and it’s easy for more experienced developers to overlook problems like this.
Of course, the remedy is simple. I added additional information to the readme about how to run the site locally for the first time. I also added a new section about how the site is built using Jekyll, and where different components of the site can be found in the project’s directories.
Based on my experience with Hacktoberfest, I think that it’s really important for open source projects that want to develop a strong community to make it really easy to set up a development environment and get coding. It can be quite difficult and intimidating for relatively new developers to contribute to projects when they don’t receive much guidance from the maintainers. Open source projects that support and mentor new developers will likely see more contributions and will be able to build stronger communities. I’ve seen the benefits of Hacktoberfest on Container Immersion, and I’m sure many other open source projects are getting a lot of work contributed due to this event. Thank you Digital Ocean, for sponsoring open source events like this one.