Step by Step Guide to Get started with Open source as a beginner
In the last article, I talked about how you can scale up your career through open source contributions, I feel that's a good way to start right? So it's only fair to put you through how to get started in this second article of my open-source series. Getting curious after reading the previous article is normal. The article would have prepared your mind on getting started with open source either as a total beginner or as an open-source contributor beginner.
Are you confuse? Chill, in this article I will be walking you through the step by step guide to get started as a total beginner or as an open-source contributor beginner. Let's crack this open, shall we?
Before we dive into how to get started with open-source, let's differentiate a total beginner from an open-source contributor beginner.
Who is a total beginner?
A total beginner is an individual who is just getting his/her foot into the tech space. As a beginner, you just probably start your first 100 days of codes challenge. Simply put, you are just learning how to code. So is there a place for you in the open-source space? of course, there is.
Who is an open-source contributor beginner?
This is an individual that already knows how to code but has never explored contributing to an open-source project. You have wide knowledge about the software and tools but has never contributed to OSS.
Open source communities have made beginner onbounding into the open-source space easier with issues you can explore as a beginner.
How do you get started?
Let's see the steps on getting started with open source.
STEP 1: Understand the concept of Git and GitHub
Contributing to open-source projects is widely done on Github or GitLab, hence it is important to understand the basic concept of Git and GitHub including Gitbash
Git is an example of a Version control system. version control is a class of system that is responsible for managing the source code, documents and other collective information
Git is a fast and model implementation of version control. it provides an easy way to make changes and facilitates changes. If you already know the concept of Git and GitHub, that is awesome otherwise, you can learn more about Git and GitHub Here
STEP 2: Find a Project
Looking out for an open-source project to contribute to as a beginner might not be easy. However, is not impossible as a matter of fact there are a lot of open-source communities you can find on GitHub and on Twitter.
Finding an open-source project to contribute to depends on these questions;
Do I have prior knowledge of this software?
Am I interested and willing to learning this software?
When you have answered these questions you then search for the project(s) that best suits you.
STEP 3: Read the Contributing guide and Contributor resources.
All open-source projects/communities have a contributing guide every contributor ought to follow. Before you start to contribute, read the contributing guide. The contributing guide will prep you for the project you are about to contribute to.
Importance of reading Contributing guide before contributing
It guides you on how to set up the environment locally on your personal computer.
It informs you about the do(s) and don't(s) of the project.
STEP 4: Check out the Issues and Issues Labels
All open-source projects have opened issues that can be solved by any contributor and these issues have labels on them. These labels make contributors know what the issue they want to contribute to is about apart from the issue description. Labels like;
good first issue
first timer only
docs
bug
hacktoberfest
help wanted
As shown in the image below.
As a beginner you can explore all issues with the good first issue, first-timer only and help wanted labels. Although if you are well inclined with the software you pick any other issue.
How do you get an issue assigned to you?
Explore the project
Pick the issue you want to contribute to
Drop a comment in the chatbox of the issue description
The project maintainer will assign you to the project.
You can also read the project documentation and readme file.
STEP 5: Fork the Project Repository
Have you seen an issue that caught your attention? Fork the repo.
To fork a repository means to get a copy of that repository. Forking a repo allows you to make any changes to the project without affecting the original project.
How do you fork a Repo?
- Click on fork on the Repository as shown in the image below.
- Fork to your own repo as shown in the image below
immediately it is successfully forked, it will be visible in your own repository.
Note: The new repository is own carrying my name because I forked it to iambami.
STEP 6: Clone the project
You are a step closer to making your first contribution. When the issue has been assigned to you, you have to clone the source code. There are few steps to take to achieve this. which are;
Create a folder on your PC. You can name it "Open source contributions"
Open the newly created folder with Gitbash
Copy the URL(link) to the project source code
- Type git clone with the copied URL. Like this
git clone https://github.com/iambami/service-mesh-patterns.git
- cd into the project folder
cd meshery-adapter-library.git
Note: cd means change directory.
- Checkout into the project branch with a new name. This name could be anything related to the issue you are about to solve. For instance, in the image below there is a title for the issue and there is an issue number, so when you want to name your branch it could be the issue title or the issue number.
git checkout -b iambami_issue70
- Open the folder with virtual studio code.
code .
Contribute away
STEP 7: Commit and push changes
When you are done making your changes you can push it to be merged with the original project, this is when your contribution counts. There are steps to take to commit and push changes.
- Check if all the changes are saved
git status
- Add all saved changes you just made.
git add .
or
git add -A
- You can check the status again not necessary but there is no harm in double-checking if all added changes are indeed added.
git status
- Signoff and Push Signing off is important in every open source project. if you have never contributed before you have to do the global signoff
git config --global
it will ask you to proceed with your GitHub username and your email
Name- $(git config user.name)
Email- $(git config user.email)
Once you have configured your signoff globally you can subsequently sign off and commit together depending on the contributor guide for that particular project.
git commit --signoff -m "commit message"
- Push changes to the main repo. Push the cloned repo
git push origin iambami_issue70
STEP 8: Create a Pull request.
The last step in contributing to an open-source project is creating your pull request otherwise known as PR. When your source code successfully pushes back to the repository origin, you will compare and commit the changes.
How to create your pull request
- Click on the compare and commit button as shown in the image below
- Put the PR description. After clicking on the compare and commit button you will be taken to the create pull request page but before you create your pull request you have to add the PR description as shown below
- Yes! You just made your first Pull Request.
Now you can wait for your project to be merged.
Some open-source projects you can contribute to
Here are some Open-source projects you can contribute to as a beginner. You just don't contribute to their project, you also get the opportunity to join their amazing community. Cool right?
Either you are a newbie or an open-source contributor beginner, there is always a space for you in the open-source space. I hope this article will help you make your first contribution. Please drop your comment below and watch out for the next article. Do reach out to me on Twitter should you have any questions.