One of the best methods of software development is an open source software that promotes transparency and collaboration.
An open source software offers you the great opportunity to pick up some great practices while coding written by the experienced programmers.
As it is such type of software whose source code is made publicly available for modification and enhancements.
Here is a Complete Beginner's Guide on How to Contribute to Open Source on Github
1.Create Account on Github
Before contributing to an open source software having a github account is compulsory.
If you are beginner then create an account by using following steps:
- Write the following URL and press enter GitHub
- Now enter the username, email address, and password in the supplied field and click Sign up for Github.
- Select the Unlimited public repositories for free option.
- You will receive a verification email at the address provided.
- Click the emailed link to complete the verification process.
2.Fork the Project & Clone Locally
After creating the Github account, a local fork of the project is required.
For this, you have to press the “fork” button on Github.
After clicking a fork button, the copy of the project will be created on your own github account and you'll see a note that it's been forked underneath the project name like akrabat/ zend-validator.
It will make a duplicate of the store in your own Github record and you'll see a note that it's been forked underneath the venture name like akrabat/zend-validator.
Once forking is done, we need to clone the fork to our local machine.
Find the "SSH clone URL" in the right hand column and use that to clone locally using a terminal.
$ git clone email@example.com:akrabat/zend-validator.git
After cloning, change it into the new project's directory:
$ cd zend-validator
3. Create an upstream Remote and Sync your Local Copy Before you Branch.
In the third step, you have to create an upstream remote and sync your local copy before you branch.
Firstly clock on the link to the real repository – it's labeled as "Forked from" at the top of the Github page.
It brings you back to the projects main Github page, so you can find the "SSH clone URL" and use it to create the new remote, which we'll call upstream like:
$ git remote add upstream firstname.lastname@example.org:zendframework/zend-validator.git
Now you have two remotes for the same project on disk.
- Origin - It points to your Github fork of the project. You can read as well as write to this remote.
- Upstream - Unlike origin, You can only read from this remote. It points to the main project's Github repository.
4. Do some work
This is the fun piece where you get the opportunity to contribute to the project.
It is the best way to start by settling a bug that is either irritating you or you've found on the project's issue tracker. In case you're searching for a place to begin, the number of projects utilizes the "easy pick" label (or some variety) to show that this issue can be tended to by another person to the project.
5. Push the New Branch to Your Fork on Github
In this step, you have to put each piece of work on its own branch.
If the project is using git-flow, there are two branches:
- Master Branch
- Develop Branch
According to the general rule, if you are bug fixing, then you are from master branch and if you are adding a new feature then you are from develop branch.
On the off chance, the project only has a master branch, the branch from that.
A few projects use branches named after the version number (2.x and 3.x in Slim's case).
In this case, choose the branch that's relevant.
6. Create the PR
- The next step after pushing the new branch is submit a pull request.
- You will see a big green button on the fork of your github screen asking you to submit your new branch as a pull request.
- Submit a message with details about what you changed.
Make sure to reference the original proposal and any other issues this pull request fixes or addresses.
Simply type the issue number prefixed with the # character to refer any issue and GitHub will do the linking and referencing for you.
7. Review by the Maintainers
This is the final step in which your whole work is reviewed by the maintainers.
Once your code is accepted, you have officially become an open source contributor.
Contributing to such open source platforms is really an amazing idea.
We will get a lot of information on various new topics.