Applying for Google Summer of Code - Mentee
Open-Source - 1
6 min read
The month of March is here and the season of applying for internships is here as well. For the candidates out there who are exploring their options, apart from the corporate internships that are available for students, with this article, you will get insight into Open-source programs.
Here we are starting with Google Summer of Code(GSoC).
To give some context, I participated as a Google Summer of Code mentee with GitLab in 2021.🤹
🤔What is GSoC and Why you should apply?
Google Summer of Code is an Open-Source program run and sponsored by Google. Google first invites applications from Open-source organizations in which they provide their potential projects for students to work upon. Similarly, mentees also apply with their proposals for specific projects listed by specific organizations to participate in the program.
GSoC is one of the unique opportunities out there to gain real-world experience in software development by working on an open-source project under the guidance of experienced mentors. Applying for Google Summer of Code can provide you with valuable experience, networking opportunities, the ability to make impactful contributions to open-source projects, financial support, and recognition.
👇In the rest of the article, we will explore every stage of Google Summer of Code to understand the whole process.
🗺️How Should I apply❔
The simplest of the ways to go is:
Select an organization.
Choose a suitable project.
Get Involved in the community.
🤿Let's dive in further:
How do I select an organization?
Go through the organization's list on the organization's page.
Here you will be able to see all the participating organizations for this year's program. Every organization lists down its required technical skill set such as React or PHP or any other technical framework with which they require mentees to work with. You have two ways to go here:
Choose an organization based on your interests
Choose an organization based on your skillsets.
Rather than looking through every organization individually on the organization's page, here is a GSoC Analyzer tool developed by Rishabh and Sparsh. You can easily search through the organizations based on their tech stack or domain in which they work such as Application Security, Web Development or BioInformatics.
How do I select a project?
After selecting an organization based on your interests and skillsets, for example - let's select GitLab, you can see the ideas list. This ideas list contains the projects on which the organization is looking for mentees to collaborate this summer.
Read the description of projects clearly and see the tech stack associated with the project. You can see the time commitment of the project with expected outcomes, i.e., what is expected to be built for that particular project.
**How do I approach someone or get involved in the Community?**💭
Simply, you can see the chat channels on the Organizations page. Go to Slack/Gitter or any other chat channels offered by the organizations or simply contact them through their provided mailing lists. It is important to note that not every organization has a chat channel. Every organization has its way of interacting with new contributors. You can also contact the mentors whose email-ids are provided in the project description.
Okay. Now you have done these things. But now, what?😪
❗Make this thing clear that GSoC is a way for new contributors to get involved in Open-source communities, rather than getting that TAG which is celebrated by random people over the internet or YouTube.❗
The optimal way to go is - ✅
Introduce yourself to the mailing lists/slack channels.✅
Tell the organization or the mentors who you are.✅
Give them some context on what your skillset is and on what projects are you interested in the organization.✅
Regularly ask them questions about the project. How should you proceed? Where is the codebase, so you can have a look? What other things you might need to know to fully understand what needs to be done in the project? Asking these questions is a must since not every piece of information might be included in the project description.✅
🟥This is NOT a tactic. You are here to create lifelong connections with people. Thus, it is also important for the mentor to understand that there is someone genuinely interested in the project.🟥
In addition to the above points, organizations typically have good-first issues opened. These good-first issues are the places where a new contributor can solve an issue for a particular project and send a Pull-request(PR) to the maintainer. If you are unaware of what a Pull Request is and how to create one? You can learn about it in this article.
I don't have any experience, Am I eligible?
100% YES! GSoC is intended for new contributors and it is a place for you to gain real-world experience by working through projects at organizations.
I have explored a lot of organizations matching my skillsets but I don't understand what they are saying.
It is totally fine and understandable. Just go to the slack channel or the mailing list of the organization and ask them directly - 'I don't understand from where I should start. Can someone help?'. Most likely, contributors or the mentor himself/herself will reply with appropriate steps and places from where you can learn more about the project. You will never know until you ask.
I am interested to participate, but I don't know development or coding except for basic C/C++ or Java.
This could be tricky. Here it is your job to judiciously find an organization and its project on which you can work. Even if you don't know all the required tech stack, still reach out to the mentors and try to understand the project and what is needed from you. I cannot emphasize this enough. REACH OUT AND ASK PEOPLE QUESTIONS, but please do your homework also.
I don't know how to write a Proposal.
My advice - Don't jump into writing a Proposal. First, have a basic understanding of the project. Then, if you are starting to write one, have it checked by the mentors. Ask them, what they expect to be written in the project. Have their input and incorporate them into the proposal.
The most important part is to make your presence within the organization, so the mentors know that you are genuinely interested in the project. Don't hesitate in asking questions but if you are asking one, do your homework. Know a little bit about what are you asking.
All the best for your organization search and get involved in Open-Source.