What Is Open Source Software?
Open Source software is software written by people who share a common goal towards achieving a specified result. The goal of Open Source to publicly continue to improve the source code of a software throught public contribution thus helping to solve the problem of users of the software. We have people with various skillset come together to put their skill to test by inspecting, modifying, and enhancing the source code of a software for better performance.
Why Open Source Software?
Open Source authors make the source code of the project available to entire public who would like to view that code, copy it, learn from it, alter it, or share it. Vue.js, Webpack, and PublicLab are examples of Open Source software. Hence making it readily available to the public and also free to use.
Becoming an Open Source Contributor
In this article, I will be walking you through how to start making your Open Source contribution. To get started with this I will be making use of PublicLab since they present us a lot of fresh-timers-only issues. Also if you are looking at other options you can find them here.
Requirements
Getting Started
To get started on contributing to PublicLab, we will visit their website and proceed with the following steps:
- Read about the contributors guide and play around on the site to have an idea of what they do.
- Scroll to the first-timers-only issues (helps folks who haven’t contributed to our codebase before, or even folks who haven’t contributed to Open Source before) and plots2 to navigate to their GitHub repository.
- Fork the repository thereafter to enable you create a copy of the repository where you can begin to work. A sample fork has shown below:
- Next step is to initiate a clone of the forked repository. The purpose of this clone is to allow us own a copy of the source code in our local machine by downloading it using a git command.
- Up next we launch the git bash or command line and run git clone <repo name> with .git extension and in our case
git clone https://github.com/LarrySul/plots2.git
- The clone creates a folder plots2 with all available and required source codes to enable work on the project.
- Navigate to the plots2 folder and open the git bash or command prompt, this time we will be setting upstream. But why upstream? Upstream will help you monitor for changes and easily syncronize with the forked PublicLab repository.
- To add a upstream run
git remote add upstream <originial owner of repo>
- To list the currently configured remote repository for your fork use
git remote -v
We should have something of such in our terminal now.
Looking for an Open Issue to Work on
On PublicLab they are constantly welcoming first timers who are looking to get started with contributing to Open Source.
There is a section for that sole purpose, thus clicking on the issues title will redirect to a page where we have a detailed description of what should be done. Link to below image can be found here.
After careful analysis and understanding of what should be done proceed to working on it on your local machine in your favourite Text Editor of choice. Once you are done run the following commands in your terminal.
git add .
git commit -m "a brief description of what was done"
git status
(Why this is need is because we need to avoid conflict, the status will keep us updated if the upstream is ahead thus prompting us to rungit fetch upstream
and have our project back in sync.)git push origin master
Creating a Pull Request
A pull request (PR) is a method of submitting contributions to an open development project. It occurs when a developer asks for changes committed to an external repository to be considered for inclusion in a project’s main repository after the peer review.
Once you have initiated the PR you can go back here to signify on completing the task and await your work to be merged. Finally that’s how to go about making your first Open Source contribution.