Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding Ninjas X Naukri.com
Table of contents
1.
Introduction
2.
What is GSoC?
3.
GSoC Essentials
3.1.
Goals of the Program
3.2.
Eligibility
3.3.
Basic Requirements
3.4.
Benefits of participating in GSoC
4.
Program Timeline
5.
Journey Begins
5.1.
Select Organization
5.2.
Start Contributing
5.3.
Make Your Project Proposal
5.4.
After Project selection
6.
Past Companies Selected in GSoC
7.
Resources from Coding Ninjas
8.
Frequently Asked Questions
8.1.
Why does Google conduct the Google Summer of Code program?
8.2.
Will someone get paid even if the organization does not use the code?
8.3.
Can I submit more than one proposal?
8.4.
Should someone send proposals directly to the mentoring organizations?
8.5.
Can somebody already participating in open source be a GSoC Contributor?
8.6.
How much time does GSoC participation take?
9.
Conclusion
Last Updated: Mar 27, 2024

Google Summer of Code (GSoC)

Author Abhay Trivedi
3 upvotes

Introduction

So you are an open-source contributor or just starting to be one and want to participate in Google Summer of Code (GSoC) but don't know how to start? 😕

Don't worry, here is the best guide on the internet about Google Summer of Code (GSoC) which might be the only one you need.

If you don't know, Google Summer of Code is a global, online program that brings new contributors to open-source software development. GSoC Contributors work with an open-source organization on a 12+ week programming project under the guidance of mentors.

What is GSoC?

The Google Summer of Code, abbreviated to GSoC, is an annual international program. Google awards stipends to contributors who complete a free and open-source software coding project during the summer. As of 2022, the program is open to anyone aged 18 or over, no longer just students and recent graduates. Google first held it from May to August 2005. Participants get paid to write software, with the amount of their stipend depending on the country's purchasing power parity. Project ideas are listed by the host organizations involved in open-source software development, though students can also propose their project ideas.

The vision for the Summer of Code came directly from Google's founders, Sergey Brin & Larry Page. From 2007 to 2009, Leslie Hawthorn, who has been involved in the project since 2006, was the program manager. From 2010 until 2015, Carol Smith was the program manager. Since 2016, Stephanie Taylor has taken over the management of the program.

Watch the video to know more about Google Summer of Code (GSoC).

GSoC Essentials

This section will get the essential knowledge about Google Summer of Code (GSoC) that a beginner contributor must know.

Goals of the Program

The GSoC program contains several goals:

  • Motivate developers to begin participating in open-source development.
  • Support open-source projects to identify and bring in new developers.
  • Obtain more open-source code written and released for the benefit of all.
  • Offer newer developers more exposure to real-world software development (distributed development & version control, software licensing issues, testing, and communication best practices).

Eligibility

To participate in GSoC, a student must meet the following criterion:

  • Be eighteen (18) years of age or older upon registration for the program.
  • Have not already been accepted as a student in GSoC more than once.
  • For the duration of the program, be eligible to work in the country in which they reside.
  • Not be an Organization Administrator or Mentor in the program.

 

You can find more eligibility criteria here.

Basic Requirements

  • Command of at least one programming language like C, C++, Java, Python, or Ruby. Also, have experience in it at the university level.
  • Familiar with the version control (Know-how of Git & Github).
  • Know how to contribute to open-source projects.
  • Comfortable with Linux or Ubuntu. If you use windows, you will get stuck in the middle. Many development tools and technologies don't run well on Windows and almost all GSoC organizations code for Linux systems or servers.

Benefits of participating in GSoC

  • The student will learn about the working of an industry in just three months along with software development skills and get to know more about open source. You learn lots of technologies, tools, and version control.
  • You will build a network of people with the same mindset and build a strong network with good mentors and programmers.
  • Participating in GSoC opens a lot of opportunities for you. The community members can refer you somewhere, or you can also get the internship opportunity. Many also got a referral for the application in Google for an internship or full-time job position opportunity.
  • Certainly tag of Google or GSoC gives you international credibility and benefits everywhere, from attending the conferences to boosting your resume.
  • And obviously, you will get the stipend. For India, the stipend amount is $1500 and $3000 for medium and large-size projects. You can find the stipend of other countries from here.

Even if your proposal is rejected, you can continue contributing to the repository. You will miss on the money, but it's okay. You will still learn a lot.

Program Timeline

Here is the full timeline of the Google Summer of Code (GSoC) program.

Organization Application Period

Open-source organizations can submit their applications to the mentor organizations for GSoC.

Organizations Announced

Possible GSoC contributors discuss project ideas with accepted mentor organizations.

Contributor Application Period

Possible GSoC contributors can register and submit their proposals to the mentor organizations that interest them.

Proposal Review Period

Organizations review & select contributor proposals.

Contributor Projects Announced

Accepted GSoC contributors are paired with mentors and start planning their projects and milestones.

Community Bonding

GSoC contributors spend three weeks learning about their organization's community and preparing for their coding project.

Coding Period

GSoC contributors begin work on their Google Summer of Code projects.

Evaluations

Mentors & GSoC contributors submit their evaluations of one another.

GSoC contributors Submit Code & Final Evaluations

GSoC contributors submit their code, project summaries, and final evaluations of their mentors.

Mentors Submit Final Evaluations

Mentors review their GSoC contributor code samples & determine if they should pass the Google Summer of Code Program.

Results Announced

GSoC contributors are notified of pass/fail status of their Google Summer of Code projects.

 

Journey Begins

The journey of a thousand miles begins with just one step…

Select Organization

The first step is selecting an organization to participate in. This is an essential and most confusing decision for students because there is no guarantee that Google will choose their organization for GSoC or not. Later sections cover this, but to select an organization, you need to visit the GSoC Organizations page and shortlist the organization and its project as per your domain & skillset.

Once you shortlist the organization, check out their open-source projects on Github, what they do, and other resources. Every organization has an Idea Page or a Wiki Page in which they publish the list of possible projects. Inspect if the project suits you, then prepare a list of organizations & projects you want to contribute to and collaborate with. 

Following are some tips while choosing a GSoC organization.

  • Start as early as possible. Try to complete this step preferably by November-December.
  • Since there is no guarantee that Google will shortlist your organization, choose 2-3 organizations but make sure not to increase the number. You won't be able to concentrate on multiple projects simultaneously.
  • Shortlist the organizations selected continuously in GSoC for the past few years. Those organizations have a higher chance of getting shortlisted again. 

 

Once you choose the organization, you can contact them, chat with the mentors directly, understand the project, talk to the past participants, and see the projects in previous GSoC evaluations. Check out their codebase. Join their channel through Slack/Gitter/IRC. Introduce yourself there, tell them about yourself and your skillset, and let them know you want to contribute to their repo. Newbies or early contributors are always welcome, and mentors are always ready to help. Stay active in their channel & ask relevant questions about the feature they would like to see in their project. Understand their expectations and discuss their ideas. 

Start Contributing

Once you choose the organization and project, start contributing to it. This is the most crucial phase of GSoC. As a new contributor, you can start by fixing easy bugs or writing documentation. Begin with small contributions and then move to the major ones. Learn skills and technology required for contribution, and clear your fundamental doubts.

Raise issues if you find something and fix them. Do everything step by step but contribute as much as possible.

Following tips could aid you when you start contributing to the projects.

  • Read the organization's guidelines carefully for contributions like how to raise an issue or how to submit patches.
  • Contact the mentors through the preferred mode of communication, Stay active on channels, and get updates about the project. Don't be afraid to make pull requests or ask for help as a newcomer. You will get support and assistance from people out there.
  • Fixing bugs or adding a feature will give you more weight than raising an issue and writing documentation. Also, when you fix your first bug, let people know about that. Your confidence will boost when they appreciate you, and people will start learning about you in the organization.
  • Once you spend some time on the project, you can add new features to the project since you will have some idea about the language, platform, or software used in the organization, how things work around, and will be able to connect the dots.

 

If you started contributing to the project in Nov-Dec, keep contributing until February-March, until Google's organization list is announced. Once the list is out, filter out the projects offered and finalize the one you wish to work on during your summer break. Once selected, you need to work with complete dedication and contribute to your chosen project. Your chances of being shortlisted will increase if you have already contributed to the organization for some time. 

Even if, unfortunately, your organization didn't get selected, start contributing to any other organization, and don't lose hope. 

Make Your Project Proposal

You need to send your project proposal & request feedback from the mentors as soon as possible. Your project proposal is a detailed description or complete documentation of your project. Break down your proposal into different sections, like why you want to work with the project and what your contribution would be during your summer break of 16 weeks. Your complete plan and how you would build the project step by step within the coding period. Carefully think about your proposal and write it, giving all the descriptions. Your proposal will play a significant role in ensuring your selection. Read the Elements of a Quality Proposal for details.

Following are some tips when you make your proposal:

  • Keep an elaborated proposal. Remember that number of pages or words doesn't matter. Add technical details in your proposal, and if you have ever contributed to any other organization/open-source project, then do mention them in the proposal.
  • It will be great to get your proposal reviewed by past GSoC participants. They will let you know the strong and weak points of your proposal.
  • Mention the language or framework you will use. You can include diagrams if there is any frontend project. Also, have your goals there.
  • Your project timeline should be well-formed. Break down your plan in weeks and mention the task from 1st week to last week.
  • Your proposal will be an advertisement in GSoC, so you need to convince your mentor to explain why you are the right person for the project.

 

Once you are ready with your proposal, share it with the community and ask for feedback. Feedback from them will help you make your application better and increase your chances of getting shortlisted. After making modifications submit your final PDF and wait for the results.

You need not sit idle once you submit your proposal. Keep contributing; it makes a good impression and will create an impression that you are a serious contributor. Wait for results from Google and look back at how much you have learned during your open source contribution.

After Project selection

Once your project is selected in GSoC, they will assign a mentor to you, and proper community bonding is carried out. The whole GSoC is divided into three parts, i.e., first evaluation(~ June 23), second evaluation (~July 21), and final evaluation(~August 26).

They will evaluate your project every month, and if you pass the evaluation, you will be paid 1/3rd of the total amount. You will be judged based on the deadlines and deliverables you submitted in the project proposal. If you pass any phase, you will be allowed to continue your next phase; otherwise, not.

Past Companies Selected in GSoC

Most organizations are open source projects or a foundation with many projects. There are very few companies that are working on open source. The number of accepted organizations varies based on multiple factors. Most important are the availability of admin and mentors within the organization, different and valuable tasks identified by the organization, and the organization dedicated to the program.

But some of them are relatively regular, for example, Drupal, Python Software Foundation, Apache Foundation, LLVM, Free software foundation, Mozilla, Gnome, git, X windows system, Wikimedia Foundation, NetBSD, FreeBSD, The Linux Foundation, LibreOffice, Ruby, Scala, OpenCV, JBoss, jQuery Foundation, Eclipse, and many others. You can also check the full list of selected organizations in 2021.

Resources from Coding Ninjas

Here are some valuable resources that might be useful for you.

 

Although you don't need much DSA directly in GSoC, it is very beneficial for one to master these concepts, as, without them, one might not be able to implement features or fix bugs properly. Check out our video on "How to use summer break master DSA" below:

Frequently Asked Questions

Why does Google conduct the Google Summer of Code program?

Google is committed to growing the open-source ecosystem. The more open source developers there are globally, the healthier and more sustainable the entire community will be.

Since its start, the Google Summer of Code program has brought together more than 18,000 students with 746 open-source organizations under the guidance of 17,000+ mentors.

Will someone get paid even if the organization does not use the code?

Yes, so long as the contributor passes the evaluation(s). Whether or not the project uses the contributed code does not impact the stipend of the GSoC Contributor.

Can I submit more than one proposal?

Yes, every GSoC Contributor may submit up to three proposals. However, they may accept only one per GSoC Contributor. Organizations will accept no more than one proposal per GSoC Contributor, no matter how many proposals you submit.

Should someone send proposals directly to the mentoring organizations?

No, we must submit all proposals through the program site. Organizations will not consider proposals submitted outside of the Google Summer of Code program site for Google Summer of Code.

You are strongly encouraged to contact mentoring organizations early to discuss your ideas, get feedback, and better understand their work before submitting your final proposal.

Can somebody already participating in open source be a GSoC Contributor?

The objective of GSoC is to bring new contributors to open-source organizations. GSoC can help beginner contributors learn the in's and out's of open source while being mentored by experienced community members.

Google Summer of Code is for new and beginner contributors to open-source. It is not for experienced contributors to open-source.

As an exception, GSoC Contributors who have been accepted once (in 2020 or 2021) may apply to participate in 2022. This could be with the same organization they participated with before or with a different one. Applicants should note their previous relationship with the organization in their proposal.

How much time does GSoC participation take?

Organizations have scoped projects based on the expected time to complete a project. Medium-size projects should take about 175 hours to complete, while large projects should take about 350 hours. Depending on your skills & the difficulty of your project, it may take you more or less time to complete the goals of your project. If your project were underscoped or overscoped, you and your mentor would work together to adjust accordingly.

Conclusion

This article gives information about Google Summer of Code (GSoC). For a person being an open-source contributor, Google Summer of Code (GSoC) is an excellent opportunity for a developer to put their skills to practice in real-world projects.

Here are some of the blogs you must check out:

Check out the Google Interview Experience to learn about Google’s hiring process.

Refer to our guided paths on Coding Ninjas Studio to learn more about DSACompetitive Programming, JavaScript, System Design, etc. Enroll in our courses and refer to the mock test and problems available. Take a look at the interview experiences and interview bundle for placement preparations. Also, Check our CN Library for free online coding resources.

Do upvote our blog to help other ninjas grow.

Happy Learning!

Live masterclass