A Beginner's Guide to Open Source: The Best Advice for Making your First Contribution

asked on Twitter what advice experienced contributors would give to newcomers in open source. This post features some of the best advice people shared specially for you, in a step-by-step process to help you overcome initial barriers and feel confident about your first contribution.

Written by Erika Heidi on Tuesday September 29, 2015 - Permalink - Category: Open Source - Tags: opensource, contributing, newcomers, beginners - Lang: eng

Open source software is already integrated into our daily lives, even more if you are working with IT. A recent research about open source usage shows that 66% of companies will first look for open source solutions before considering any other options - it's became the default option, for a number of reasons: more stability brought by collaboration and team work, transparency, and the possibility of suggesting new features and improvements at any time, by contributing with a pull request. This also explains why more and more companies are getting actively involved with open source nowadays.

Many are the real benefits of engaging in open source, but how hard it is to get your first contribution out there? What are the best ways of getting started, and what should you expect as a newcomer? How to make the most of this experience?

To answer these questions, I asked on Twitter what advice experienced contributors would give to newcomers in open source. This post features some of the best advice people shared specially for you, in a step-by-step process to help you overcome initial barriers and feel confident about your first contribution.

Overcome the Fear of the First Time™

I know, I know - it's normal to be afraid. The contribution itself (code, documentation etc) is actually the easiest part of the whole thing - getting the pull request out there is the real challenging part, since you will be exposing your content for review. But you should always remember that all those people who are into open source had their fears when they did it for the first time, too. It's natural and you can overcome it! If you want to know how I did it, check this post I wrote on dev-human.

 

Choose a Project

Once you are motivated to start contributing, comes the hard task of choosing a project to submit your first pull request. How to choose one? Well, the most important thing here is that the project needs to be welcoming for first-timers, so they will help you in the process. Another good criteria is to choose something you actually use - this will give you a better background on the software and how you could help improving it.

 

Read the Docs

Open source projects usually have a Contributing doc with specific guidelines for making contributions. It is important that you know these guidelines to avoid frustrations later - it's no cool to get a pull request with code that is clearly out of standards, or doesn't follow the project ideology, or something else that you should already know because it's in the docs.

 

Choose an Issue

Start small: this was undoubtely the most common piece of advice people shared - getting started with small contributions makes the whole process simpler, less stressfull, and it's a great opportunity to get acquainted with the tools of the trade. Documentation, tests, typo fixes - any contribution is a valuable contribution! Also, it's a good idea to follow YourFirstPR on Twitter - they are constantly showcasing starter issues on Github, specially for beginners.  

 

Communicate

Good communication is essential in any team activity. You should try to communicate with the project maintainers since the very start, before getting any contribution started, to avoid frustrations and time spent on changes that won't get accepted. When proposing a change, also, it's important that you explain in details what was changed and why.

 

Just Do It!

When you have a project and an issue to work on, it's finally time to get it done! If you need help with Git and the Pull Request process, don't be afraid to ask the project maintainers. Also, check this excellent guide by Rob Allen explaining how to create a pull request on Github. A more in-depth guide can also be found on this post from Dean McDonnel: Getting into Open Source for the First Time.

 

And If Things Don't Go as Expected...

There's always a chance things don't go as expected, but you should not feel frustrated or discouraged - remember the world of open source is not always perfect, and not all projects have great and welcoming maintainers. Also, even good ideas and good implementations can be rejected by some project maintainers - they have the right to do so if they want to. If you had a bad experience in your first contribution, don't give up - I promise you, for every not-so-friendly project out there, there are at least 5 amazing projects that would love to get a contribution from you.

 

Do you have any other advice for people who are getting started with open source? Sharing is caring - open source it in the comments! :)

comments powered by Disqus