I reviewed 200+ PRs in 10 days - Here is what I learned

📅 November 15, 2019 • 🕣 4 min read

blog10

This blog was originally posted on dev.to

This post is written from both a Maintainer as well as a Contributors perspective.

Ya I know it’s “late” hacktoberfest but it taught us a ton of things specially to me.

Did you enjoy contributing to opensource ? Was this your first one ? Share you thoughts below 👇

I will be sharing some common mistakes beginners make while contributing on GitHub plus some handy tips for Maintainers as well.

What this is about ?

I wrote something about 30 Seconds of C++ in the following post make sure you check it out.

30 Seconds of C++

So what ?

Well Thanks to Hacktoberfest, 30C++ received a huge amount of PRs during October 🎉 🎉 (more than 250)

Being a maintainer as well as a struggling contributor I have collected some tips/tricks for both maintainers as well as contributors.

Before I share some tips and tricks here are some repository stats from the period I started reviewing them (4 Nov - 13 Nov)

1. Read CONTRIBUTING Guidelines.

If you want to contribute to anything on GitHub MAKE SURE TO READ THE CONTRIBUTING GUIDELINES (yes I am screaming right now) If the guidelines are not present, create an issue ask the maintainer whats the process for implementing/changing something. Just make up your mind whenever you want to contribute on GitHub just have a look at the guidelines, this will save your as well as maintainer’s time.

2. Its hard for beginners.

So you are a beginner (know a little bit of HTML,C++ etc) but you wanna contribute to opensource what do you do ? you add your name to a README!!

OC btw

No! that’s not Open Source, Hopefully Hacktoberfest blocked these kind of contributions this year. I know many of you know this already but Opensource is a “Continuous Process” its not that easy as you may think but surely its satisfying in the long run.

Have a look at the following post by Rafiullah Hamedy for better understanding of OpenSource.

Why you should think twice about contributing to Open Source

3. Always check for existing PRs

If you are ready to implement that amazing feature or fix that noisy bug just make sure someone already hasn’t contributed to the same issue before.

Same valid for issues make sure there is not a similar issue open or assigned to anyone.

4. It’s not about the free T-shirt

No bhupesh you are wrong !! Well sometimes it is okay so your contribute for the first time on GitHub during October, what after that ?

ididit

I have seen people just coming for the Free T-Shirt its not that bad but at the same time its not good as Opensource is a continuous process.

I really liked what Dylan Anthony said in his article

Easing into Open Source

Contributing to open source should be the goal, it should be the means by which you achieve other goals.

Just make sure whenever you are contributing, your are learning something new (not just in October).

5. Draft PRs are underrated

Earlier this year GitHub released a new feature called Draft Pull Request.

This way you will be able to inform the maintainer that you have started working. The maintainer cannot merge the PR unless you are done with the changes at the same time he can review your changes in the PR. Its pretty handy in case your are not sure for the changes you made (it would still count as a contribution after all its a PR)

6. Saved Replies 💬 are pretty handy

For maintainers with huge repositories, GitHub has this nice feature where you can save replies to common queries like thanking the contributor, review etc head over to GitHub > Settings > Saved Replies to save common replies to queries.

7. CI/CD is must

As a maintainer you should set up CI/CD pipelines even for your not so great projects it helps you ease up deployment and testing by using best practices.

Next Steps

We are working on the next iteration of 30 Seconds of C++, 30C++ 2.0 you can join the discussion on our discord server.

Congratulations 🎉 🎉 to all the contributors whose Pull Requests got merged.

A big thanks 🤗 to DEV and DigitalOcean.

Until next time …

gif-next