The open-source Guide you need

Are you curious about the open-source world but don't know where to begin? This guide is here to help. It talks about what open-source is and how it can help you grow personally and professionally. You'll learn how to find projects that match your skills, and how to start contributing. This guide is not just for coders! Even if you love designing or testing, there's a place for you in the open-source community.

The guide also talks about how to show off your contributions through a portfolio. You'll learn about moving from being a contributor to a project maintainer, and how to network in this community. It's all about growing together with other like-minded people. Take a dive into this guide to start your open-source journey. You'll see how you can make meaningful contributions and also help your career!

open-source roadmap

Introduction

When the term “open-source” is uttered, what’s the first image that springs to mind? Is it a popular software, a specific application, or a language like React.js? Perhaps it’s the collaborative platform GitHub that you associate with open-source?

open-source refers to a type of software licensing arrangement where the source code is made freely available for inspection, modification, and enhancement by anyone. Unlike proprietary software, which keeps its code under lock and key, open-source software lays it all out in the open, fostering a collaborative environment. This code can be hosted on various platforms like GitHub, GitLab, and BitBucket, among others, and if you can view and modify it, then you are interacting with open-source software.

According to the GitHub Report of 2023, GitHub has:

This means there are tons of open-source projects available to contribute to, but the question is how do you start? Let’s learn more.

Although this isn't a hands-on guide to making your first pull request, it will paint a broader picture of the open-source ecosystem, paving the way for your open-source journey.

Why open-source?

The first question that might come to your mind is, why open-source? What is the return for you?

Following are some reasons to contribute to open-source:

In my first year of career, I contributed to Vercel’s Next.js, which was back in 2020 as a part of MLH Fellowship, and it has paid off in terms of many job offers.

Types of contributions

I see a lot of people trying to run away from open source because they think coding is the only way to contribute to open-source. NO!!!!

That’s not the case; coding is not the only way; if you’re not a developer, you can contribute in other ways. Following are some of the ways to contribute to open-source, other than coding:

Finding the right project

Out of 28 million repositories, you must find a project that interests you. Here are some of the ways you can use to narrow down the list of open-source projects.

Depending on the project complexity, it might take you one day or one month to make your first contribution. It's better to start with a simple project as a beginner.

Projects like Reactjs, and VS Code are huge, and it may take you several weeks or months to understand the work and make your contribution. Therefore, when starting with open-source, it’s good to start with a small project where you can start contributing in a few days or a week. Otherwise, you may lose the motivation.

Let’s take this project for example, khattakdev/capture. If you look at the repository, you will see a nice README.md, which means it is well-maintained in terms of documentation. It gives a general idea of the project, reproduction steps, etc. As a JavaScript developer, this project aligns with my skills and interests.

Here’s an action item for you:

You can use the GitHub search section to find a project that is based on your favorite programming language via issues. Paste this in the input field, lang:javascript and it will fetch all the issues that are based on JavaScript.

Creating a Portfolio

Once you start contributing to open-source, you have to talk about it, and flex about it 💪. This is crucial, and you need to put yourself out and let the people know about the impact you’re creating via open-source.

There are several ways to create your personal brand or portfolio; the following are some:

github chart

Advancing to a Maintainer

Once you start making contributions and create a portfolio, there may be a time when you decide on taking a maintainer role. There are two ways to become a maintainer:

Taking someone else project may require you to first have a good understanding of the project and the willingness of the current maintainer etc but the second option is easy. If you can think of an open-source idea, work on it and maintain it.

Once you become a maintainer, you will notice you’re managing more and coding less. This means you must maintain the overall project, plan the upcoming features and roadmap, provide feedback, etc. Moreover, you must build a community around your project, ensuring the community is welcoming and engaging and everyone must feel welcomed.

Think of your project from a contributor’s point of view. Ensure it is properly documented; people are getting reviews for their PRs; questions are being answered, new contributors are welcomed, and so on.

Networking

You started as a contributor, and now you’re a maintainer. By now, you have a good portfolio, but that’s not enough; you have to network and make connections. One of the ways that we already discussed in posting about your contributions and work on social platforms will help you to be found by new people. Following are some of the other ways:

Conclusion

Let’s conclude all this:

Where to go next:

If you want to get into open-source, opensource.guide is an amazing place to learn more about getting into open-source and making contributions.