Hello World! It's been a long time since I have posted here. I thought I could share my experience participating in Hacktoberfest(You have to contribute 4 Pull Request in the month of October to the Open Source project). This is the first time I tried and cracked it. I have always wanted to try participating in Hacktoberfest but I was not consistent thinking I am not good enough. This time I persisted and I found it's not very difficult. The opensource world is very welcoming and gives a warm welcome to newbies.
How did I get started?
Initially, I did not focus on one project and tried contributing to multiple projects. But that's not a great idea. As I had multiple things in my hand, I didn't delve much deeper into any of the projects. So I started trying to contribute to only one of the projects (maybe you can try two, but definitely not more than that). That really paid off well. As I dug deeper into one project, I could contribute to the project as well as my learning on that project was steep too.
How to choose the project?
While there are many suggestions to get started with a project with which you have worked, I didn't do that. I tried an entirely new project that I haven't worked on at all. I started by exploring Apache Airflow as I want to get my hands-on that project. I started by reading their Contributors guide
and started by fixing typos and bash command errors in that guide. That was how I started giving my first contributions. You can pick a project that you want to try to get hands-on experience. You will have a great learning curve that way.
I started with Apache Airflow where they have excellent docs that are welcoming for beginners to start contributing. Airflow also has breeze which is a beautiful command-line tool that brings your machine to development mode with easy commands. You could choose projects with documentation that enables newbies to start contributing.
How about asking doubts?
In the open-source projects that I have started to contribute, there are chatrooms where you can post questions. In the Apache Airflow case, there is an active slack group where there are multiple channels and you can post your questions in the relevant channel. I saw many projects with active chatrooms which act as a platform to ask questions.
This is one excellent link about asking questions
How to pick issues to fix and start contributing?
I followed the most used path of checking issues with the label good first issue
. While it worked out after solving some two issues, I couldn't pick one confidently in the initial phase. So I started reading their docs and tried setting up Airflow in my machine. When reproducing the steps given in the doc, I found a few of them are outdated and started contributing to the docs. That's how I started contributing. By registering a few simple bugs that I found, raised issues and raised pull requests too :) This is the best path to contribute to the project in my terms as this worked out well for me.
What to expect after raising your PR?
Once your PR is out, you may start getting comments. I am quite worried about this part, as the changes I have made are exposed to the world and it can bring in more comments. But after getting more comments and more updates happened to my code changes, I found it more refined. The learning that you get in this place is really great. You will get to know multiple person's views and at last, you will have collective learning from all their views.
Hope you find this useful. Please share your experience in the comments too. Thank you for reading :) Happy coding.