Open Source softwares are softwares for which the original source code is made freely available and may be redistributed and modified. As a Programmer, we are more interested in how to contribute to their codebase.
A lot of newcomers find Open Source to be dreadful and daunting. But worry not, every great Open Source contributor had once been in a place that you are in right now.
The following article may be helpful for those who wanna step into the amazing world of Open Source.
Before we begin
Following are the prerequisites required before diving into Open Source:
- Good understanding of at-least one programming language of your choice
- Version Control: Git/SVN and Github/Bitbucket/Gitlab
- Learn to read large source code so that it doesn’t appear gibberish. This article might help.
- Learn how to use Bug/Issue Trackers
Where to start?
Following are a few resources found to be useful for newcomers:
The given resources consists of a list of projects by different organisations which can be filtered on the basis of programming languages used, category of project(Eg. Web, Databases, etc) and difficulty.
Steps to make a Pull Request:
Once you decide the repository you want to contribute to or the issue you want to work on, follow the steps in order to make your first pull request:
- Read the CONTRIBUTING.md guide(If present)
- Discuss with the maintainers about the issue, ask questions(if any) and clear doubts. They are lovely people and are always ready to help. You might also ping them over their IRC or Mailing lists.
- Go ahead and Fork the repository
- Clone the repo:
git clone https://github.com/YOUR_USERNAME/PROJECT.git
- Add Upstream:
git remote add upstream https://github.com/PROJECT_USERNAME/PROJECT.git
- Create new branch:
git checkout -b BRANCH_NAME
- Code Code Code: Make required changes
- Push changes:
git push origin BRANCH_NAME
- Create pull request through Github
Some other useful commands:
- To check remote links:
git remote -v
- To check Branches:
- To delete branch:
git branch -D BRANCH_NAME
- To delete branch on Github:
git push origin --delete BRANCH_NAME
Now all you have to do is wait for your changes to be reviewed by the maintainers and merged(or discarded).
It feels good when you find that a piece of your written code is being used by people all around the world on a daily basis.
On a side note, you might wanna check out GSOC. If this doesn’t motivate you begin with Open Source, then nothing else might.
See Also – How to get started with Open Source.
This article is contributed by Raghav Jajodia. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- Top 5 Open Source Source and Free Static Code Analysis Tools in 2020
- How to Deploy Your React Websites on GitHub?
- How to add a README to your GitHub profile?
- Pull to Refresh with RecyclerView in Android with Example
- Pull to Refresh with ListView in Android with Example
- Contributing to Open Source : Getting Started
- Gradle Build Tool I Modern Open Source Build Automation
- How to begin Contributing to DuckDuckGo’s Open Source Community
- Flutter | An introduction to the open source SDK by Google
- Step Wise Guide to start with Open Source
- Software Freedom in FOSS (Free and open-source software)
- Top 5 Free and Open-Source Version Control Tools in 2020
- Top 5 Open Source Java Frameworks in 2020
- Top 5 Free, Cross-Platform, and Open-Source Database System in 2020
- Top 5 Reasons to Contribute to Open Source Project
- Top 10 Open-Source NoSQL Databases in 2020
- How to Get Started With Open Source Contribution ?
- Top 5 Open-Source Online Machine Learning Environments
- Top Open Source Projects Using Artificial Intelligence