Skip to content

Instantly share code, notes, and snippets.

@MahadMuhammad
Last active November 12, 2023 10:59
Show Gist options
  • Save MahadMuhammad/a494ae7b81c1231d5e33918663ee2849 to your computer and use it in GitHub Desktop.
Save MahadMuhammad/a494ae7b81c1231d5e33918663ee2849 to your computer and use it in GitHub Desktop.
Beginner Guide to GSoC

gsoc image

Early Preperation of Google Summer Of Code (GSoC) 2023 Mentorship Program

Do you have a passion for workiing open-source projects, that powers the whole world and a desire to learn from the technology makes? Do you want work on these amazing projects, while sitting at home and reciveing a stipend from 1500$ - 3000$? If your answer is a resounding “yes,” then Google Summer of Code (GSoC) might just be the perfect journey for you!

Previously, Google Summer Of Code was only for students enrolled in some educational institution. But now, it is available for everyone, who has the passion for understanding how the technolgies that we uses in our daily lifes works.

What is GSoC?

Google Summer of Code (GSoC) is an online program by Google that connects students with open-source organizations. Students can apply to work on a specific project with an organization during their summer break. They receive guidance and feedback from their experienced mentors, as well as recieving stipend & certification from Google. There are two sized projects 175 & 350 hours projects. Depending on your skills and the difficulty of your project it may take you more or less time to meet the goals of your project.

Some well known organziations that take part in Google Summer Of Code are: GNU GCC, gnome, git, wikimedia foundation, ruby, CNCF, Eclipse Foundation, Blender Foundation, Chromium, Django Software Foundation, R Language, Python foundation, Apache Software Foundation and tensorflow etc.

One of the important tips the really helping you in cracking GSoC is "start as early as you can".

How GSoC Works?

We'll understand this by looking the GSoC'23 timeline:

  1. Open source software projects apply to be mentor organizations
  2. Google chooses the organizations to participate (198 in 2022)
  3. Contributors submit project proposals to mentor organizations
  4. Mentor organizations choose the contributors they’d like to accept
  5. Coding begins! Contributors work on their project under the guidance of their mentor over 12 weeks (possible extensions available)
  6. Contributors are paired with a mentor to help them throughout their project
    • Community bonding period with orgs.
    • Midterm evaluation deadline (standard coding period)
    • Mentors submit final GSoC contributor evaluations (standard coding period)

Eligibility Criteria

  • Over 18 upon registration for program
  • Beginner contributor to open source or a student
  • Eligible to work in the country in which you will reside during the coding period
  • Not a resident of a US embargoed country
  • Not previously accepted into GSoC more than once (a single person can become GSoC contributor ony only 2 times)

Benefits & Why Should I apply

GSoC is a place where you don’t just get to apply your skills but also get to acquire a bunch of new ones. And the learning is not just limited to technical knowledge. GSoC introduces you to a new paradigm about building code collaboratively. Not only that, GSoC is a platform which lets you build on your current skills and hone them. There is a project for all skill levels at GSoC!

Here are some of the interesting benefits:

  • Getting an edge while applying for job in Google
  • Amazing stiped (1500$ to 3000$) and the confidence
  • Being mentored by highly experienced developers
  • Your spring-board to the open source world
  • Getting involved and building your network
  • Sense of achievement
  • Hone your developer skills
  • Lasty, an absolutely amazing learning experience

Skills Requried:

Do you have some programming experience and are comfortable in at least one or two programming languages? Then, yes, you are good enough! No, you don’t need to be a Computer Science or IT major or have been coding for 5 years. Have work experience programming but spend your time studying philosophy? Yes, you are good enough to be a GSoC contributor!

Every project has a different criteria for selecting GSoC contributors and subsequently different skill level requirements. If you meet the below list of general skills you are likely to find a GSoC project to which you can feel comfortable applying

The soft skills

  • You find out where to go for help with technical questions
  • You take and respond well to feedback
  • You can work independently
  • You know when to ask questions
  • You can communicate effectively

Note: If you are not interested in Developer side, then you can also look for Google Summer Of Docs program, which are specifically tailored for technical writing people.

The Technical skills

  • You can install and configure software packages on your own
  • You have access to a functioning computer
  • You’ve got experience using the programming language and operating system of the project

Pro Tip: Read the organization’s requirements or skills they are looking for in potential GSoC Contributors.

Let's Start Journey:

Making First Contact

Interacting with an open source group is sort of like walking in on a party where it seems like everyone else knows each other. People are discussing topics you may be interested in, or sometimes they could be discussing topics you neither know nor care about.

If you’re the type of person that would walk right up and introduce yourself at a party, then the best approach to getting started is to do what you’d do in real life. Contact the project, introduce yourself and ask questions related to your project.

  • Join both the development and user mailing lists and spend a few days just reading the conversations.
  • Read the mailing list archives.
  • Introduce yourself! If you are new to the community you need to let people know who you are and why you are interested in contributing to the project.
  • Ask questions. You should be able to come up with at least a few legitimate questions before offering your opinion on the right way to do things.
  • Be humble.
  • Don’t be intimidated. Don’t let a bad experience stop you from getting involved. Just relax and think about why you were snubbed and if there’s anything that you should be careful about before participating in another conversation.

Choosing an Organization

For Choosing an organization you need to find your passion.

Ask yourself:

  • What skills do you currently possess or wish to acquire?
  • Which open-source organizations align with your interests or curiosity?
  • What type of project excites you the most?

You can explore keywords or topics that pique your curiosity on the internet or social media platforms. Additionally, joining online forums or chat groups related to open source or specific technologies can provide valuable insights from fellow enthusiasts.

Once you’ve pinpointed your interests, it’s time to find open-source organizations that resonate with you. Search the specific technologies on the GSoC page, here: https://summerofcode.withgoogle.com/programs/2023/organizations

Writing a proposal

Some of the tips for writing the proposal:

  • See previous accepted proposal.
  • Contact with the relevant organization before writing proposal.
  • Communicate with the mentors for taking help in writing and reviewing proposal.

Writing a proposal

  • Name and Contact Information
  • Title
  • Synopsis
    • If the format allows, start your proposal with a short summary, designed to convince the reviewer to read the rest of the proposal.
  • Benefits to Community
  • Deliverables
  • Related Work
  • Biographical Information
  • Follow the Rules defined by that organization.

Being Turned Down

You’ve done your homework, found an exciting project, and you’ve written the best proposal you could. And you didn’t get into GSoC.

What to do now?

First, don’t take it personally. Just like when you apply for a job, there are reasons why you might not get in, some that have nothing to do with you. Mentors may not be available, the organization may not have enough space for your project or it may just not be the right time for your proposal.

  • Stay connected
  • Try a new organization

Ask for feedback on your proposal

Some example questions to politely ask if your proposal is turned down include:

  • Was there a mismatch with my skills and the project requirements? If so, what skill areas can I work on to be better qualified next year?
  • Did I engage enough with the community during the application process?
  • Do you have any suggestions on how to improve my pre-application communication?
  • Was my project plan clear? Do you have any suggestions on how I can better communicate my ideas via the project plan next year?

Approach an organization about doing the project anyway

For those GSoC contributors with the drive to forge ahead without GSoC financial support, you may find that a community really is interested in your project anyway. Don’t be afraid to approach your community, GSoC org admin or mentors you communicated with about future contribution.

Perhaps you can work on a smaller portion of your idea over a longer period of time on your own, or find another project better suited.

Keep trying

Just keep trying. The next proposal just might be accepted…

“Never give up. It took me 3 years and 12 proposals to finally get into the program. If none of your proposals gets accepted, sit back and relax. You have a whole year ahead to improve your role with the open-source community by writing more code.”

Kamran Khan, Ubuntu, GSoC Student

Important links:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment