24 Pull Requests is a project to promote open source collaboration during the month of December. The idea is to “Send 24 pull requests between December 1st and December 24th,” and it encourages developers to give back to open source with little gifts of code.
This is the fourth year and there are currently 11,093 developers and 10,201 organizations participating. If you are new to open source or are a seasoned pro it’s a great way of supporting the community.
Joe Ferguson, the creator of LaraTraining.com, has been participating since the beginning and I had the opportunity to interview him about it.
What made you decide to start contributing to 24 Pull Requests?
I ran across 24 Pull Requests in 2013 from my Twitter feed. I thought it was a cool idea and the angle they promote is “giving back little gifts of code for Christmas.” They also do a wonderful job at onboarding people who may not have ever contributed to open source software, let alone open a pull request. They also make it easy for seasoned veterans to find projects to contribute to. Once you sign up for an account, you can choose from a giant list of programming languages and they’ll give you related suggestions of things to work on. I found some really neat projects from their suggestions and met some awesome people. 24 Pull Requests is how I found out about Snipe-IT, an open source Asset Management project built on Laravel. I was happy to find a Laravel project since it was easy for me to jump into the code base and start offering help. The next year I met Mark Railton, an awesome developer who was working on a simple freelancing management application. He was building this app in part to scratch his own itch but also to further his development skills. I learned a lot working on that project and used it as a test case for learning the Codeception testing framework in depth.
Has it helped improve your skills and knowledge?
Do you think it helps the projects you’ve contributed too?
I’ve learned so many things, from automating code style checks via EditorConfig to how other developers handle Pull Requests and even conflict resolution. It has also taught me how to gracefully reject a pull request or an idea which just doesn’t seem to fit the project. I feel like I’ve been able to bring a lot of my experiences from 24 Pull Requests to the rest of my OSS work, especially the Phergie IRC Bot project where I am one of the maintainers. With Phergie we want to promote easy onboarding and a supportive environment. I learned from Chris Hartjes it’s important to thank people for submitting pull requests. He’s commented several times that as a project owner or maintainer it’s very important to thank and support your users and contributors. The grateful attitude I’ve seen him practice in his own OSS work is something I admire and really try to bring to my projects.
What has been your biggest take away from the project?
Be a good OSS contributor. Read the docs; if there aren’t any docs, then that is a great place to start. Make sure you read through issues and closed PRs, not all maintainers are the same. See how a project owner treats their contributors before you start contributing. Most are grateful but make sure you survey the area before you start contributing.
For those that may have never submitted a PR before do you have any advice?
Just do it! I was very intimidated at first and can empathize with those that are new to the process. Just give it a shot. No pull request is ever too small. No maintainer has ever seriously said, “I wish I didn’t have so many PRs to review.” Even if you’re not familiar with the languages or how the project works you can still contribute to the documentation. Does the project have a “getting started” guide? That’s easy to do, just pull down the project and get it up and running while documenting all the steps.
My friend SammyK (@SammyK) wrote a useful guide on how to get started contributing to the documentation of the PHP project. I highly recommend the read.
Also, the PHP community has an AMAZING resource in #phpmentoring on the Freenode IRC Network as well as https://php-mentoring.org. There are people out there wanting to be mentored and mentors offering their services to apprentices.
Is it easy to get started on 24 Pull Requests?
Certainly! Visit http://24pullrequests.com/ and click the “Log in with Github” link, authorize the application, and then you can view your dashboard and profile. Once you select programming languages from your profile, you’ll see relevant projects in the “my suggestions” section. Then every Pull Request you open from December 1-24th will be automatically added to your profile. If you are impatient like me, you can manually synchronize as well.