You can contribute more to open source than you are right now.

Idowu John Abimbola
Developers Writing
Published in
4 min readSep 28, 2015

Because something was broken, and I needed to fix it for my own purposes anyway — why not share it with others in the same boat.
Oli Allen

Having open source libraries as a developer has been something with great value. In most programming job applications, link to open source project that was worked happens more frequently now.

Below are some of Vpereira’s answer on StackOverflow about the importance of contributing to open source.

  • Makes you learn more
  • Shows your development skills to the world
  • Gives a good impression about you that you work with development because you love it. Love it enough to spend your free time on a free project
  • It can become a product in the future or with a “key module” or plugins that a user must pay for it
  • One more time: makes you learn more, especially if you are doing a project unrelated to your “daily job”

As a junior developer (maybe not junior anymore ;) ), one thing I have always wanted to do was contribute to open source, but it always looked like a big task that I would never be good enough to implement and same applies to most junior developers I have encountered

There are two major ways you can contribute to open source

  1. Contribute to an existing open source project.
  2. Start an open source project.

I’ll recommend this article on eggheads.io that really discussed extensively on how you can contribute to open source.

I am writing on the other aspect — starting your own open source project.

Recently, I was working on a project and encountered a problem. I searched online for solutions, but I could not find any solution, so I had to implement it myself, and this simple solution led to my first NPM module (winston-firebase).

While writing this winston-firebase module, I noticed that there was this snippet of code that I was using to authenticate my firebase custom authentication, and I use that code a lot in several of my previous projects. I searched npmjs.org if there was a solution but found none, so that led to my second NPM module (firebase-auth).

This experience exposed me to some principles, which I would like to recommend to junior developers or any developer having a desire to contribute to open source

Publish it!

If you ever solve a problem while working on a project because you could not find the solution online or tweaked a library because what you had was not solving your solution, that is a potential library. Publish it.

Having an open source library is all about having this great code, solving simple problems and deciding to share it and allow other developers have access to it, or you just want to refactor this piece of code that doesn’t fit well into your application but is needed or you just want to host a codebase online. Solutions can range from just a small conditional statement to a big method or a class, as far as it solved a problem, it can be a library.

Publishing that snippet of code you used to solve that problem means you now have an open source library, and if you are worried about downloads, you would be amazed at how many developers are having the same issue that you having and are just waiting for your solution. In just two days, the winston-firebase module that I published had 33 downloads (as at the last time I checked before publishing this article). Might look small but it’s something big to me because I never imagined I would publish a module so soon and also gave me confidence that before actually needed my solution.

Publishing the module gave me this confidence to contribute more to open source for several good reasons. I published another module this morning slack-history-export. It can only get better.

Note: Even though publishing modules is good and of great value, the main drive is not so that I can show off and write this article of how I published a module but help other programmers including me get more productive with work.

I hope you publish that solution that next time you solve a problem. If you’re having a Javascript problem or having challenges publishing it or structuring it, you can contact me, I would not mind contributing to your library. Let’s make the world a better place.

I wrote the slack-history-export module in ES6/ES2015. Follow me to read my next write up on my first impressions on ES6.

You can encourage me by clicking the recommend button below and share to your folks also do not forget to leave your comment :) Thanks.

--

--

Idowu John Abimbola
Developers Writing

An exceptional developer, avid writer. On the path to making the world a better place. you can reach out to me on twitter via @hisabimbola