When I first came across the concept of contributing to open source software, I thought it should be a piece of cake. Most articles and talks about contributing to open source make it sound like so. But when I actually tried to do it (for example, Hacktoberfest), nothing came out of me. Many Hacktoberfests later and despite knowing Git, I still have no contribution. That is until now, when I participated in the IBM Developer Jumpstart Open Source Contributors Coalition (link is an IBM internal website).
My experience was very positive, and I would say that the program, headed by Ann Graham in IBM Austin, really helped me become confident in making pull requests and reaching out to the community.
In the process, I was able to make three pull requests which have all been merged at this time. Two of these are document changes and the last one was on UI, which isn't very complicated, but I was proud to be able to resolve. I also obtained a badge to say I have contributed to an open source project.
The program went over for about two months, starting with an introduction to open source (why contribute to open source, why contribute as an IBMer and where to contribute). Steps were provided on how to contribute. This includes obtaining a manager's approval, taking the open source participation guidelines (OSPG) certification, and even preparing Github profiles to link to IBM. All these steps are not too important if you don't work at IBM, of course, but I think the OSPG course was helpful.
Selection of the project to contribute to was probably the hardest for me, as I have a lot of interests. But the advice of the mentors (Matt Rutkowski and Mike Brown) were very helpful. One of the points they raised was that it's best to pick a project where there are lesser barriers to be able to contribute.
Eventually, I decided to pick a project called Elyra, an AI-centric extention to JupyterLab Notebooks. I contacted its mentors via Slack to notify them of my desire to contribute. They then pointed me to docs that can help me.
I naturally had to test out the Elyra app. By following the installation steps, I had some minor questions which gave me some ideas on what to contribute documentation-wise.
It is still hard, however. There are always the negative thinking. The Jumpstart program's weekly stand-ups were helpful in that regard. The mentors' main takeaway was to "just do it". Just make a pull request. But do it appropriately.
It helped that the projects that are available to contribute to are part of the program. They know what are expected of them, and they are supposed to be welcoming. I'm not so sure about other projects outside the program. Most probably, they are welcoming, as they should be. But I'm weary of some comments by maintainers that I gleaned from Twitter about Hacktoberfests. But this is probably because of some drive-by PRs. Not sure. I guess I should do Hacktoberfest this year and apply what I learned from the IBM OS Contributors Coalition.
I'm very grateful for the chance to be a part of the program. It helped me a lot.
Btw, here is the link to my PRs to the Elyra project.