Contributing to Open Source Projects

Rajat Kumar Gupta
Code Yoga
Published in
3 min readApr 10, 2018

It seems difficult at first to go through the several files in an open source project and think of how to make a pull request. Well i am gonna suggest a few beginner friendly ways on how to do contributions, gain confidence and then start exploring large codebases.

  • Creating an issue — An issue can be in the form of a bug, any UI improvement, documenting the code, replacing deprecated methods, spotting typos in Readme, etc. Make sure whatever you find you give a detailed description of the issue. For eg) how you can fix it, how you can replicate the issue so that helpers can understand the problem. Most of the big projects provide a checklist or a certain format to follow while creating an issue. Make sure you follow that format for that repository atleast.
  • Fixing Typos — Various Readme files have some or the other typo in their readme file. Its your job to find it and squash it. (This might sound rude but instead of correcting someone’s english in some unproductive social media post is please do the same thing in Github it actually helps everyone and saves developers’ time). Even if it is one word fix it. Even if you need to add just one letter do it.
  • Make a beautiful Readme — When you are browsing projects you are actually unknowingly more attracted towards a beautiful Readme with images, screenshots and code examples. Many repos dont contain such Readme. Now its your job to make it beautiful if it exists or make a completely new one from scratch. Compare it with a good looking readme in order to learn how to make a beautiful one.
  • Make Pull requests — Alright if you have found an issue you should try fixing it. Once fixed make a pull request. For eg) If there is an issue of Deprecated method. Create the issue. Make a pull request after you replace the deprecated method with the latest method.
  • Change the UI — If you feel there should be an icon for a button being used, or you feel there should be a grid like list and not just line by line list, or anything to beautify the UI, make the changes and make a pull request. Incase you feel that the moderators of the repo should know about the changes before you start working create an issue and then start improving the UI.
  • Add new features — Where there is a list, there should be atleast a search button or a sort button. This is just one feature. There can be several more depending on the amount of creativity, involvement and thinking you put into making the open source project a big success.
  • Have Fun — Well Github is a place where developers can hangout and have fun. Hence make contributions in some repository that is light on the tech side and heavy on the fun side. Yes there are repos where you can even add jokes to increase your contribution count.(Here is one)
  • Check if the libraries used in the project are used in the best ways possible. For eg) there is a chance that a developer might have used findViewById calls even though the project has included the Butterknife library. You can replace them as required.
  • Check if there is a splash screen present. If not,then create an issue for that and see if you can make one yourself

Understand one thing clearly NO PULL REQUEST IS SMALL. Everyone is learning. Once you gain confidence you need to go ahead and move on to exploring larger codebases. See if you can refractor the whole project into MVP, MVVM,etc.

Some helpful easy repositories to contribute to and get confident with open source —

--

--