Open Source Contributions! - My First Ones

·

4 min read

Open source is a realm of infinite learning and collaboration, and diving into it has been one of the most rewarding experiences of my journey so far. As a second-year engineering student in my third semester, I embarked on this incredible adventure, and I’m excited to share the story of my first two contributions to the open-source world.

Both of these contributions mark my first steps into the open-source world, and I’m thrilled to share that they were successfully MERGED!

Contribution #1: AnkiDroid – An App with 10M+ Downloads

AnkiDroid, a highly popular flashcard app with over 10 million downloads on the Google Play Store, became the stage for my first open-source contribution. Here's how it unfolded:

The Process:

  1. Discovering the Issue: The journey began when I spotted a GitHub issue. I promptly claimed the issue, ready to dive in.

  2. Exploring the Codebase: Forking the repository revealed a massive codebase. At first, it felt overwhelming, like navigating an ocean of complexity.

  3. Understanding and Collaborating: After thoroughly exploring the code, I initiated discussions with David Allison, a maintainer at AnkiDroid. His guidance was instrumental in shaping my understanding of the code and the changes required.

  4. Joining the Community: Joining their Discord server introduced me to a community of talented individuals from around the world. Discussions here were invaluable in refining my approach.

  5. Creating the Pull Request: With all the knowledge and feedback I had gathered, I created my first-ever Pull Request. Seeing it get merged was an indescribable moment of pride and joy!

The change might have been small, but the experience taught me invaluable lessons about collaboration, attention to detail, and the open-source process.

Contribution #2: Wikimedia Commons App

Continuing my open-source journey, my next stop was the Wikimedia Commons Android app—a non-profit, open-source app for uploading photos to Wikimedia Commons.

The Process:

  1. Taking Initiative: I came across a UI issue reported on GitHub. Nicolas Raoul, the maintainer, assigned the issue to me, and I got started immediately.

  2. Problem Solving: After analyzing the problem, I identified that the login screen elements needed better alignment for both portrait and landscape modes.

  3. Implementation: I updated the layout parameters in the XML files, ensuring the login frame appeared centered across all screen sizes and orientations.

  4. Team Support: Throughout the process, I had incredible support from Josephine Lim, who guided me through the review process, and Sujal Gupta, who provided valuable suggestions.

  5. Verification: I rigorously tested the app on multiple devices to ensure the changes worked seamlessly.

What I Changed:

  • Ensured the login frame aligned perfectly in the center, providing an improved user experience.

Key Learnings

  • Collaboration is Key: Working with an international team was a highlight of this journey. From David Allison’s mentorship to valuable feedback from Josephine Lim and Sujal Gupta, the collaborative spirit of open source is unparalleled.

  • Attention to Detail: Even small UI changes can have a significant impact on user experience, and this taught me the importance of precision.

  • Confidence Boost: Completing these contributions as a second-year student boosted my confidence immensely. It reassured me that I’m on the right path and capable of tackling bigger challenges.

The Team Behind the Success

Here’s a shoutout to the incredible individuals I had the privilege of working with:

  • David Allison (AnkiDroid Maintainer): For his guidance and mentorship.

  • Nicolas Raoul (Japan): (Wikimedia Commons): For assigning me to the issue and trusting my abilities.

  • Josephine Lim (Australia): For her patient reviews and detailed feedback.

  • Sujal Gupta: For his valuable suggestions that improved my approach.

  • Snowtimeglass (Japan): For pointing out the issue.

  • Brayan Oliveira (Brazil): For their encouragement and insightful conversations.

What’s Next?

This is just the beginning! These contributions were small steps, but they’ve ignited a passion for open-source development in me. I’m looking forward to:

  • Solving more complex bugs.

  • Adding exciting new features.

  • Continuing to learn and grow with the open-source community.

If you’ve been hesitant to jump into open source, take the plunge. The learning curve is steep, but the rewards - both personal and professional, are immense.

Conclusion

Making my first open-source contributions has been an exhilarating experience. The knowledge I’ve gained, the people I’ve met, and the confidence I’ve built are things I will cherish forever. These initial contributions are a stepping stone to a journey I’m eager to continue.

To anyone reading this: Don’t wait for the "perfect" time to start contributing. Open source is all about collaboration, growth, and making an impact - one line of code at a time.