GSoC for Beginners: A Guide to Google Summer of Code

March 18, 2024 in Open Source, GSoC by Prince Onyeanuna7 minutes

Header designed image

Google Summer of Code (GSoC) is an annual program sponsored by Google that helps introduce students and open-source beginners to software development.

It aims to encourage students to participate in open-source projects and allow them to gain real-world experience, mentorship, and financial support. GSoC is a highly competitive program, but it offers numerous benefits for those who are accepted.

In this blog post, you will understand what GSoC is and why you should apply. You will also get tips for applying for the program.

By the end of this post, you will clearly understand the program and be inspired to take the first step toward participating in GSoC.

What is GSoC?

GSoC provides a platform for students to learn from experienced developers, contribute to meaningful projects, and gain valuable experience that can help kickstart their careers in software development.

Since its inception in 2005, GSoC has connected over 20,000 contributors to over 19,000 mentors associated with more than 800 open-source organizations. The program has produced millions of lines of code and has significantly impacted the open-source community.

GSoC typically takes place during the summer for three months (12 weeks). During this time, contributors work full-time on their projects, receiving guidance and feedback from their mentors.

At the end of the program, students showcase their work to the global community through presentations, demos, and written reports.

Google loves open source, and GSoC is one of the ways they show their commitment to supporting and nurturing the open source ecosystem.

By participating in GSoC, students can gain exposure to real-world software development, learn from experienced mentors, and make meaningful contributions to open-source projects.

Why Should You Apply?

GSoC is aimed at students or open-source beginners, so if this describes you, you should consider applying.

The program is designed to help you grow as a developer and gain valuable experience to help you stand out in the job market.

The following are some reasons why you should apply for GSoC:

  1. It looks good on your CV: Having GSoC on your resume will make you stand out. It shows the recruiter that you have built real-world software, worked with a team and delivered results. This can be a huge advantage when applying for internships or full-time positions.

  2. You get paid: Writing code all summer wouldn’t be the dream of any student. But with GSoC, you get paid for your work. This can be a great way to earn some money while gaining valuable experience. It’s not life-changing money, but it’s a nice bonus.

  3. Affiliation with cool organizations: Imagine being a cloud engineer and getting to contribute to Kubernetes via the CNCF organization. That’s the kind of opportunity GSoC provides. You get to work with some of the coolest open-source organizations in the world such as Apache, Chromium, Webpack, etc.

  4. Mentorship: More than any internship can provide, close hand-holding from experienced mentors is what you get with GSoC. You get to learn from the best and get feedback on your work. This is one of the most effective ways of growing as a developer.

How Does GSoC Work?

GSoC is a 12-week program; however, the application process starts months before the coding period begins.

  1. The first two phases of the program involved the organizations. Organizations submit applications to be part of the program and after evaluation, the accepted organizations are announced.

  2. The next phase is the contributor application period. During this time, students can apply to work on projects proposed by the accepted organizations.

    Students are expected to submit a project proposal that outlines their plan for the summer, including the features they plan to work on, the timeline for their work, and the skills and experience they bring to the table.

    The GSoC contributor application phase for 2024 commences March 18 - April 2. So start preparing your proposals now.

  3. After the application period, organizations review the proposals and select the students they want to work with.

  4. Once you have been selected, you’re required to work full-time on your project for the duration of the program. During this period, it is essential to maintain constant communication with your mentor.

    During the first three weeks of the program, you’re expected to familiarize yourself with the codebase and community as well as begin preparation for the coding phase.

  5. After the back-and-forth hassle from the contributor to mentor during the coding phase comes the evaluation phase.

    Here, mentors and contributors submit their evaluations of one another. After which, the contributors submit their code and project summaries for a final evaluation from their mentors.

  6. The mentors evaluate the submission of the contributors and determine if they have successfully passed the program.

  7. After this final evaluation, contributors are then notified of the status (pass/fail) of their GSoC project.

    Don’t fret; even if you fail, you still get paid for your work. However, it’s advisable to give your best.

Tips for Applying

The following tips will give you a head start in the application process:

  1. Choose an organization that aligns with YOU:

    Before applying, take the time to research the organizations that are participating in GSoC.

    Look for organizations that align with your interests, skills, and career goals. This will help you find a project that you are passionate about and that will help you grow as a developer.

    A good way to do this is by asking yourself:

    Who am I? and Who are they?

    The answers to these questions will help you find the organization that aligns perfectly with you.

  2. Submit proposal early:

    The organizations and mentors have a lot of proposals to review, so it’s a good idea to submit your proposal early.

    This will give the mentors more time to review your proposal and ask you questions if they need more information. It also shows that you are proactive and organized.

    Coupled with submitting on time, you’ll need a strong proposal. A strong proposal is well thought out and detailed and shows that you clearly understand the project you are applying for. It should also demonstrate that you have the skills and experience needed to complete the project.

    Most organizations have templates that you should follow. However, in the absence of any, use the format on the Writing a Proposal page of the GSoC guide.

  3. Get actively involved in the community:

    Before applying, it’s a good idea to get involved in the community or the organization you are interested in.

    This will help you familiarize yourself with the codebase and the community and show the mentors that you are serious about contributing to the project.

    To actively participate in your potential organization’s community, you must find and join its communication channels.

    These could be its mailing list, Slack, Discord, or any other platform it uses. You can also start contributing to the project by fixing bugs, writing documentation, or helping other contributors.

  4. Give your best:

    GSoC is a highly competitive program, so always giving your best is important.

    From the application phase down to the final evaluation, always show up, contribute, and be a good teammate. In the end, all you can do is your best, so just do it!

In the end

What’s stopping you from applying? GSoC is a great fit for anyone new to open source or a student willing to elevate their software development skills.

The perks of this program are numerous, and the experience is invaluable. So, if you fit this category, you should consider applying for GSoC.

If you’re still not convinced, check out the GSoC archive to see the amazing projects built by thousands of students worldwide over the past ten years.

Further Reading