Starting my journey in Open Source
An Introduction to my upcoming blog series
Table of contents
I'm very excited to start a series of blogs over the next 4 months, where I'll be sharing my journey into Open Source Development.
Disclaimer: I'm a complete beginner when it comes to contributing to large open source projects! 😭
I’ve gained experience working with teams and contributing to company projects during my internship, freelancing and some other projects, but the open-source world feels both thrilling and a bit daunting due to its boundless freedom. I believe I’m going to learn a lot, and the idea of blogging about this journey is pretty cool.
I get to document my progress and share it with everyone. This way I can track how I improve over time and you can follow my journey alongside me as well !!
About Me
My name is Aryan Khurana, and I’m currently in my last semester at Seneca Polytechnic, pursuing an Advanced Diploma in Computer Programming and Analysis.
This blog series is part of the Open Source Development (OSD600) course I’m taking this semester, where we’ll be diving into open source. We’ve been given a lot of freedom in choosing which projects we want to contribute to, and I’m looking forward to seeing where this journey takes me!
Why Open Source?
The idea of open source isn’t new to me. I use open-source software almost every day, and I’ve tried multiple times to start contributing throughout my journey as a developer. Even though I love stepping out of my comfort zone and learning new things (because the whole domain of engineering fascinates me so much), I’ve always found it hard to get started with open source. I’ve had that same feeling of not being “qualified” or skilled enough to contribute to these huge projects.
I’ve always considered myself a generalist in computer science, a jack of all trades. Whenever someone asks me about my specialization, I honestly don’t have one. My curiosity has driven me up to this point, leading me to learn a lot of different things. This also makes it harder for me to pick a project because I’m interested in just about everything computer science has to offer.
Another challenge I recently faced when choosing a project was the requirement for knowledge beyond just software development. For example, I am interested in astronomy, so I checked out NASA’s OpenMCT project. But I quickly felt overwhelmed by the physics, and mathematical knowledge that I thought I needed. Maybe I don’t need to know all that stuff to make basic contributions, who knows? But that’s the challenge, and it’s one of the things that’s held me back from contributing up until now. I want to take on hard problems, but the question is—can I really?
What fascinates me about open source is the chance to work with communities and people smarter than me, who are building things that have a real impact. That is what I love about our community as a whole. We’re all engineers, and we build to make the world a better place. Open source brings together people like us—all enthusiasts. Even though I’ve been hesitant in the past, I’m going to trust my skills and dive in this time. I’ll explore projects across all the domains that interest me (which are basically all of them except for frontend web design maybe XD ) and aim to find a balance—something feasible to work on within 4 months, but not too basic either.
I’ve thought about this a lot. For example, I’ve considered projects related to automation, like Ansible, or interesting packages like JSON Server. I even looked into search engines like Elasticsearch, but so far, I haven’t landed on a project that I’m 100% sure I want to work on. I want a project where I can actually learn and grow while contributing but at the same time be realistic about the expectations that I set for myself.
Getting my feet wet
For this blog post, we were told to get familiar with some open-source repositories and see what it’s like to dive into these massive codebases. We checked out the top trending GitHub repos this month and picked out what we found most interesting. I had fun exploring everything from core AI and DevOps projects to everyday little packages that developers use.
One project that totally blew me away is Docker-OSX. I was seriously impressed when I saw it. These folks figured out how to run macOS as a Docker image, and they say it performs almost as well as running it natively—how cool is that? Docker-OSX is pretty much the only project out there doing this.
As a command-line warrior, Linux lover, and macOS daily driver, this project really hit home for me. I’m excited to show it to my friends. Even though I’m not a scripting god and a lot of this project involves shell scripting, the problem it solves is super interesting. I might dive into this project over the semester unless I stumble upon something even more appealing.
Conclusion
That was it for my first blog post. This blog series will hopefully capture all key moments along the way and I’m super excited for this 😁