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)
- 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.
But then again it all boils down to your preference (both skills and taste).
This is how large a project is. There are softwares such as Microsoft
s 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.