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:
- The GSoC student Guide -- This is a guide written by mentors and former students. It covers many questions that most students ask us. Please read it before asking any questions on the mailing list or IRC if you can! New students 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.
- Python's SummerOfCode/Expectations also talks about what Python in particular is looking for in its students.
- Python's Summer of Code Frequently Asked Questions answers the questions that we most often get about Python's projects. You might want to see How do I choose a project or a sub-org? or How many slots does Python get?