Getting into Open Source Development

Harry Ashton
Level Up Coding
Published in
6 min readJul 29, 2019

--

Open Source development can be a scary prospect for the uninitiated when looking in from the outside, but is that the reality?

Don’t lose hope for yourself or encouraging others to contribute more. We’re lucky enough to be a part a digital age where anybody who knows a little code can contribute to the toolmakers, the big ideas and the packages that keep your projects going… you could even become the toolmaker yourself or have that big idea. Open Source development can help you do that.

Why?

Imagine this scenario — you’re working on a project and you find something just isn’t working or is possibly even missing? What do you do? The majority of people will move on. A few will even flag up these issues with the toolmakers and EVEN fewer will be the ones who step forward and build that new tool that helps everyone.

Who do you think is the hero/heroine in that scenario? It’s that person who steps up and take’s charge of the situation and from their efforts receives new knowledge, improves the wider ecosystem for all developers AND all the glory.

But, where do I start?

This is the scary part. Everyone knows there are benefits to doing open source for your career, leveling up your skills, and just keeping your finger on the pulse of development itself. The difficulty lies with the question “well, where do I begin”?

Soon after, the doubt creeps in and you question whether you’re good enough? You then reassure yourself this isn’t the time and that you couldn’t possibly contribute anything to anybody as you don’t have the time or maybe even the expertise...

This vicious cycle repeats itself until you eat your desire up to do open source. Well at least until the next time the thought crosses your mind at least.

Reprogram your mindset first

A large portion of people will scare themselves out of even contemplating the mere concept of approaching Open Source.

‘It’s too hard, it’s too time consuming and I’m certainly not good enough’.

Is it too hard, is it too time consuming or is it even any of the things people fear? The simple answer is no.

What it really is

Open Source is a body of code that is open for contributions from the brilliant global community of developers that we’re all lucky to be a part of.

Like all code, there are complex elements to the projects and (luckily for us) there are very simple elements to the project. It goes the same for issues that need addressing within the project. There are complex and simple issues in all codebases.

Great starting contributions

Here are some great places to get started today!

Documentation

All projects have documentation of some kind that could be tweaked to be better, they could even be straight up out of date. These can take the form of:-

— Read me
— Comments in code

Low hanging fruit

Aside from documentation, you can always take a peek at the code base to see if any of the simpler code could repeat itself less? You could even take a peek at the ignore files to see if there’s anything that needs improving. This is all in the name of making your first few contributions to the Open Source community.

— Refactoring code to not be DRY (Don’t Repeat Yourself)
— Ignore files

Just fork the repo’s and add your small change, then PR it back to them. Here’s a great guide on how to do so here written by Chaser324. It’s surprisingly straight forward and all the above are fantastic ways to get going. Though is that the only way to contribute?

You don’t even need git to contribute

Yes you heard me, all the above are git-based contributions and there’s more to the Open Source community than a git repository.

It’s a mindset about helping the wider community of developers.

If you think even the above is too scary?

Contribute on Stack Overflow

Just go out and search through the tags for anything you can help people with. Wherever your strengths are at this stage in your career you could focus whatever suits you most, for example:- CSS or JavaScript tags.

Build up your reputation bit-by-bit, learn to read other codebases and improve them. All of these are valuable skills to help lead up to doing git based Open Source contributions or just help with your day job.

Great projects to start with

Here’s a bunch of projects that I feel are very beginner friendly.

ava

A JavaScript test runner that sets up its GitHub issues with good for beginner tags. They seem to be quite conscious of getting more people involved to help them on their Open Source contribution journey.

Contributor Covenant

Contributor Covenant is a code of conduct for open source projects. By signing this code of conduct, the founders of the projects pledge to allow anyone to contribute to their project, regardless of “level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.”

Although this project has less than 1,000 stars on GitHub, its popularity shows by the more than 10,000 open source project maintainers who have signed the pledge, including Swift, Atom, AngularJS, RVM, Mozilla Webmaker, and the .NET Foundation. Contributor Covenant maintainers are currently looking for non-native English speakers willing to translate the pledge into other languages. If this sounds interesting to you, head over to this GitHub issue.

DuckDuckGo’s Instant Answers

For those of you who have never heard of it, DuckDuckGo is a privacy-conscious search engine that doesn’t track users. Instant Answers is a feature that provides answers without needing to open up a website.

Hundreds of people have already contributed to their instant answers, and there are plenty more suggestions on their ideas page.

DuckDuckGo offers good documentation to get you started and to recommend new users by creating cheat sheets. If you want to know what a DuckDuckGo cheat sheets look like, just go to their website and type in “WordPress cheat sheet” to see the cheat sheet. If you get stuck, you can join their Slack channel and check out their wiki on GitHub.

Mozilla projects

There’s no doubt that Mozilla is one of the leading organisations in the world of open source. Contributing to Mozilla projects may not look easy at first glance — maintainers label beginner-friendly issues appropriately, but they’re hard to find because there are so many of them.

Luckily, Mozilla have got your back for new contributors with their site Codetribute. It allows you to search through all of Mozilla’s bug reports to filter them to find the ones that are most relevant to your areas of interest.

Don’t forget to check the good first bug tag on all the issues that are marked as beginner friendly and this handy beginners contributor guide.

Magento 2

One of the biggest e-commerce platforms out there. Magento is tailored mainly to enterprise-level ecommerce businesses.

As an open-source ecommerce platform, Magento requires programming and developer resources which gives you the opportunity to come in and see if there’s anything you can help with.

Just going through this small list you’ll start to get an idea of looking through Open Source tickets and getting an idea of what you could help out with.

Big projects in general or fully open source projects are a fantastic, safe place to dip your toes into the Open Source world.

It’s a wonderful feeling when you make your first Open Source contribution and you know something large or small has your handprint on it.

I urge you all, to go out and try any of the above and who knows, eventually you could become the toolmaker.

Thanks for reading

My names Harry Ghazni and I work in Nottingham, UK.

If you liked what I wrote you can find me on twitter or on medium. I love what I do, what I learn and sharing it with others.

I also have a YouTube channel called Curious Byte where I post tutorials and advice, check it out!

--

--