We are big users of open source technologies here at Box UK so were up for the challenge of Hacktoberfest, and also wanted to get our hands on some of their nicely designed t-shirts!
The challenge was to open four Pull Requests (PRs) on any GitHub-hosted public open source project(s). Not too challenging really, in fact you could have qualified by simply creating your own project and submitting four irrelevant PRs. However, as that wouldn't really be embracing the celebration we wanted to contribute to projects that we or other people used and/or we found interesting.
The first few days we struggled a bit to think of things we could contribute. Thankfully there were some resources out there to help which I think are worth mentioning. IssueHub is a brilliant site which allows you to search for projects for a given language and for common labels such as 'help wanted', 'bug' and 'documentation'. YourFirstPR is a Twitter account that aims to try and help people get involved with open source by tweeting out tickets on projects that require help or are easy picks. Finally, speaking of Twitter, following the #Hacktoberfest hashtag and following the accounts of some of the projects we found interesting also proved to be very useful.
So with some inspiration we managed to contribute a couple of things. Firstly, there was a PHP project I was interested in called Puli which I was hoping to contribute to, but I had noticed I was unable to install it via my favourite OSX package manager, homebrew. So, the perfect opportunity for PR number one presented itself. While undertaking this I noticed it wasn't 100% clear what you needed to do in order to submit a pull request to homebrew-php and so an opportunity to improve some of the documentation arose and boom, PR number two was in the bag. These two minor PRs had got me interested in the project and I contributed again later down the line.
At this point I knew I was close to the four required pull requests but couldn't find any explicit way of verifying this other than deducing it from my public activity on GitHub or using the API. I later discovered there was in fact an official app for checking your progress, but before that I went about creating my own and so http://hacktoberfestchecker.heroku.com was born. It was a simple NodeJS app that leveraged the GitHub API to obtain information for a user on how many pull requests they had opened. I tweeted about it late one night and quickly Digital Ocean got in touch saying they loved it; they even went as far as sending over some free swag :).
The other advantage of creating a small app like this was that I got to do a really simple version and then ask for contributors as a way of bolstering their own Hacktoberfest entry. This seemed to work fairly well, with a number of people getting involved including colleagues and others. One particular pull request which I think embodied what Hacktoberfest was all about was this one adding some caching to the app to reduce the chances of hitting the GitHub API rate limit. It was excellent work and lovely to see it was the contributor’s first PR.
There were other notable contributions from some of our team, such as fixes to the popular Flex Slider, fixes and new features to the phpcbf package for popular text editor Atom. Finally, one of our team members, Tom, was attending AngularConnect in London and participated in a hackathon to try and win an Xbox One, which meant that he ended up going PR crazy and totted up 30 pull requests. Not only is Tom soon to be the owner of a Hacktoberfest t-shirt but he also ended up winning the Xbox!
All in all, as a team we submitted 58 pull requests in October between six of us, contributing to 13 projects. Giving back to open source is something we've always tried to do as much as possible and it was really nice to be able to take part in Hacktoberfest, and we're all looking forward to proudly wearing our t-shirts.
If you want to stay up-to-date with the events, articles and tools that have excited our dev community, take a look at our regular tech round-up series, published weekly - and sign up to our mailing list to have them delivered direct to your inbox.