CodeNewbie Community

Aaron McCollum
Aaron McCollum

Posted on • Originally published at codingwithaaron.wordpress.com

Contributing to Open Source for the first time

When I was 21 years old, I finally worked up the courage to ask a girl out on a date. Friends had given me tips, I had talked myself up to build confidence, and finally I just said “screw it” and went for it. And it wasn’t that bad! She was very nice about it, and we went on a date over Mexican food and had a wonderful time. It took 21 years for me to work up the courage for it, because I had built it up to be this huge thing, lacked confidence, and was afraid of what would happen if she said “no.”

While I was writing this blog, I remembered this quick story and thought it was a nice parallel to my thoughts on contributing to open source material on Github. Others around me have done it many times, everyone says I needed to do it, and I was fairly scared and had no confidence. I was afraid that somehow I’d submit a pull request the wrong way, or someone would think my contribution was too small or dumb. This held me back, and for a long time I thought I needed to complete several coding courses and know at least one JS framework before I made my first contribution.

Finally, yesterday September 18th, I made my first contribution and it was awesome. No, I have not completed several coding courses, I have not learned one thing about a JS framework yet, and it wasn’t even a code fix. It was a simple grammatical fix on a lesson page on freeCodeCamp.

Before explaining the contribution, I want to give a huge shout-out to this guide on contributing to Open Source video on Youtube by Eddie Jaoude, one of the top Github contributors in the world. Take 40 minutes today and check this out! Eddie does a really great job explaining the basics of Github along with how you can start contributing to open source today and why it’s important. Watching this video was the tipping point for me to go for it.

So what did I do? While going through the Basic JavaScript course on freeCodeCamp, I noticed there was a dash that didn’t need to be placed in the sentence of a challenge description. I paused my challenge for a few moments, went over to freeCodeCamp’s Github site, read the contribution guidelines, and searched for the specific challenge lesson I was on.

Once I found the lesson, I forked it into my own Github (required if you don’t have writing privileges to the actual repository) and made my editing suggestion: remove the unnecessary “-” from the challenge description. I submitted it and waited.

About 10 minutes later, one of the staff of freeCodeCamp commented back: “This LGTM. Thank you for taking time to contribute.” A few moments later, he wrote back again: “Congrats on your first pull request (PR)! Thank you, for your contribution to the page! We are happy to accept these changes, and look forward to future contributions.” It was accepted!

And that was it. Just a simple edit to some grammar syntax I noticed on a page. But this is also contributing to open source material. In the process, I’ve learned a few things:

  • Contributing to open source is not just contributing code. It can be updating documentation, raising issues in a project, suggesting changes on a website, and interacting in the discussion around a project.
  • How to contribute to Open Source – I didn’t know much about it honestly until I watched Eddie’s video (linked above). Watching through it helped me navigate Github a bit easier.
  • How to search for the specific directory in a project – I had to look closely through freeCodeCamp’s repository as there are many folders and documents. Taking a few moments to carefully look through helped me navigate to where I needed to be.

I’m no expert on this, and in fact I think I’ve only scratched the surface of open source contributions. But I think the important takeaway here is that I’m no longer afraid. Like asking a girl on a date, what’s the worst that can happen? The contribution is denied? I can live with that.

If you’re reading this and you are in the same boat I was in, definitely check out Eddie’s video. Watch certain sections a second time if needed (I did) to get the basics down. If you have found a contribution opportunity, be sure to read any documentation the project/website has about how to contribute, as most larger projects will have rules to follow.

As for the girl I asked out, in case you were wondering, it didn’t work out. We had one nice date, then the rejection came, and we both went on and stayed acquaintances during college with no hard feelings. I experienced a few “no’s” later on in life but the fear was gone. In a similar way, I’ll probably get some contributions rejected later on for various reasons, and that will be alright. You just got to keep plugging away and learning each time.

Discussion (2)

Collapse
sporkupine profile image
sporkupine

Any open source projects you'd recommend for beginners/intermediates to get started contributing?

Collapse
aaron profile image
Aaron McCollum Author

There is a way to search for projects and tasks that are for beginners - I believe Github labels these "first timers only." To be honest though, I don't know how to search for those yet. It's on my to-do list to search for that.

But if you are going through an open-sourced site or platform who has their source code and documentation on a site like Github and you notice they have an error in their site or a typo somewhere, you can raise an issue on Github or suggest a fix. That's what I did in the post above, and that counts as open-source contribution!