Introduction

What comes to your mind when you hear the term “Open Source”? 

Open Source Software is created on source code that is open to all. This means anyone can view and collaborate with the source code to make new changes. Nowadays open source software (OSS) development has made significant contributions to the real world and has transformed the way software is created, shared, and utilized.

As we continue to advance technologically, most developers and companies are moving forward to use open-source tools and software to make them better. And I think you will also agree that the number of contributions to open-source is growing gradually day by day not only for developers but for companies also.

My first-ever contribution to the world of open source was during the HACKTOBERFEST event in 2022. As a beginner, I participated in front-end beginner-friendly projects and also worked on some documentation which I’ll be sharing later to help you out too.

Now, I know that if you’re reading this article it’s because you want to be a part of the open-source universe, but maybe you don’t know where and how to start the journey of it. Well, then you’re in the right place.

In this guideline, I aim to cover the following topics and some more: 

So, let’s get started!

What is Open Source?

In simple terms, an open-source project is like a piece of code or software that is available for anyone to see, use, run, and modify. 

For example, it's similar to your math teacher's notebook. Let's say your teacher shared their notes with you, and you copied them into your notebook. If you find an error in one of the solutions, you can't directly correct it in the teacher's notebook. Instead, you need to propose the correction to your teacher. If your teacher agrees that your solution is correct, they will update their notebook, and the correction will be reflected in the main copy.

That's how an open-source project works. Once a project is made public, if you want to add a feature or make a change, you need to make the changes in your copy. Then, the owner of the project needs to review and approve your changes before publishing them for others to see.

Open-Source   workflow

Contributions to open-source projects can be small, such as fixing a typo or a small bug, or they can involve adding detailed documentation for an entire project. Every contribution, no matter how small, contributes to progress. When these small contributions are combined, they can lead to significant changes and improvements.Just as Vincent van Gogh said:

Great things are done by a series of small things brought together.

What to know before starting to contribute to OS projects

Before you start to contribute to open-source projects you need to know some basic things.

 

 

 

                                         Types of OS Licenses

If you come across an error or bug in a project, you can create an issue to report it. Once the issue is assigned, you can start working on resolving it. Additionally, you can also create your issue if you have identified a problem or improvement.

Once you have completed the work related to the issue, you can create a Pull Request (PR) to the base branch. The project owner or maintainer will review your changes, and if they approve, they will merge your changes into the base branch. During this process, you can engage in conversations with the maintainers within the PR to discuss your changes. We will discuss how to create an issue and a Pull Request in a repository later on.

How can you start contributing to Open Source Projects?

You don't need to overthink about how to contribute. Instead, consider the projects you already use and think about how you can make a positive change or improvement to them. Research has indicated that approximately 30% of casual contributions involve tasks such as documentation updates, fixing typos, or even translations. As mentioned earlier, I will now share some of the projects in which I made my first contributions during Hacktoberfest 2022. Here it is:

  1. Fun_igniter

I worked on some basic CSS in this project. You can also begin your journey by making similar small contributions.

1. WebDevForBeginners

2. WebCollections

You can check these examples to get an idea of open-source work. They can help you understand the nature of contributions in open-source projects. I hope they inspire you to start contributing to open-source projects yourself. Now, let's explore how to choose a good open-source project to contribute to.

How to Choose an Open-Source Project

It’s good to check some criteria before contributing to an open-source project. Let’s see some of the checks that you have to do:

These are some basic checks that you can do before starting to contribute to an open-source project.

Basic knowledge of Git & GitHub

I know that you’re super excited now to move your first step in the world of open source community. But before that, you need to know some basic knowledge about Git & GitHub. These are optional prerequisites, but if you make yourself aware, you will enjoy contributing to Open Source even better.

  1. Git: If you know Git already, then it’s super cool. You’re set to start. If not then I’m here to give you some basic knowledge about what Git is. Let’s see -Git is the version control software that runs locally on your machine. It is mainly used for:
  1. GitHub: GitHub is a service that hosts Git repositories in the cloud and makes it easier to collaborate with other people. If you do not have an account in GitHub then create one now from here .

How to create a new repository in GitHub?

There are several steps by which you can create your first repository in GitHub. Let’s see how to do it:

 

How to create an issue in a project?

Let's assume that you have found a project to contribute to, and within that project, you have identified a bug that you can fix. To address the bug, you need to raise an issue.

 Here's how you can do it:

 

Here as an example, I have created the issue for updating the “README.md” file of this project.

How to make a Pull Request?

Now that you have learned how to create an issue, if you have reached this stage, it means you are ready to make your contribution to the project. Let's discuss the process of submitting a pull request.

 

In my case, I have written this as the commit message

Soon the maintainer will review your changes and if there is any problem they will request you to make changes or if not, they will directly merge all your changes into the master branch of this project. You will get a notification email once the changes have been merged.

Congratulations 🎉,

You just learned and completed the fork -> clone -> edit -> pull request workflow which sums up to your first contribution. This will be your major coding cycle in open-source as a contributor.

Benefits of Open Source Contributions

 

Before wrapping up, I would like to give you some open-source program’s names. By participating in these open-source programs you can start your open-source journey:

These are some open-source programs in which you can participate.

Wrap up!

If you have read this far, I appreciate it. Open Source Universe is waiting for you! Don’t forget to share your valuable feedback.

Connect With Me

You can connect with me on Twitter | Linkedin In | and Github

Happy Coding