Its intimidating when you first step into the world of open-source. There are events held online such as Hacktoberfest to help you get an insight into this by encouraging and helping you make some dummy/noob PRs. But once you experience that, you feel a thirst to actually make a meaningful contribution to some project. That's where the struggle begins.
So I had first participated in Hacktoberfest in 2018. Receiving all the goodies was fun but it was something through which I just got introduced to the world of open-source. I wanted to contribute to more projects but most of the times I was so overwhelmed with the complexity of the projects and the code base that I almost always shunned the thoughts to make any form of progress.
This continued for 2 complete years! Until I was pushed and had to force myself into it. I'm currently in the final year of my Master's degree and I had just had experience in C++ and Qt framework, making only small fun projects and desktop apps. I know Python but only that much that allows me to get by my days in the university. Never learned it in thoroughly or practiced it by making projects.
I got an assignment in my Software Architecture course, where it required me to make contribution to open-source projects, it can be a bug-fix, a feature request or resolving some code issue. Now we know that all these aren't easy. I started looking up projects and that's when I realize that I'm extremely restricted to my choices, as I only knew C++ and majorly only had been solving problems on Leetcode.
(Psst. Newbies! This message is for you:
To all the people struggling with such limitations in languages, I urge you to get out of the comfort zone of your favorite language and learn new one. Don't clip your wings by your own hands.)
This realization hit me so hard. Learning other language widens the scope/domain to play with, but it also makes us diverse.
If you wonder which language you should pick-up, why not try JavaScript? I have started learning JavaScript (from the most famous FreeCodeCamp of course). It is a thing that's running on frontends, backends, desktops, mobile, name it! It's everywhere. Even on IoT devices now. (whaaaaaaaat...)
Anyhow. So I landed on KeepassXC Github repository where someone asked for a feature request to color the app based on the color they wanted. I took it up and started working on it, made some progress and asked on the feedback. I was responded that I took the right direction but since it was just an experimental feature, it may never be merged. Although the maintainer was polite and encouraged me to try things and keep learning, but I have an assignment to complete. So I hit a dead-end there.
Next I moved to another repository looking at the projects and realizing that had I known JavaScript well, I would not have had such difficulty in doing so. After some time I stumbled onto IssueHub.
Searched for C++ and tag: beginner, and somehow stumbled on another project.
This time I did some more research. Looked at how beginner labelled issues were handled. Saw the conversations, went through the CONTRIBUTING.md, looked at the CodingStyleGuide.md they had, and decided to pick an issue accordingly.
I hope this time my changes get merged to the project and I have something to show for my assignment. But assignment or not, I just want to say to all the freshlings here, just go ahead and try with minor issues, and as you develop and study the code you will be able to make worthy contributions to a project that you want to. It takes effort and patience. But then, what doesn't?
Top comments (9)
Thank you for sharing your experience! I am new to Open Source and in my last semester of Computer Programming and Analysis. In my course, Hacktoberfest is part of an assignment. I am glad I chose this course so that I can be more comfortable contributing. ☺️
Amazing. Courses like these really align with one’s interests. Kudos to your teacher as well 🥂and have fun in this assignment 😊
Hi Prakhar, thanks for sharing! 😊 It's great that you now feel more confident contributing to Open Source! I also made fixed some beginner issues during the hacktoberfest this month, it's so much fun.🎃
Right! Right! 😃 and with such community and helping people, it is definitely much motivating to continue.
This was my first post worth calling article. Thankyou guys for showing support. I feel motivated 🤗
Thanks
Rishabh and Ramankit for helping me in the journey of OSS. You guys are my inspiration.
You asked about a “Mentor” on Freecodecamp, but my reply was flagged “advertisement” and was hidden from you (which is silly).
I just found preply.com where I pay for face to face video conferencing lessons hourly. And in my first lesson, the guy actually pointed me to freecodecamp.com for self studies. But all the questions that arise when learning new stuff can be really hard to find answers to on Google. So hard to frame the question in the right way and use the right terminology.
With codecamp and preply I’m now moving full speed ahead! Enjoy!
Thank you prakhar for sharing your experience with us!!
it's helpful for me.
I hope it was worth your time 😅
A inspiring peek into the world of open source development.
It makes me want to try something small to start the practice.