GSoC is basically an open source apprenticeship: contributors 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.
Contributors are expected work either 350 hours (full-time eqivalent) or 175 hours (part-time equivalent) over the course of the program. The default schedule runs over 3 months and can potentially be spread over a longer period. We do not recommend taking on another full-time internship, job, or schooling during the GSoC period, although a few weeks of overlap is often fine.
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 GSoC contributors, 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.
Once you've narrowed it down to a project idea or two, use the application checklist to prepare your project proposal. (You can submit up to three proposals, but will only be offered one position if accepted.)
All applications are must be sent through the Google system.
Google intends this to be a way for new contributors to join the world of open source. The contributors 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. It's more important to be a good community member than it is to be a good coder, for most projects!
Read the instructions. A large number of contributors don't read the instructions when submitting proposals, and their applications get rejected. For example, every year we reject a number of contributors who submitted a resume, scientific paper, presentation or other file that doesn't contain any information about the project they would like to complete. Sometimes we get dozens of nearly identical form letters from a single university that wind up marked as spam. Don't do this!
Listen and use feedback from others. Every year, we reject a few contributors who simply wouldn't listen to their mentors. Remember: the mentors are using their interactions with you to figure out if it's worth their volunteer time to work with you. No one wants to have an intern who doesn't listen, and contributors who don't listen also don't produce code that the open source project can use, so contributors who don't listen don't get hired. Nor do contributors who are arrogant jerks, or who violate the Code of Conduct. Be professional and show that you will take the mentoring relationship seriously.
Here's some resources so you can read up more on how to be an awesome GSoC contributor:
- The GSoC student Guide -- This is a guide written by mentors and former contributors. It covers many questions that most contributors ask us. (Note that it was written when all GSoC contributors were students.) Please read it before asking any questions on the mailing list or IRC if you can! New contributors in particular might want to read the section Am I Good Enough?
- Google's list of resources -- Note especially the Frequently Asked Questions (FAQ) which does in fact answer 99% of the questions we get on the main GSoC IRC channel.