How to start Open Source Contribution ?
Tags: opensource, github, git, tutorial
Published: 2021-03-01 11:07:55

## What is Open Source ??
Open Source does not only mean the free(no cost) software but it is those software's in which you can see the large source code , manipulate it , create it according to the organization need.

You can find sources of many Open Source Software's on [GitHub](www.github.com). I'll talk on it later on this blog.

 A good analogy to open source is "Your food prepared at home is open-sourced, whereas food available outside your home including packaged food is closed-source."

##### What are Open Source Software ?
Open source software is software with source code that anyone can inspect, modify, and enhance.

"Source code" is the part of software that most computer users don't ever see; it's the code computer programmers can manipulate to change how a piece of software—a "program" or "application"—works. Programmers who have access to a computer program's source code can improve that program by adding features to it or fixing parts that don't always work correctly.

Some examples of open source software's are : Linux kernel, OpenOffice, Notepad++, VLC Media Player, Python, Ruby, Mozilla Firefox browser, Java , PHP , NVidia, WordPress , JavaScript , Debian ,Drupal , Git(itself)  etc.

### Pre-requisite knowledge to do Open-Source contribution -
- GitHub or GitLab (some knowledge like what is PR , commit , issues etc.)
- Git (not mandatory)

And yeh !! you are good to go and contribute in open source....
But it would be better if you have knowledge on one programming language or WebDev.

***
## Why to do Open Source ?
Open Source provides us to experience the professional working system in an I.T company and gives us the feel of real life world by interaction through different people in different parts of the world.
It will introduce you to different technology and different languages and taught you the real applications of concept.

One of the best part of Open Source is that it brings you many Opportunity's to show your skills and many Open Source Programs such as Google Summer of Code(GSOC), Outreachy , Fossasia codeheat, MLH fellowship, Girl Script Summer of Code(GSSOC) etc.

##### My Experience so far :

According to my experience I feel that if you will once connect to any Open Source Community you will never leave it because it is so encouraging , helpful and here everyone is so active so you can ask any one to clear your doubts or help to review your code.
We have no compitation here you can contribute according to your will or can showcase your projects to the whole world to modify it and if your projects are extraordinary you can get great benefits by showcasing it to the open source community because mostly all the companies from small to big are a part of open source.

So, All The Best for your bright Open source journey 😊      
***
### What is GitHub and Git ??
![GitHub](https://github.githubassets.com/images/modules/open_graph/github-mark.png)
**GitHub** - It is a provider of Internet hosting for software development and version control using Git. It offers the distributed version control and source code management (SCM) functionality of Git.

![Git](https://www.outsourcing-web.com/wp-content/uploads/2018/09/450_1000.png)
**Git** - Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Git Bash looks like this -![git-17](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c5j81vj1zc1zv7le2zon.png)

I will make another Blog on How to use Git and all the commands required to do open source contribution.
***

### Let's start our journey to first commit and pull request -

Before starting lets learn about some basic terminology of GitHub and Git:

**Commit** : In Git, commit is the term used for saving changes. Git does not add changes to a commit automatically. You need to indicate which file and changes need to be saved before running the Git commit command.

**Pull Request** : Pull Requests are the heart of collaboration on GitHub. When you open a pull request, you’re proposing your changes and requesting that someone review and pull in your contribution and merge them into their branch. Pull requests show diffs, or differences, of the content from both branches.The changes, additions, and subtractions are shown in green and red.

**Repository** : Project or the folder/place where your project is kept.

**Pull** : Get changes from remote repository to your local machine, the opposite to push.

**Push** : Upload Git commits to a remote repository.

After learning the basics from here you can go to [GitHub Guides](https://guides.github.com/activities/hello-world/#:~:text=Pull%20Requests%20are%20the%20heart,the%20content%20from%20both%20branches.) to learn -
- How to do create a repository .
- How to create a branch.
- How to do commit.
- How to Open Pull Request.
- How to Merge our Pull Request.

It's a very good website from where I also learned Git and GitHub.
I will also make a blog on the proper use of Git and GitHub but this Blog was to introduce you with Open Source.

###Thanks for reading ☀️ 

### You can Contact me Here:
- [Twitter](https://twitter.com/gaurav79693743)
- [Linkdin](https://www.linkedin.com/in/gaurav-maheshwari-2a9123168/)
- [GitHub](https://github.com/gaurav24072002)