Introduction
Open-source software has become mainstream in the recent technology landscape. Many tools and technologies we use regularly rely on open-source projects. Nowadays, everyone seems involved in its contribution and as a beginner, the world of open source can seem intimidating and complex, with its own language and jargon. Believe me, weeks ago, I was just as confused as you are. As a beginner to a beginner, let me break it down.
In this guide to contributing to open source, I'll explore the basics of open source software, the benefits of contributing, and what to know to get started.
What is Open Source?
Open Source Software (OSS) is source code that the public can easily access, allowing them to alter, or distribute said code under specific licensing requirements. The nature of open source contributes to the formation of a community of people who can collaborate on a project and contribute their expertise to improve it.
There are over 28 million open-source projects on GitHub. Some of the most well-known open-source projects include WordPress, Mozilla Firefox, Linux Operating System, Git, and so on.
Why contribute to Open-source?
There are so many reasons to contribute and rewards we gain from contributing to open-source projects. Here are a few:
To Network: Contributing to open source can be a great way to meet people with similar interests and work together to create something that benefits everyone. It can also help you build a network of contacts in the tech industry. This can lead to mentorship and other career benefits.
To Build Your Portfolio: GitHub is the new resume. Open source contributions put your name in association with tons of driven individuals and projects. All the contributions you make land on your profile, and this is proof that you can do the type of work you are applying for.
To Improve your skills: Contributing to an open-source project can help you learn new programming languages, tools, and techniques or improve on existing ones. Working with others allows you to gain valuable experience and learn from their expertise. Through this collaborative environment,
Personal Satisfaction: Open source allows you to contribute to projects that matter to you. This can give you a sense of purpose and motivation as you work to solve real-world problems. Consider using an application and discovering a simple spelling error. How satisfying is it to be able to correct or draw attention to such an error? It's very satisfying.
Who contributes to open source?
It is often a misconception that only developers can contribute to open source and that only code-based contributions are important. Do you need to know how to code before contributing? The answer is no. Although developers are the most common contributors, there are also equally important contributors, such as;
Writers: As a writer, you can create documentation, tutorials, or blog posts about the project.
Designers: Designers can contribute to open-source projects by creating user interfaces, icons, or other visual elements
Project managers: Project managers can help open-source projects by coordinating other people's contributions and keeping the project on track.
Users: Even if you are not a developer or a technical expert, you can still contribute to open-source projects by providing feedback, raising issues, reporting bugs, or suggesting new features.
There are other contributors, like Testers, Translators, and so on. Think of the capacity in which you can contribute and join the community.
Prerequisites to Contributing to Open Source
Create a GitHub account. A GitHub account is a crucial step in starting your journey in open source. If you don't already have an account, follow the instructions in this article to create one.
Get familiar with GitHub Mechanics. Forking, branching, cloning, committing, pushing, sending pull requests, and so on. This article covers that.
Find projects to contribute to. Now you have your GitHub account up and running, you need to find projects you feel passionate about and you want to contribute to.
Where to find open-source projects
There are several places to find open-source projects, some of which are;
You can find them on GitHub. In the search bar, type in a keyword related to the type of project you're interested in contributing to. For example, searching for projects according to topics, like Python, React, and so on. Filter or sort your results to find repositories that are more relevant to your needs.
As a developer you can open one of your projects and click on
package.json
you will see a list of dependencies. These dependencies are often open-sourced. This is the best way to contribute to the projects you use.A few open-source enthusiasts have compiled lists and built platforms that consist of open-source projects available for contribution. For example, Open-source Friday, CodeTriage, 24pull request, this repository by ykdojo, and many others.
You can become a member of a community. You can find many open-source communities on platforms such as GitHub, GitLab, SourceForge, OpenHatch, and Reddit.
Steps to Contributing to Open Source
The first thing to look at once you come across an open-source repository is the
README.MD
file. This first point of contact for anyone who visits the repository. It typically contains the project description and usage instructions.The second is
CONTRIBUTING.MD
file. It contains guidelines for individuals who want to contribute to the project. This file outlines the project's contribution guidelines and code of conduct, including information on how to report bugs and submit pull requests, and sometimes information about the license under which the software is released.The next section to check out is the
Issues
section. Issues are used to track and manage project work, and they also allow users to provide feedback and suggest improvements. Look for issues that are labeled as "beginner-friendly" or "good first issue." These issues are usually smaller in scope and easier to tackle for new contributors. It might require you to fix typos or write proper documentation, a few lines of code, and so on.Once you found a "good first issue", go to the chat channel or community forum, introduce yourself, and let people know that you're interested in contributing. Once you get the go-ahead from the maintainers of the repo, you can begin your contribution journey.
Once you have submitted your pull request, it's important to be patient. It may take some time for your contribution to be reviewed and merged.
NOTE: it is crucial to follow the guidelines in the CONTRIBUTING.MD
file and the README.MD
file. These projects are important to the software owners and it's only respectful to follow the rules.
Conclusion
There are so many projects out there that needs your contribution, you just have to find it. I hope you start your open source contribution today. In my next article, I will write a tutorial on how to make your first contribution, it’s going to be exciting. Till next time.