Open Source Engineering


When I first started this latest subject at my university - Open Source Engineering
- it felt both cool and distant. I remember coming across the term “Open Source” when I applied for Girlscript Summer of Code(GSSOC’24 Extd) as a contributor, but it all felt new, difficult, and beyond my skill level. Reading all the GitHub repositories, understanding the documentation, getting to know the tech stack, and project structure alone felt very difficult, let alone making contributions.
In this article, I will be writing about my journey in this subject “Open Source Engineering” and how I went from Noob to Techie.
The Baby Steps
We started this class by learning the ground basics of open source, the philosophy of FOSS (Free and Open Source Software), and trying to shift from Windows to Linux for our everyday tasks. It was both fun and mesmerizing as we dived deeper. We explored the basic principles of Linux, understood how it empowers developers, and realized why open source is a must in today's tech world. Then came the basics of GitHub — learning essential commands and getting hands-on experience with small files, creating PRs, and handling merges.
In the coming paragraphs, I will discuss each of these activities in more detail.
Philosophy of FOSS
The philosophy of FOSS (Free and Open Source Software) was one of the first things we explored. It’s not just about free access to code — it’s about the freedom to use, study, modify, and share software. We learned how FOSS empowers collaboration, transparency, and innovation, making technology more accessible to everyone. Understanding this philosophy made me realize that open source is more than just coding; it’s a movement driven by community, knowledge sharing, and collective growth.
The Unveiling of Ubuntu
The major step we took in this class was shifting from Windows to Ubuntu (Linux). This change was one of the most exciting parts of our journey, as it felt like stepping into an entirely new world. At first, everything seemed so unfamiliar — using the terminal for all tasks, understanding the file system, and learning the commands — but it didn’t take us long to get comfortable with the new OS. We learned basic terminal commands, how to navigate the Linux environment, and how developers leverage its flexibility and power for everyday tasks. Linux felt like freedom.
Here are some of the basic commands to help you navigate in Ubuntu:
pwd # Show current directory
ls # List files and folders
cd # Change directory
mkdir # Create a new folder
touch # Create a new file
Git and GitHub: The First Brush
After getting comfortable with Linux, we moved on to learning Git and GitHub — the backbone tools for open-source collaboration. At first, Git felt like a set of complicated commands, but with practice (and some fun), it started making sense. We learned the basic flow of creating repositories, making changes, and collaborating with others.
To make the learning process more engaging, we played two popular Git learning games:
Oh-my-Git
: https://ohmygit.org/Learn Git Branching
: https://learngitbranching.js.org/
These games made concepts like commits, branches, merges, and pull requests a lot easier to grasp.
Git is not just a version control system, it's a time machine. It lets you revisit your past, branch out into the future, and collaborate with others in the present.
My First PR - A milestone worth achieving
I contributed to my first Pull Request by writing Python documentation in a project that helps developers by keeping all the programming language notes in a single repository.
Contributing to this file felt like a real achievement as it also helped me brush up my Python coding skills, revisiting all the basics and learning about some new packages. The PR was also successfully merged by the author.
The first PR merge was indeed a celebration!
Challenges Faced
Open Source isn’t all smooth sailing - there are a few bumps along the way. One of the biggest challenges I faced was understanding large codebases and navigating through complex files. At times, Git commands like branching and resolving merge conflicts seemed overwhelming. I also struggled with self-doubt, wondering if my contributions were good enough. However, by practicing consistently, asking for help, and learning from feedback, I slowly overcame these challenges. Each obstacle helped me grow as both a coder and a collaborator in the open-source community.
Call to Action
If you're thinking about diving into open source, there’s no better time than now. Start by exploring beginner-friendly projects on GitHub, contributing to documentation, or fixing small bugs. It’s a great way to get your feet wet and start building connections in the open-source community. Remember, every contribution counts, no matter how small. So, jump in, learn, collaborate, and be part of the amazing movement that’s shaping the future of technology.
You don’t have to be a genius to get started — you just have to start.
The Future of Open Source
Looking ahead, open source feels like it’s only going to get bigger and better. With more developers, students, and even big companies joining in, the energy around open source is unstoppable. It’s exciting to think about how open collaboration will shape fields like AI, blockchain, and even everyday apps we use. I truly believe open source will keep breaking barriers, making tech more accessible, diverse, and community-driven. The future isn’t just about who builds the technology — it’s about how we build it together.
Conclusion
This article only captures a part of my journey in the world of Open Source, but it's a part worth remembering, sharing, and celebrating. I'm looking forward to many more contributions, deep dives, and exciting adventures ahead in this journey.
Open source isn’t just about code; it’s about community, creativity, and changing the world together.
With that said... the journey has just begun!
About the Author:
Hello everyone, I'm Soumika Devarakonda. I hope you enjoyed reading this article and gained some valuable insights into the world of Open Source! 🌐🚀
Feel free to connect with me on LinkedIn or GitHub to share ideas, projects, or just have a tech chat:
🔗LinkedIn: https://www.linkedin.com/in/soumikadevarakonda/
🐙GitHub: https://github.com/soumikadevarakonda/
I’m always excited to collaborate, learn, and grow within the amazing open-source community! 💻💡 Let’s make technology more accessible and inclusive for everyone. Looking forward to connecting with you all!
Subscribe to my newsletter
Read articles from Soumika Devarakonda directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
