Exploring Open Horizons: My Journey into Open Source

·

4 min read

Table of contents

No heading

No headings in the article.

Introduction:

Hey there, I'm Varsha D R, a second-year computer science student at M S Ramaiah University of Applied Sciences. In this blog, I want to take you on a personal journey of my discovery and growth in the world of open source.

What is Open Source?

Open source is a collaborative approach to software development that encourages people to work together and share their code. It's a community-driven movement where developers from all backgrounds can contribute and improve software collectively. By sharing knowledge and ideas, open source fosters innovation and creates better technology for everyone. It's an inclusive space where anyone can participate, regardless of their experience or resources. Open source is about collaboration, transparency, and making a positive impact through shared efforts.

The Early Stages:

I was introduced to open source through YouTube videos, particularly those related to Google Summer of Code (GSoC). These videos ignited a sense of curiosity within me.I wanted to learn more, contribute, and be part of something bigger.

Discovering Open Source Projects:

At the start, I found it overwhelming to choose the right organization and understand the intricacies of Git and GitHub.During my quest to explore the open source world, I had the opportunity to discover and contribute to CDLI (Cuneiform Digital Library Initiative). The journey that led me to CDLI began with my curiosity and a desire to dive deeper into open source projects.I gained good experience at CDLI, where I successfully tackled a "good first issue" . This triumph boosted my confidence and motivated me learn more.Next,I started looking for an organisation that would be participating in Gsoc this year(2023).That's when I stumbled upon Mathesar—a project that resonated with my passion for web development.Mathesar's focus on automating API documentation using DRF's Spectacular and Swagger UI immediately caught my attention.

Pre-gsoc period:

During the pre-GSoC period, I started preparing a proposal for Mathesar. This phase involved immersing myself in Mathesar's codebase, refining my understanding of Django, and formulating a plan for automating API documentation. I dedicated time to research about DRF spectacular and Swagger UI, the tools that’d help API Documentation.Their official documentation was helpful in understanding them.I then sent my draft proposal for review by mentors.Before the final application, I received two rounds of reviews.I then finally submitted the final proposal on the GSoc official website.

Project Overview: Automating API Documentation:

Here’s a short overview of my project.

Currently, there is no proper API documentation.This project aims at automation of API documentation generation for Mathesar’s current and upcoming APIs in a well-defined standard that can be easily understood by the developers.To achieve this, we will use a library, DRF Spectacular, which can generate Open API specification automatically based on the backend implementation. Open API is a well-defined standard supported by a large community and provides a machine-readable format for describing the functionality of the API. Additionally, Open API documentation can be easily consumed in different formats like JSON or YAML.We will generate it in YAML format, as it is a more human-readable format and would enable developers to use any api platform of their choice(like postman, hopscotch, etc). Swagger UI is a tool that can be used to visualize and interact with the Open API documentation. It provides a user-friendly interface for exploring the API endpoints, parameters, and responses.We will integrate Swagger UI to DRF Spectacular, to display the API documentation generated by DRF Spectacular.

GSoC Results:

The culmination of months of anticipation and hard work arrived with the announcement of the GSoC results. Although I didn't secure a spot in the program, the experience and lessons learned throughout the application process have marked a significant milestone in my open source journey.

While it was initially disheartening not to be selected, I realized that GSoC is an incredibly competitive program with a limited number of slots available. The selection process is rigorous and considers various factors beyond an applicant's control.

Despite the outcome, I am grateful for the mentors of Mathesar for giving me an opportunity to volunteer for my API Documentation project under their mentorship.

I am fortunate to have mentors who believe in my potential and have entrusted me with the opportunity to contribute to the project.

Conclusion:

As I conclude, I remain committed to continuous growth and sharing my knowledge. Moving forward, I am excited to share my knowledge and inspire others through tech talks and workshops at Cynergy, the coding club at my university. Open source has not only opened doors to boundless opportunities but has also connected me with an exceptional community of like-minded individuals.

Future Blog Updates:

In the upcoming blogs, I am excited to share the progress of my API documentation project at Mathesar.Stay tuned!