My Open Source Engineering Journey: From Novice to Contributor

Table of contents
- Introduction: A Leap of Faith
- Embracing the FOSS Philosophy
- Testing Five Distros: A Deep Dive into Linux
- Version Control & My First Pull Request
- Licensing & Repository Management
- Self-Hosting Hedgedoc: Owning Your Data
- Localization with Weblate
- Engaging with Google Summer of Code
- Challenges Faced & Lessons Learned
- My Toolbox: Technologies & Platforms
- Reflections & Takeaways
- Looking Ahead
- A Heartfelt Thank You

Introduction: A Leap of Faith
When I signed up for the Y23 Open Source Engineering course at KL University, I knew I’d be venturing into unfamiliar territory. My only real exposure to “open source” was hearing peers talk about Linux distros and GitHub projects. What lay ahead was a rigorous, hands-on immersion—from Day 1 late-night installation woes to Day final seeing my stickers plastered on classmates’ laptops. This blog captures that journey: the philosophy that reshaped my mindset, the technologies that powered my growth, the community that lifted me, and the personal triumphs that transformed me from a wide-eyed beginner into a confident contributor.
Embracing the FOSS Philosophy
At its core, open source is more than free code. It’s a set of values—transparency, collaboration, empowerment, and shared ownership. Under Dr. K. Sripath Roy Koganti’s mentorship, we:
Unpacked licenses (MIT, GPL, Apache), ultimately choosing MIT for its balance of freedom and simplicity.
Debated ethics: Who benefits when code is open? How do we ensure inclusivity?
Practiced community etiquette: bug reports, respectful code reviews, and clear documentation.
This philosophical foundation turned every technical hurdle into an opportunity to exercise those values: persisting not just for myself, but for anyone who might build on my work.
Testing Five Distros: A Deep Dive into Linux
We were challenged to install and explore five Linux distributions:
Distribution | Focus | Key Takeaway |
Ubuntu | Beginner-friendly, community hub | Reliable package management with apt |
Fedora | Cutting-edge, upstream integration | Fast access to new software releases |
Kali Linux | Pen-testing toolkit | Hands-on cybersecurity tools |
Arch Linux ARM | Minimalist, DIY configuration | Mastery of system internals |
Elementary OS | Polished UI, user experience | Importance of design in developer tools |
After partitioning errors, bootloader conflicts, and countless terminal commands, I documented my comparative findings in our Distro Testing Wiki. This exercise taught me that every distro is a lens on open source’s flexibility—and that persistence unlocks mastery.
Version Control & My First Pull Request
Git felt like a labyrinth at first: commits, branches, merges, reverts. Interactive tutorials—Oh My Git! and Learn Git Branching—made complex workflows approachable. My contributions included:
Fixing typos and clarifying instructions in the course assignments repo via a pull request on code.swecha.
Raising issues (4 total) to improve documentation and fix broken links.
Merging two PRs of my own, celebrating that green “Merged” badge.
These early wins cemented my confidence and introduced me to
communal code ownership.
Licensing & Repository Management
For my side-project, FSAD-KLJobPortal, a Java Spring Boot + React job portal, I:
Added an MIT license in the repo (LICENSE).
Acknowledged contributors in the README (README.md).
Hosted the code on GitHub: github.com/Leo-Stephen.
This taught me that clear licensing and contributor recognition aren’t just formalities—they build trust and encourage future collaborators
Self-Hosting Hedgedoc: Owning Your Data
To deepen my sysadmin chops, I self-hosted Hedgedoc, a real-time collaborative Markdown editor. Key steps:
Provisioning an Ubuntu server on AWS.
Configuring Nginx reverse proxy, PostgreSQL backend, and SSL via Let’s Encrypt.
Hardening security: firewall rules (UFW), fail2ban, and regular backups.
Sharing my walkthrough on LinkedIn not only helped peers but solidified my understanding of production-grade deployments.
Localization with Weblate
To make open source inclusive, I contributed 19 translations via Weblate, ensuring software spoke to Telugu-speakers:
Translating UI strings with cultural context.
Reviewing peers’ translations for consistency.
Coordinating merges and resolving conflicts.
This work highlighted how even small text fixes can vastly improve accessibility for non-English users.
Engaging with Google Summer of Code
The prospect of GSoC drove me to:
Research organizations (e.g., HumanAI, JSON Schema).
Draft a proposal for documentation enhancements.
Interact twice over video calls and Slack with potential mentors.
Though acceptance is pending, the process sharpened my technical writing, proposal structuring, and cross-cultural collaboration skills.
Challenges Faced & Lessons Learned
Challenge | Solution / Growth |
Ubuntu installation errors | Deep dives into logs; patience with BIOS settings |
Navigating large codebases | Starting small; reading contributor guides thoroughly |
Resolving Git merge conflicts | Practicing on dummy repos; peer code reviews |
Configuring production servers | Incremental testing; leveraging community forums |
Each roadblock reinforced resilience, self-directed learning, and the power of reaching out when stuck
.
My Toolbox: Technologies & Platforms
Operating Systems: Ubuntu, Fedora, Kali, Arch ARM, Elementary OS
Version Control: Git, GitHub, GitLab
Self-Hosting: Nginx, PostgreSQL, UFW, Let’s Encrypt, Docker
Collaboration: Hedgedoc, Pidgin (IRC), Slack
Localization: Weblate
Project Management: Issues, Wikis, Pull Requests on Code.Swecha
Reflections & Takeaways
Community Is Core: From IRC chats to merge request feedback, the open source community is welcoming and resourceful.
Fail Early, Learn Fast: Each misstep—failed installs, broken builds—became a lesson in troubleshooting.
Documentation Matters: Clear READMEs and inline comments accelerate others’ contributions.
Philosophy Fuels Practice: Understanding why open source exists made how I code more purposeful.
Looking Ahead
This course culminated on April 17, 2025, with a celebratory group photo—our laptops adorned with FOSS stickers and bright smiles. Yet, the end of class is merely the start of my open source story. Next steps:
Finalizing my GSoC proposal and engaging with mentors.
Building new features in FSAD-KLJobPortal and inviting community contributions.
Exploring DevOps tools (Docker, Kubernetes) to enhance my deployment workflows.
Continuing translations, documentation, and low-barrier tasks to support emerging FOSS projects.
A Heartfelt Thank You
To Dr. K. Sripath Roy Koganti, whose passion ignited ours; to my classmates for late-night debugging marathons; and to the global open source community for being a beacon of knowledge—your guidance and camaraderie made this journey unforgettable.
If you’re curious about open source, take the plunge. Start with a small typo fix, join a local wiki, or spin up a personal server. The community awaits, and every contribution—no matter how modest—propels us all forward.
Subscribe to my newsletter
Read articles from Leo Stephen Maduri directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
