Open-source software is software that is freely available to use, redistribute, and modify. Open source software is already integrated into our daily lives, even more if you are working with IT. A recent research about open source usage shows that 66% of companies will first look for open source solutions before considering any other options.
Many are the real benefits of engaging in open source, but how hard it is to get your first contribution out there? What are the best ways of getting started, and what should you expect as a newcomer? How to make the most of this experience?
Where To Start ?
The best way to begin to contribute to open-source projects is to start by contributing to software that you already use. As a user of a particular tool, you best understand what functionalities would be most valuable to the project.
Open Hatch is perfect for beginners. The search page of Open Hatch filters out bugs based on
Mozilla has a wide range of projects filtered based on programming language. See- What can I do for Mozilla?
Github is the home for almost all open source projects.
Make sure you read any available documentation about the software first. In fact, many open-source projects will have a
CONTRIBUTING.md file in the root directory, which you should read carefully before you contribute. It is important that you know these guidelines to avoid frustrations later – it’s no cool to get a pull request with code that is clearly out of standards, or doesn’t follow the project ideology, or something else that you should already know because it’s in the docs.
Overcome the Fear of the First Time!!
It’s normal to be afraid. The contribution itself (code, documentation etc) is actually the easiest part of the whole thing – getting the pull request out there is the real challenging part, since you will be exposing your content for review. But you should always remember that all those people who are into open source had their fears when they did it for the first time, too. It’s natural and you can overcome it!
If you’re just starting out with contributing to open-source software, it is a good idea to start with something small, each contribution is valuable. You may want to start with fixing typos, adding comments, or writing clearer documentation.
Choose a topic
Start small: this was undoubtely the most common piece of advice people shared – getting started with small contributions makes the whole process simpler, less stressful, and it’s a great opportunity to get acquainted with the tools of the trade. Documentation, tests, typo fixes – any contribution is a valuable contribution! Also, it’s a good idea to follow YourFirstPR on Twitter – they are constantly showcasing starter issues on Github, specially for beginners.
Good communication is essential in any team activity. You should try to communicate with the project maintainers since the very start, before getting any contribution started, to avoid frustrations and time spent on changes that won’t get accepted. When proposing a change, also, it’s important that you explain in details what was changed and why.
Just Do It !
When you have a project and a topic to work on, it’s finally the time to get it done! If you need help with Git and the Pull Request process, don’t be afraid to ask the project maintainers. I will be briefly explaining How to use Git ? in my next post.
And If Things Don’t Go as Expected…
There’s always a chance things don’t go as expected, but you should not feel frustrated or discouraged – remember the world of open source is not always perfect, and not all projects have great and welcoming maintainers. Also, even good ideas and good implementations can be rejected by some project maintainers – they have the right to do so if they want to. If you had a bad experience in your first contribution, don’t give up – I promise you, for every not-so-friendly project out there, there are at least 5 amazing projects that would love to get a contribution from you.
This article is contributed by Ajay Jain. 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
- How to begin Contributing to DuckDuckGo’s Open Source Community
- Top 5 Open Source Code Editors in 2020
- Flutter | An introduction to the open source SDK by Google
- Making your first Open Source Pull Request | Github
- Step Wise Guide to start with Open Source
- Top 5 Free and Open-Source Version Control Tools in 2020
- Top 5 Free, Cross-Platform, and Open-Source Database System in 2020
- Gradle Build Tool I Modern Open Source Build Automation
- Software Freedom in FOSS (Free and open-source software)
- 7 Steps to Getting Started With IoT
- How to Get Started With Bug Bounty?
- MongoDB: Getting Started
- Getting started with Classification
- Apache POI | Getting Started
- Getting started with OpenGL
- How to Get Started with Game Development?
- Getting started with Machine Learning
- How to get started for technical Interviews?
- Getting started with the Google Coral USB accelerator
- Getting started with Python for Automated Trading