loading...
Cover image for A Beginner’s Guide to Making Open Source Contribution

A Beginner’s Guide to Making Open Source Contribution

lanromanero profile image Sule Olanrewaju Originally published at icodemag.com ・4 min read

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

Version Control System Git
Join GitHub
Text Editor of choice

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). To further understand more about first-timer-issue here is an article by kentcdodds

  • 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:

  • forked publiclab repo
  • 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.

  • cloned repo
  • Up next we launch the git bash or command line and run git clone with .git extension and in our case git clone https://github.com/LarrySul/plot2.git desktop terminal

  • 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
  • To list the currently configured remote repository for your fork use git remote -v

    setting upstream

    We should have something of such in our terminal now.

  • Looking for an Open Issue to Fix

    On PublicLab they are constantly welcoming first timers who are looking to get started with contributing to Open Source.
    open issue
    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 .
    Open issue
    After indicating interest and you have been assigned the issue as shown above, carefully analyze and understand what should be done before proceeding to working on it on your local machine using your favourite Text Editor of choice.

  • Once you are done fixing the bug, you need to notify the open open source maintainers about the issue via a pull request. To do that head to your terminal or git bash to run the following commands
  • 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 run git fetch upstream and have our project back in sync.)

  • git push origin master pushing to 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.

    Pull Request

    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.

    Discussion

    pic
    Editor guide