Students

GSoC is basically an open source apprenticeship: students will be paid by Google to work under the guidance of mentors from an open source community. It's a really great opportunity to build new skills, make connections in your community, get experience working with a larger and often distributed team, learn, and, of course, get paid.

Students are expected to work around 40 hours a week on their GSoC project. This is essentially a full-time job. Ideally, you should not attempt to do another internship, job, or full-time schooling while you're doing GSoC.

Remember that Google intends this to be a way for new contributors to join the world of open source. The students most likely to be selected are those who are engaged with the community and hoping to continue their involvement for more than just a few months.

To apply, you need to take a look at the mentoring organizations and the ideas that they are willing to sponsor. Typically, you'll choose one of their ideas and work with a mentor to create a project proposal that's good for both you and your chosen open source community. Sometimes, projects are open to new ideas from students, but if you propose something new make especially sure that you work with a mentor to make sure it's a good fit for your community. Unsolicited, undiscussed ideas are less likely to get accepted.

Note that Python is an "umbrella organization" which means that our team is actually a group of python projects that work together to do Google Summer of Code. If you're going to apply with us, you'll need to choose from one of those teams, because that defines which mentors will be helping you with your applications. Applications without any sub-org and mentor to evaluate them will be rejected. You can work with more than one sub-org while you're figuring out what you want to do, but you can only accept one job offer. Here's some resources so you can read up more on how to be an awesome student:

How to apply

Short application checklist:

  1. Read the links and instructions given on this site -- All of it! we've tried to give you all the information you need to be an awesome student applicant.
  2. Choose a sub-org (check the list here). Applications not associated with a sub-org typically get rejected.
  3. Talk with your prospective mentors about what they expect of student applicants and get help from them to refine your project ideas. Listening to your mentors' recommendations is very important at this stage!
  4. Prepare a patch for that sub-org. Usually we expect students to fix a bug and have made a pull request (or equivalent). Your code doesn't have to be accepted and merged, but it does have to be visible to the public and it does have to be your own work (mentor help is ok, code you didn't write is not).
  5. Write your application (with help from your mentors!) We'll have a template up when applications open. All applications must go through Google's application system; we can't accept any application unless it is submitted there.
    • Use a descriptive title and include your sub-org name in Google's system. Good example: "Mailman: Improve archive search" Bad example: "My gsoc project"
    • Make it easy for your mentors to give you feedback. If you're using Google docs, enable comments and submit a "draft" (we can't see the "final" versions until applications close). If you're using a format that doesn't accept comments, make sure your email is on the document and don't forget to check for feedback!
  6. Submit your application to Google before the deadline. We actually recommend you submit a few days early in case you have internet problems or the system is down. Google does not extend this deadline, so it's best to be prepared early! You can edit your application up until the system closes.

Tip

Communication is probably the most important part of the application process. Talk to the mentors and other developers, listen when they give you advice, and demonstrate that you've understood by incorporating their feedback into what you're proposing. We reject a lot of students who haven't listened to mentor feedback. If your mentors tell you that a project idea won't work for them, you're probably not going to get accepted unless you change it.

What goes in an application?

An ideal application will contain 5 things:
  1. A descriptive title including the name of the sub-org you want to work with (if this is missing, your application may be rejected!)
  2. Information about you, including contact information.
  3. Link to a code contribution you have made to your organization. (Usually this is a link to a pull request.)
  4. Information about your proposed project. This should be fairly detailed and include a timeline.
  5. Information about other commitments that might affect your ability to work during the GSoC period. (exams, classes, holidays, other jobs, weddings, etc.) We can work around a lot of things, but it helps to know in advance.