Become an Open Source Contributor

Become an Open Source Contributor

yancy-min-842ofHC6MaI-unsplash.jpg

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

pankaj-patel-ZV_64LdGoao-unsplash.jpg

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.

burst-kUqqaRjJuw0-unsplash.jpg