DEV Community

chandewardnyanesh
chandewardnyanesh

Posted on

Become an Open Source Contributor

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.

Top comments (0)