David C. Brown Full Stack Software Engineer Consultant.

Getting started with open source

It wasn’t until two years into my career that I made my first open source contribution. I, and if you’re reading this you probably feel the same, wasn’t entirely sure how to go about pushing code to a project. After all, most projects don’t include information about contributing. It can be tribal knowledge. Tribal knowledge that I wish to share today.

Why contribute to open source

Simply put: it will make you a better programmer.

It will expose you to many new tools and patterns that you won’t be exposed to in your current team.

The more code you expose yourself to, the better the code you write will be. If you subscribe to Malcolm Gladwell’s 10,000 hour rule from his book Outliers, you know that exposure and practice play a huge part in developing any skill-sets.

Tackling the fear

It can be intimidating to a younger developer to push code to a project that (presumably) a much more senior developer maintains. One of the biggest mistakes I made coming out of college was assuming seniority correlated to an increase skill-set. More on that in a future post.

There is nothing to fear in contributing to an open source project! Worst case scenario, the maintainer rejects your change and you walk away with experience because you exposed yourself to another codebase and practiced writing more code making you a better developer.

It looks good to future employers

I consider open source contributions a big plus on a developer’s resume. It shows enthusiasm and excitement for their field and their craft of building great software. With so many open source libraries available, if they haven’t contributed to something, I’d be concerned.

Why you should let your employees contribute

If you are an employer/manager (or will one day be one), let your employees contribute to open source libraries. The reasons mentioned above will help them write better code faster for YOUR company. You as an employer benefits from the increased skill-set of your employee.

Now if you are content with not challenging your employees and letting their skills go stagnant until they decide to leave for a company they feel they will grow in, then go for it. The cost of replacing your team is much more than the small time investment of allowing your team to learn and give back to the community. The same community that releases all the open source tools and libraries you use on a daily basis.

Without further digression, lets get to why you are reading this…

How to contribute

For this tutorial we will be fixing what amounts to a documentation fix. After all, poor documentation is a problem in open source.

Here is the step by step process to contribute to an open source project. This is an expansion of my contribution guidelines

Hooray! You made your first open source contribution! This process is the same (sans any project specific requirements like running tests) for any project on GitHub so go out and contribute!

If you liked this article please share it with someone.

comments powered by Disqus