How To Get Started With Open Source Projects ?
Open source is one of the best ways to contribute to the wider developer community and build a good developer profile at the same time. These projects are much better than any self made project as you get to work with experts on real world problems. These projects are live in production and you can see your code changes being used by the real users. It even opens up opportunities of doing one of the most prestigious and high paying internship which is GSOC. This post aims to dive deep into the things you need to do to get started smoothly with an open source project.
Open source contribution can be super challenging when you are just starting with a new codebase. For famous projects, the codebase is large and old, and it can get overwhelming to figure out where to even start from. Additionally, there is a learning curve in terms of technologies like version control system. There are processes like code reviews and there are new frameworks that are being used by the project which you need to understand before you can start fixing even a small bug.
It is super important that you set realistic expectations when you are starting with an open source project.
You should have a few weeks to even a few months of time set aside to just get onboarded with the project. It is unrealistic to start contributing on Day 1 or even Week 1. Before you dive into the codebase, you should consider the following:
Go through the onboarding documentation. Get familiar with guidelines of contributing to the project. Setup the codebase and local environment on your machine using the onboarding documentation.
Join the relevant mailing lists. Be an active listener of the communication that is happening to understand who are their key contributors, what is their working style and what are the project goals.
If you are new to version control like Git, understand it, see how it works. Get familiar with basic commands. Practise creating some repositories locally and running those commands yourself. You are going to use a lot of Git over the duration of your project.
Understand the processes like how to file bugs, how to file feature requests, how to get your code reviewed, how to submit the code, how to pick up bugs from the backlog and so on.
Understand how other developers are contributing, and how they take help whenever they get stuck somewhere. You will get stuck a lot especially when you are just starting. You need to be mindful of the fact that you are not taking too much of other people's time while taking help. See the community guidelines around this and observe how other developers are asking for help, so that you can do the same when needed.
Doing the above will take some time but will make you understand how a team collaborates to build a big project.
If you can get a chance to talk to someone who is already contributing to the project, go for it. You will learn a lot from their experience.
With time, you yourself will start feeling confident about how things work, and then you can start contributing by picking some low hanging fruits. Start exploring the part of the codebase which involves fixing that bug. Initial few bugs will be the hardest, but as you fix many bugs, you will start to understand the codebase in detail. With time, You yourself and the project community will feel confident to provide you with bigger features.
Contributing to open source is a longer game than doing a self made project. Treat it that way. This is the closest you can come to understand how tech companies collaborate to build something big. The learning curve will take some time to get you fully onboarded but it will be a high reward exercise in the long term.
LLMs like Chat GPT & Bard have brought a technological revolution. If you are looking to explore the open source version of these tools, do read this next post below.