24 Pull Requests

Published on by

24 Pull Requests image

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?

Absolutely. I’ve found projects I would have likely not found before and learned so much about how other OSS projects work. It’s also been interesting to see other developers solving problems in different ways. The first year I participated I was a solo developer at a company and still trying to figure out if I was the only one doing things a particular way. In recent years it’s empowered me to jump into languages and code I would normally be intimidated by, such as JavaScript. Because I’ve been able to contribute and get feedback via these pull requests I feel like I’ve gained so much in areas I was previously lacking in my skillset.

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.

Eric L. Barnes photo

Eric is the creator of Laravel News and has been covering Laravel since 2012.

Filed in:
Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.

image
Laravel Forge

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Forge
Laravel Forge logo

Laravel Forge

Easily create and manage your servers and deploy your Laravel applications in seconds.

Laravel Forge
Tinkerwell logo

Tinkerwell

The must-have code runner for Laravel developers. Tinker with AI, autocompletion and instant feedback on local and production environments.

Tinkerwell
No Compromises logo

No Compromises

Joel and Aaron, the two seasoned devs from the No Compromises podcast, are now available to hire for your Laravel project. ⬧ Flat rate of $7500/mo. ⬧ No lengthy sales process. ⬧ No contracts. ⬧ 100% money back guarantee.

No Compromises
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
Shift logo

Shift

Running an old Laravel version? Instant, automated Laravel upgrades and code modernization to keep your applications fresh.

Shift
Bacancy logo

Bacancy

Supercharge your project with a seasoned Laravel developer with 4-6 years of experience for just $2500/month. Get 160 hours of dedicated expertise & a risk-free 15-day trial. Schedule a call now!

Bacancy
Lucky Media logo

Lucky Media

Bespoke software solutions built for your business. We ♥ Laravel

Lucky Media
Lunar: Laravel E-Commerce logo

Lunar: Laravel E-Commerce

E-Commerce for Laravel. An open-source package that brings the power of modern headless e-commerce functionality to Laravel.

Lunar: Laravel E-Commerce
LaraJobs logo

LaraJobs

The official Laravel job board

LaraJobs
All Green logo

All Green

All Green is a SaaS test runner that can execute your whole Laravel test suite in mere seconds so that you don't get blocked – you get feedback almost instantly and you can deploy to production very quickly.

All Green
Larafast: Laravel SaaS Starter Kit logo

Larafast: Laravel SaaS Starter Kit

Larafast is a Laravel SaaS Starter Kit with ready-to-go features for Payments, Auth, Admin, Blog, SEO, and beautiful themes. Available with VILT and TALL stacks.

Larafast: Laravel SaaS Starter Kit
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS Starter Kit

SaaSykit is a Laravel SaaS Starter Kit that comes with all features required to run a modern SaaS. Payments, Beautiful Checkout, Admin Panel, User dashboard, Auth, Ready Components, Stats, Blog, Docs and more.

SaaSykit: Laravel SaaS Starter Kit
Rector logo

Rector

Your partner for seamless Laravel upgrades, cutting costs, and accelerating innovation for successful companies

Rector

The latest

View all →
Asserting Exceptions in Laravel Tests image

Asserting Exceptions in Laravel Tests

Read article
Reversible Form Prompts and a New Exceptions Facade in Laravel 11.4 image

Reversible Form Prompts and a New Exceptions Facade in Laravel 11.4

Read article
Basset is an alternative way to load CSS & JS assets image

Basset is an alternative way to load CSS & JS assets

Read article
Integrate Laravel with Stripe Connect Using This Package image

Integrate Laravel with Stripe Connect Using This Package

Read article
The Random package generates cryptographically secure random values image

The Random package generates cryptographically secure random values

Read article
Automatic Blade Formatting on Save in PhpStorm image

Automatic Blade Formatting on Save in PhpStorm

Read article