Welcome to my blog, I am happy that you are here, spending your time reading my post, I hope you like it.

The begining

Google Summer of Code

It’s nearly been two weeks time since GSoC accepted students have been declared, and here I am still writing my first blog😅, I was busy the previous week. So, lets get going. This will be a start to the GSoC series, I will be consistently documenting my journey on my blog so, tune in atleast biweekly here.

What is GSoC

Google Summer of Code (GSoC) is a global program that offers students stipends to work on open source software projects during the summer. GSoC is a great opportunity for students to learn about open source development, get hands-on experience with real-world projects, and make a contribution to the open source community.

In 2023, Google received over 60,000 applications from students all over the world. After a rigorous review process, Google selected over 10,000 students to participate in GSoC. The selected students will work on a variety of open source projects, including software development, documentation, testing, and outreach.

GSoC is a great opportunity for students to learn new skills, gain experience, and make a difference in the open source community. If you are a student interested in participating in GSoC, I encourage you to apply.

Here are some statistics for GSoC 2023:

  • 43,765 applicants from 160 countries
  • 7,723 proposals submitted
  • 967 GSoC contributors accepted from 65 countries
  • Over 2,400 mentors and organization administrators
  • Top 5 countries: India, United States, China, Brazil, and Germany
  • Top 5 project areas: web development, machine learning, artificial intelligence, data science, and security

Choosing a project!

RPMLint

When it comes to choosing a project for the Google Summer of Code (GSoC) program, it’s important to follow your interests and passions. As a beginner, having a keen interest in working with Python technology, I explored various projects listed in the GSoC portal. While there were several intriguing options available, I ultimately decided to focus on the rpmlint project and specifically contribute to building and designing a test suite.

Choosing rpmlint as my project was a personal choice driven by my genuine interest in the domain. The rpmlint project aligns perfectly with my passion for Python and provides an opportunity to work on a widely used package management tool. By selecting a project that resonates with my interests, I can ensure my enthusiasm and dedication remain high throughout the GSoC program.

It’s worth mentioning that GSoC offers a diverse range of projects in different domains and technologies. While it’s essential to choose a project that aligns with your existing knowledge and skills, it’s also possible to explore a completely new domain and learn from scratch. GSoC encourages participants to step out of their comfort zones, take on new challenges, and acquire new skills. However, it’s crucial to strike a balance between venturing into new territories and leveraging your existing expertise.

By selecting a project that aligns with your interests and skills, you are more likely to stay motivated and engaged throughout the GSoC program. It’s essential to feel excited about the project you choose, as it will drive your dedication and commitment to delivering high-quality work.

How I got started with contributing

Getting started with contributing to open-source projects is an excellent way to showcase your skills and engagement with the community. Here’s how I began my journey and eventually secured a place in the Google Summer of Code (GSoC) program.

When the organizations for GSoC were announced around the third week of May 2023, I decided to contribute to rpmlint, an open-source project. It’s important to note that before writing and submitting a proposal, it’s beneficial to demonstrate your familiarity with the codebase. This preparation enables you to hit the ground running once you are accepted into GSoC.

Initially, it took me some time to submit my first contribution. The contribution I made was related to the configuration file in Python packages. You can find the details of my first contribution in this pull request: link to the pull request. This initial contribution allowed me to dive into the codebase, understand the project’s conventions, and familiarize myself with packaging Python projects.

After that initial contribution, I gradually started to contribute more and more. I continued exploring the rpmlint codebase and gained a deeper understanding of its structure and functionality. As a result, I was able to make two more pull requests, showcasing my ongoing commitment to the project. You can find a comprehensive list of my contributions in this link: link to my pull requests.

It’s important to start with small issues labeled as “good first” or “beginner-friendly” in the project’s issue tracker. These smaller tasks allow you to familiarize yourself with specific parts of the codebase and provide an opportunity to ask for guidance from mentors. In my case, my mentor, Daniel, recommended some small issues for me to work on before the proposal submission.

Building a solid track record of contributions is crucial. The contributions I made helped me in crafting my GSoC proposal. By referencing my contributions, the organization administrators could evaluate my skills, dedication, and potential as a GSoC participant. It’s essential to highlight the impact of your contributions and the lessons you learned during the process.

Conclusion

In summary, as a beginner, I followed my passion for Python technology and chose the rpmlint project for GSoC. This personal choice allowed me to work on a project that aligns with my interests and build upon my existing knowledge. By selecting a project that excites me, I can ensure that I remain motivated and enthusiastic throughout my GSoC journey.

My journey started by selecting an open-source project to contribute to, rpmlint in this case. I began with small issues, gradually expanding my contributions. Through continuous engagement with the codebase and the project community, I deepened my understanding of the project and its conventions. These contributions played a pivotal role in securing my place in GSoC.

I will be documenting my journey on my blog, to follow up, visit my blog once a while.