Table of contents
- A little context about the Wizard🪄
- Opening my first Pull Request
- My productive months at GSSoC'22
- Participating in Open Source Hack 2022
- Experience as Mentor and Contributor at Grace Hopper Celebration Open Source Day 2022
- Participating in my first Hacktoberfest
- Wearing the Wizarding Hat of Speaker for Open Sourcery ✨ and Hacktoberfest 💻 🎃
- Bagging an Internship through Open Sourcery 🪄
- Special credits: An extremely relatable newsletter edition by Aditya Oberai
- And the journey goes on...
After spending a year as a newbie in open-source, I still believe it is only the tip of the iceberg that I have truly explored.
But, a little trick that does wonders is not turning back! ✨
A little context about the Wizard🪄
I'm Abhilipsa Sahoo. I'm currently in my 3rd year of pursuing B.Tech focussed in Computer Science & Engineering from Gandhi Institute for Technological Advancement, Bhubaneswar. I'm currently working as an SWE Intern at UnoTag. I'm a big time open-source and pop culture enthusiast. I enjoy being a frontend developer at times. I love to engage with different communities that I have become a part of over the period of time.
As it completes one year of investing my time in open-source, I have decided to document my journey and learnings (till now) through this not-so-very-short blog.
So buckle up and enjoy the ride!🌟
Opening my first Pull Request
Coming across open-source for the first time
I came across the term "open-source" in around February 2022 when I opened my GitHub account so as to participate in my first ever hackathon organised by Major League Hacking. Later on, through personal projects, hackathons, workshops and YouTube tutorials, I dedicated some time towards learning basics of Git and GitHub. It occured to me that initially I was more comfortable with using GitHub only, because I mostly used it to store source code of my small projects. It was when I opened my first pull request to a repository of another organisation, that I explored the spells 🪄 of version control using Git.
Some important spells:
My first PR to Spotify
I'm extremely fond of listening to music on Spotify, despite the annoyance caused by the unskippable advertisements. When I came across OSS, I was intrigued to look into the projects that Spotify had open-sourced, some of which are Chartify, Pedalboard, Backstage (created by Spotify but now hosted by CNCF), etc. However, I got too overwhelmed, so I decided to start with something small. I went through the source code of spotify(dot)github(dot)io repository, which was basically a showcase site for hand-picked open-source projects by Spotify and realised that many of the projects in the list were repeated (duplicate), many were missed out, so I cloned the repo to my local machine and modified the project.yaml and README file with required changes and opened my first ever PR. (Yayy! 🥳)
To my surprise, few days later, the maintainer of Spotify's showcase website merged my Pull Request. My first PR wasn't much work, but it will always remain special to me! Here is the PR if you want to take a look.
For the next few days, I contributed to organizations such as EddieHub, FreakC Foundation, Dcoder (Community Blocks), and many others. Some PRs got merged, some are still pending till today.
My productive months at GSSoC'22
Towards the end of February 2022, I got selected as a participant for GirlScript Summer of Code '22, which is a 3-month long journey enriched in fun, learning, collaborating and contributing. By the time the program began, I had basic knowledge of Git and GitHub. What I mostly focussed on was developing small side projects, making quality pull requests with significant changes to projects that made real-world impact, building connections, and adopting open-source etiquette. This was the time I also learnt how to effectively inculcate and implement the ability to multitask, so that I wouldn't have to struggle with college classes and semester examinations. Finally, the collective efforts of project admins, mentors, contributors and organisers made this program a huge success. It was indeed an honour to be shortlisted as one of the Top 50 contributors, obtaining Rank 35.
Participating in Open Source Hack 2022
GSSoC'22 really provided a moral boost that made me want to explore many such open-source programs. One of which was Open Source Hack 2022, a month long open-source contest held twice a year, of which one was organised in the month of July by AnitaB.Org Open Source Community. This program aims to help participants begin contributing to various Open Source Projects by highlighting non-coding paths to contribute to open-source. During the contest's time, I was exposed to several ways we can contribute to open-source other than coding, such as, documentation, outreach/research, designing, quality assurance/testing, etc. I realised that the Open Source Community is open to tech enthusiasts from each and every background including UI/UX designers, developers, testers and beyond who can equally help in creating social impact products. Throughout the month, I managed to create 5 mentor-approved quality pull requests to the following repositories: Mentorship System Android App and STEM Diverse TV Backend. Through this contest, I got an insight into how an open-source project is developed in a decentralized and collaborative way, relying on peer review and community production.
Open source thrives at the intersection of innovation and collaboration.
Experience as Mentor and Contributor at Grace Hopper Celebration Open Source Day 2022
Open Source Day (OSD) 2022 was an all-day hackathon that took place as a pre-event to the Grace Hopper Celebration (GHC) 2022. The event took place virtually on September 16, 2022 from 8am to 3pm US Pacific Time.
During April, I applied as a Mentor for Grace Hopper Celebration Open Source Day 2022 by mentioning my skills in the form. By June, I had received official notification that I was selected as a Mentor AND Grace Hopper Celebration Student Scholar 2022 that I had applied for last moment (thanks to my professor who wrote a valuable LOR upon immediate request!). In August, I received an email regarding the Mentor-Project assignment based on the final review of my skills and competencies by the committee. I had the immense pleasure of being paired with Moja Global as a Mentor for their Full Lands INtegration Tool (FLINT) Project: FLINT Cloud and FLINT UI. To me, this project was as complex as it would have been for any other newcomer, and the source code overthrew me when I first took a look. Through the constant motivation of the Project Maintainers: Shloka Gupta, Harsh Bardhan Mishra and Padmaja Bhol, and the well-documented steps in the repo, I was able to set up the project on my local machine and familiarised myself with it to prepare for the event in advance. I carefully went through the handbooks and documentation to understand the use of FLINT to assess land-use emissions, its functionalities as well as commercial applications and the importance of open source technologies in revolutionizing the fight against climate change. Through this period till September, my fellow mentors, Meenakshi Dhanani and Lahari Boni, and I remained in touch with the maintainers and the committee members through Slack, our main communication channel. We labelled issues as beginner-friendly and OSD to make them distinguishable from other issues for the beginners.
During the hackathon, our team provided one-on-one uninterrupted guidance to the participants in setting up their development environment (in the local machine as well as on GitPod), answered questions about Git and the process of submitting and updating pull requests, helped participants pick and work on their issues, and provided feedback on their pull requests. We ended the day with merging successful pull requests from several first-timers and helping them kick-start their own open-source journeys.
As we stayed awake through the night due to the difference in timezones, I wanted to utilise my opportunity as a GHC Student Scholar to participate as a contributor as well. Soon, the frequency of contributors turning up to our Zoom room decreased, everybody was taking turns to get some rest for a while, so I utilised my break to tackle a good first issue in the repository Transform to OPen Science, under the participating organisation, NASA. For the issue, I had to document a SECURITY.md file by referring their Vulnerability Disclosure Policy in order to guide contributors in reporting security issues, if found any, in NASA owned repositories. My PR soon got merged and I was officially OSD 2022 Mentor and Contributor.
Participating in my first Hacktoberfest
Hacktoberfest 2022 was the first of its kind that I participated in. Scrolling through Aviyel, I stumbled upon Novu: an open-source notification infrastructure. To make things more interesting and October more productive, I decided to register in Hacksquad, a contest organised by Novu that allows contributors to contribute code as a team instead of an individual contributor. As the contest began, I found myself in company of great, optimistic teammates who, throughout the contest, inspired me to do the best that I can. We called ourselves, The Dream Team! During October, I tried to remain consistent and make contributions to different organisations such as Moja Global, Open Food Facts, IBM's Carbon Design System and Novu to name a few. I made around 11 PRs to Novu's repository that included adding webhook parsers for different providers such as Mailjet, Mandrill, Telnyx, adding and improving i18n support for different languages such as Bosnian, Afrikaans, Tamil, Odia, etc., and other minor fixes. I became one of the official contributors to Novu's v0.9.0 — Hacktoberfest Release, who obtained a gold medal badge for getting 7+ quality PRs merged. My profile, badges earned and contribution activity have been showcased on their official website. My team also managed to bag the 7th position in the Hacksquad contest leaderboard out of the 900+ participating teams.
I am really glad to have come across extremely friendly maintainers and developers who consistently and patiently review my code, ask me for my views upon modification on any piece of code I write, and let me know that there's always room for improvement.
Hacktoberfest 2022 done and dusted!
Here's the repository in case you want to check out: Novu
Recently, I also received PAW-some swags from Novu exclusively, along with the Hacktoberfest swags from Novu, Digital Ocean, Appwrite, Docker, GitHub, RapidAPI, and Devtron.
Wearing the Wizarding Hat of Speaker for Open Sourcery ✨ and Hacktoberfest 💻 🎃
During October, I also received an opportunity to take a hands-on session as a part of 2-Day hands-on Seminar on Hacktoberfest and all things Open Source at Government College of Engineering, Aurangabad (GECA). A day dedicated to wonderful learning and community engagement experience, thanks to Compsa Student Community of GECA. Throughout the session, I tried my best to familiarise students with tools such as Git, GitHub, GitPod by handling a demo session. I also shared my experience as a new contributor, the DOs and DON'Ts of open-source etiquette and how to approach Hacktoberfest 2022.
Bagging an Internship through Open Sourcery 🪄
Many students ace the Hacktoberfest, get swags and then never look ahead. But, as I mentioned earlier, the small trick of never stopping can serve you many other perks on a plate, as it has done to me over the few past months. Even though I struggled to remain productive throughout November, I decided I wouldn't stop. I contributed to Novu for their different releases. For v0.10.0, I added webhook parser for Termii provider, and for v0.12.0 — Polishing Season release, I added webhook parser for NetCore provider.
Here are three of my PRs:
Throughout my time at Moja Global, I have contributed to the enhancement of development notes for FLINT UI, replaced several Ant Design Vue components in the project with components from Moja Global's UI Library, documented introductory pages for Storybook setup of the UI Library, been attending community meetings and helping new contributors, etc.
Here are some of my PRs from Moja Global:
If open-source were a cake, then the skills we accumulate, the experience we gain, and the community we engage with are the foundation; they build the base of the dish. The swags and the recognition are merely the cherry on the top.
In the mid of December 2022, I received an internship offer from a startup, UnoTag, which offers an incentive gamification platform along with notification management for customer engagement.
Special credits: An extremely relatable newsletter edition by Aditya Oberai
I came across Aditya Oberai's newsletter edition, titled, "Is Open Source Necessary To Become A Good Developer?" wherein he pointed out that despite all the knowledge, skills and recognition open-source provides (so much so that this has led to a point where people tend to look down on others for choosing closed-source over open-source, which is absolutely not right), working in open-source is a privilege not everyone can afford.
Open-source is always a choice, not an obligation.
Here's a link to Aditya Oberai's Newsletter edition and a small LinkedIn post with my opinion on it:
And the journey goes on...
A couple of months ago, I got my PRs merged to Kubernetes and Meshery for the first time, and I even got to attend their respective community meetings. I'm looking forward to explore many such opportunities and learn as much as possible from them. Most important reminder: It's never too late!
So without doing any more of the awful lot of talking, I conclude my blog on all things open-sourcery ✨ that has happened in my life and played a vital role in my personal and professional growth, while shaping me into a better, more capable and responsible version of myself.
But learning never ends!
Thanks for bearing with me.
Wait, hang on, here's a GitHub repo containing most of the open-source programs I could find along with their details: OSS Programs and Competitions.
Feel free to add to the list, or modify if anything seems outdated. 👍