Thanks for signing up.
We'll see you soon 👋
We'll see you soon 👋
Open-source projects are software whose codes are made public and are free to use, study, modify, and distribute for any purpose. Contributing to an open-source project is one of the best ways to receive immediate feedback and grow your development and programming skills.
In this article, we are going to cover:
Open-source software is one whose codebase is free and open for everyone to use, modify, contribute or distribute. Some popular open-source projects you may have come across are Linux, Mozilla, VideoLAN (VLC), ReactJs, Firefox, Android and many more.
By clicking on this article, I assume you already made up your mind to go the ‘open-source way’ and may have varying reasons for doing so. However, here are a few of the reasons why I am pretty sure you’re set out on the right path:
Improve on your existing skills: The only way to truly learn and perfect your craft is to practice. However, few professions provide the means to practice on real projects. With open-source projects, you don’t just get to practice but will be provided with the opportunity to receive valuable feedback from more accomplished experts. Most organizations label their issues with tags like “good first issues”, “first-timers only” to encourage newbies and beginners to contribute and gain industry experience.
Increase community recognition: Recognition from members from the OSS community encourages and motivates you to improve your skills, it can also create several opportunities, such as job offers and invitations to attend conferences and events, etc. For example, Ruth Ikegah, Nigerian, got recognized by Github and has emerged as the first female Github star in Africa. This was possible due to her active participation in helping newbies get started in open-source.
Self-recognition and personal achievement: If you are extremely determined to become the best developer you can be, having your code accepted by a big OSS project would be a massive achievement. Check out this tweet by name celebrating a merged code to Mozilla Firefox.
Get paid: You can also get paid by contributing to open-source projects! By participating in internships like Google Summer of Code, Outreachy, Google Season of Docs, bounty program by Open Collective, etc. you can gain new skills, solidify existing knowledge, meet amazing people, and get paid while doing this. You can also find some paid open-source projects by browsing WorksHub's issues page.
Increase job prospects: In the same way, contributing to OSS can help you increase your chances of landing an internship, it can also improve your job and career prospects. Nowadays, when many tech companies receive a CV from a prospective developer, they spend less time going through the CV and spend more time investigating the applicant’s Github account. The fact that OSS is visible to the public means that prospective employers can inspect your code and assess your skills as a developer based on the code you have written. Moreover, by contributing to a company's open-source projects, you establish a relationship with them, making it easier to stand from the crowd when applying to their jobs.
Find mentors and teach others: Working with others on a shared project means you’ll have to explain how you do things, as well as ask other people for help. By contributing to open source, you have the opportunity to learn and teach which not only are fulfilling activities but also helps you develop important personal and professional skills.
When getting started with open-source, Github is a good place to start. If you don't know anything about GitHub, git, or version control, then start by following some tutorials on them. Git is a version control system that allows you to manage changes to your source code. GitHub is a hosting platform for git. Once you are familiar with git and GitHub, try making pull requests to some repositories. There are a lot of repositories that allow users to contribute a small piece of code ( e.g. an HTML file for your profile ) to get them familiar with the whole process. Check out First Contributions and get yourself comfortable with the process.
Here are some platforms where you can find open-source projects to work on
One way to find projects to work on is to look for open-source software you use often and like. Is there a tool, package, framework, or language that you work with regularly and enjoy using? Find out whether it’s an open-source project by checking its license, if it accepts contributions and is active. You can try using the Github explore page. Github suggests projects you may like based on people and repositories you follow, star, and watch. Another way to find projects is to use Github’s search tool by entering beginner-friendly contribution tags like good-first-issue, good-first-bug, beginner-friendly, easy, low-hanging-fruit, first-timers-only, etc
After identifying the open-source project, the next thing you need to do is identify an issue to solve. Most open-source projects already have available issues listed, while others don't. You can visit our Open Source Issues page to find issues that are actively looking for contributors. If you happen to work with an open-source project that has raised issues, notify the maintainers of your interest in the project, read through the project documentation, and start working on it. If you don't see available issues, then try using the project and identify things that should be fixed but haven't been. Then fix it and submit a pull request.
Before submitting the pull request, try to understand the open-source project's review process and how they expect to submit pull requests. Ensure you follow the style guide when submitting your pull request.
A typical open source project has the following types of people:
Author: The person/s or organization that created the project
Owner: The person/s who has administrative ownership over the organization or repository (not always the same as the original author)
Maintainers: Contributors who are responsible for driving the vision and managing the organizational aspects of the project (They may also be authors or owners of the project.)
Contributors: Everyone who has contributed something to the project
Community Members : People who use the project. They might be active in conversations or express their opinion on the project’s direction
Open source communities are organized collections of contributors to a project (software). These communities bring people with shared interests together to collaboratively build something, which can be shared with anyone inside or outside of the community. You can join an open-source project by subscribing to the mailing list for that project, joining their workspaces on slack, discord, or IRC.
GitHub is home to the largest open source community in the world with millions of open source projects hosted on the web-based platform for working on software projects.
A common misconception about contributing to open source is that you need to contribute code. Here are some ways to contribute to open-source other than contributing to the codebase.
Contributing to open-source is for everyone, and comes with huge benefits. In this article, we’ve been able to cover the basics of contributing to open source as a first-timer. Working with Git is an essential skill you must have before you start contributing to open source. You can practice contributing to open-source for the first time by following the step-by-step guide in this article
Engineers who find a new job through WorksHub average a 15% increase in salary.Start with GitHubStart with TwitterStart with Stack OverflowStart with Email