DEV Community

loading...
Cover image for Contributing to Open-source for beginners

Contributing to Open-source for beginners

carolmusyoka profile image Carol Musyoka ・3 min read

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.

Discussion (11)

pic
Editor guide
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 Author

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 Author

Can't agree more

Collapse
eskeikim profile image
Eskei

nice one, keep it up

Collapse
carolmusyoka profile image
Carol Musyoka Author

Thank you Eskei

Collapse
premierboy profile image
Iamndeleva

Nice article indeed

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
Collapse
hithesh0215 profile image
Info Comment marked as low quality/non-constructive by the community. View code of conduct
Hithesh avishka

Wordsphere is one of the fastest growing company. In today era of the rapidly changing world, we always keep up with time. We are specialized in designing and developing well-crafted logos, websites, graphics and lot more things which gives shine to your online presence.
With the outstanding reputation in a market, we deal with the sole trader to big companies. We provide a complete tailor-made solution to each individual depending on their requirements. Our qualified and experienced team is always available to work out on a new challenge. We really love to go through every new requirement comes in for every new client.
wordsphere.com/