Become an Open Source Contributor 

Tags: opensource, github, git
Published: 2020-05-29 20:49:23

2020- Here we are in the midst of the COVID-19 pandemic scenario. Being still; the only trending motions are meet and greet, virtual meets, and remote working. Looking from a developer's perspective, we have a great platform for remote working as GitLab, GitHub, etc. But many of us are unaware of this, they all come under the vast whirlpool of open-source.
 

Open Source
 
According to Wikipedia, Open-source software is a type of computer software in which source code is released under a license in which the copyright holder grants users the rights to study, change, and distribute the software to anyone and for any purpose. Open-source software has developed in a collaborative public manner.
 
In simple terms, it is software from which you can access original source code and be able to modify and use it or redistribute.
 
I was wondering if it seems to be a complex process and one needs to be a novice or expert developer to make contributions to open-source. But it is a myth we need to break this, beginners can also contribute. 

 
Why contribute to open source?
 
  If you have any problems.
  If have any solution to the problem and if you can fix 
  To develop your skills by practicing on real-world projects
  To give back and become a part of the community
 
As every coin has two sides, the other part of open source is that- it lacks financial incentives and the files and code may seem chaotic.
 
 

Difference between closed, free and open-source 
 
You all have heard about ‘Open’, ‘Free’, ‘Free and Open’ and ‘Closed’ Softwares, it may little confuse you so let's get cleared about it
 
  Open
    The code is open, do changes you want to do it but within the 
    limit of license.
 
  Free
    It implies a set of freedom for the user.
 
  Free and Open
    An openly shared source code that is licensed without any 
    restriction on usage, modification or distribution.
 
  Closed
    The code is not publicly available and generally, it would be a 
    proprietary software
 

 
How does it work?
 
When a developer starts a project he/she provides the source code of the ongoing project publicly. It will be available on open-source platforms like Github or GitLab, so more developers can work on the project and modify it to solve bugs and fixing issues and it continuously goes on making a cycle. As a result of this cycle, we are having better and improved projects (software). 
 
We all are aware of Mozilla projects, it's one of the open-source projects. It is developing and improving, an old and well-known browser, Netscape. 
 
 

How do you begin?
 
  Find an organization
    You can google it and find the organization that they allow to 
    work in open source projects
 
  Selecting a project
    Look for projects on the basis of your acquired skills
 
  Get a copy of the original file and start working on it
    Clone the project on your system, interpreter the code and start 
    showing your skills and knowledge 
 
  Understanding the code
    Get the base and foundation of code before begin to 
    work on it.

 

Steps to contribute
 
  Determining the contributions, feature or bug  you want to solve
 
  Studying the contribution guidelines of the target project, every 
  project has readme and contribution file must go through it before 
  you begin any work on it.
 
  Obtaining copy and building the project on your local system
 
  Extracting the relevant code fragments, if you want to work on any 
  specific part of it.
 
  Adapting the code and integrating the desired changes
 
  Providing the required test cases, document, screenshots, etc
 
  Filing an issue and testing it
 
  Submitting the change back to its original source code
 
  Maintainer of repository look for your changes and if it goes well 
  it will get merged to original files

 
TIPS
 
  Introduce yourself in the community when you start as it helps you 
  to know the working environment between the contributors and you can 
  adapt accordingly to it.
 
  Read the guidelines very carefully and follow them, they are 
  especially in README file.
 
  It is not a competition, it is service to the community
 
  Ask for help if needed & help others as you might get stuck while 
  working on it and help with your knowledge to others.
 
  Be confident but not overconfident, the idea is to learn and grow as 
  you start solving issues becoming more familiar with the project and 
  the language or framework they use through this process.
 
  Don’t worry to begin it as your first move toward it would begin 
  toward movement to improve your skills
 
  

Golden advice for beginner
 
Many open source repositories have a documentation file that essentially explains their purpose and how to run the code, which is always called README.md.Correcting and maintaining documentation still counts as an open-source contribution, and can be a great way for a beginner to understand and learn the workflow behind GitHub, contributing to open source before facing a challenge, coding-heavy contribution.