Open-Source sounds scary for every newcomer. One can’t imagine the number of times I’ve reread the text for a typo in the docs while creating my first GitHub issue. For a student who barely has any confidence in his abilities, contributing to open-source seems like a huge task. That’s where the Summer of Code (ISCAS) (SoC) comes in, a perfect opportunity for any student looking to dive into the world of open-source
But what even is Open Source?
In general, open-source is source code that is made freely available to use, redistribute and modify. You can see the very code that makes a system up. But to me, it is much more than that. Open Source is a community of some of the most creative coders; creating software that will make the lives of themselves and thousands of others much easier. Software for the people, by the people.
Think of Open-source like a big machine that takes in budding ideas and coding talent, and churns out some of the best solutions to real-world problems. Right from contributing to documentation, to making recipes, videos, and more. You are contributing to help, every skill count!
The SoC selection experience and everything leading up to it
I made my first open-source contributions in the Code for Cause organization. My first Pull Request (PR) was to the One project of Code for Cause organization. I feel that it gave me a firm understanding of how to communicate with the maintainers of open-source projects. It also taught me how to effectively ask questions regarding the code changes that you are going to make. These few initial steps were crucial in getting me habituated to larger codebases of large organizations with strangers I’ve never met
The SoC mindset
After consulting other people, I finally realized what was wrong with my approach. It was the mindset.
So far, I was only looking for projects with all technologies I had worked on before. Every new opportunity to learn something was being ignored because I was scared of exploring domains that were slightly out of my comfort zone.
The Summer of Code program has always been a way for students to improve their skills and get familiar with Open Source. Yes, proposing something with technologies you are slightly new to, is not an easy task. You will have many doubts along the way. That’s when the next part of the mindset comes along… communication.
Communication is super important in every open-source project. If there is proper communication among the contributors, only then a viable project can be delivered. I realized something in the proposal and the selection period. All the doubts I had regarding a particular topic could be very easily answered, by asking the right questions in the Ring Central Channel .
I tried ensuring regular communication with the mentor and promptly asking doubts when required.
My experience with writing a proposal for Joomla!
Like my seniors suggested, a good SoC project will also help you grow your skills by helping you learn new things as well.
I had experience with C/C++, JS, JAVA, Python, NodeJS, SQL, etc. While writing the proposal I also learnt a lot about the things required for Contributing to Joomla! I understand the Joomla Workflows, MVC components and understand the file structures in Joomla!
I am glad I selected this project as this provides an excellent opportunity to learn and grow a lot through the summer.
What is a Joomla? And what is my proposal about?
The Joomla CMS is a PHP-based application that powers about 2.2% of the web, 3.5% of all CMS based websites, as well as many intranets. Joomla has been downloaded over 119 million times: https://downloads.joomla.org/
Joomla is a community-driven FOSS project developed and maintained by an international community encompassing over 150 countries. Joomla is used by millions of websites and web applications ranging from the hobbyist, professional web developer, to large enterprises, for both the World Wide Web and intranets.
What after the proposal?
The selection for SoC is not only based on the proposal but also on how well you’re able to provide a proof-of-concept of the proposal you provided. In my case, it involved a task to develop a basic Joomla 4 plugin.
Now that the coding period has begun, I am hoping to complete the proposal aims one by one and also provide appropriate documentation for the code I will be adding. I will be blogging on the things I code/test regularly and hope I will get a chance to learn new and exciting things!
Links for the Repository and Relevant Pull Request(s):
Project Repository: https://github.com/joomla-projects/soc21_guided-tour