DEV Community

Cover image for Contributing to Open-source for beginners
Carol Musyoka
Carol Musyoka

Posted on

Contributing to Open-source for beginners

One of the ways of leveling up as a programmer is writing more code and the other is reading other peoples’ code. This is by contributing to open-source projects. I know, making that first contribution can be overwhelming and a bit scary. For me, I remember the first time I tried it, around October 2018 during the #HacktoberFest18 and I remember thinking about how little I know about programming and how many mistakes I might end up making. Well with time I got over my fear and tried out again during this years' hacktoberfest. Here are a few tips that might help a beginner dive into open-source contribution.

Why contribute to open-source?

Contributing to open-source helps in building skills which can be helpful in your career because it gives the bigger picture. You get to meet like-minded people with the same interest as you and if you are lucky enough you can get a mentor. It can also be lots of fun, ie, if you are participating in sprints or a month long celebration like Hacktoberfest (run by DigitalOcean in partnership with GitHub and DEV)

What you need to do before contributing to Open-source.

  • Create a GitHub account here
  • Check if you have Git installed don your computer, if not install it. For windows, you can simply download it from their website. As for Linux users simply type in the following in the terminal;

    Sudo apt install git //to install git
    git --version //to check if it is installed successfully

Get to understand how GitHub works. It is one of the most popular open-source collaboration platforms. After creating an account, learn how to create and use a repository, start and merge a new branch, make changes to a file and pushing them to GitHub as commits and opening and merging a pull request. You can check out this tutorial to make things a bit easier.

What you need to know;

The programming language you will go for.

Behind every software lies the most important technology, the language. According to the latest State of the Octoverse (a report that provides insight into the development industry), JavaScript is the most widely used programming language on GitHub over the past year. Closely followed by Python, Java. Java has maintained its popularity because of its use for Android Development although usage of Kotlin might lead to reduced usage.
But then again it all boils down to your preference (both skills and taste).

Project volume

This is how large a project is. There are softwares such as Microsofts code editor Visual Studio, Googles development kit for UIs, Flutter, etc., with thousands of lines of code. These might not be the best choice for a beginner. One thing about contributing to these huge projects is the requirements you are required to meet. So why not start small first and get good along the way. You can check out issue labels. Some are labeled ‘easy’, ‘good first issue’, ‘junior job’, ‘beginner’ etc. You can check out this list of awesome beginner-friendly projects on GitHub.

If you are interested in learning more about open-source you can checkout Google Open Source . One good thing about open source, is the fact that you do not need to be the best at it. It is welcome to everyone with all skill levels, whether you are a programmer or not. As a non-programmer you can help in documentation of a project, writing, updating and translating documents or even designing user interfaces for non-programmers who have design skills.

The bottom line is, contributing is learning and with time you get super good at it. It is fun too. I believe and hope that we raise a generation of coders, creators who think out of the box and contribute to open-source projects.

Top comments (10)

Collapse
 
majorkid profile image
Yasir Shariff

I've been struggling with that , I finished python and it took somewhat 6 months , I finished at advanced level but when it comes to projects am at zero level , anymore tips you can give ?

Collapse
 
carolmusyoka profile image
Carol Musyoka

You can start off with simple projects on github. Try checking this.

Collapse
 
majorkid profile image
Yasir Shariff

Will check it out . Thanks

Collapse
 
individualit profile image
Artur Neumann

Good article. I also believe that contributing to FOSS will help you finding a job. As developers we are in the unique spot to be able to gain experience BEFORE we get a job dev.to/jankaritech/no-experience-n...

Collapse
 
carolmusyoka profile image
Carol Musyoka

Can't agree more

Collapse
 
eskeikim profile image
Eskei

nice one, keep it up

Collapse
 
carolmusyoka profile image
Carol Musyoka

Thank you Eskei

Collapse
 
nyugoh profile image
Joe N Ngigi

Another way is teaching and sharing knowledge like you doing here. Good work @carol

Collapse
 
carolmusyoka profile image
Carol Musyoka

Thanks @joe

Collapse
 
iamndeleva profile image
iamndeleva

Nice article indeed

Some comments may only be visible to logged-in visitors. Sign in to view all comments.