profile1

Do'sThings you should do

profile2

Don'tsThings you should avoid

Apply to an organization that could not use your skillset

Everyone is different, and that's a great thing. Only search for organizations that have their source code written in a language you are proficient in, as you will only improve your knowledge in the skill of your choosing for the duration of the GsoC.

Start researching at the last minute

Even though it's the offseason, you have to be prepared for the next edition of GsoC if you want to be chosen. Research your ideas, create a workspace dedicated to this on your machine and keep adding information to it when you stumble upon something relevant.
Start sorting through the organizations that participated last year, as they will most likely also mentor this year's GsoC and figure out which one is the perfect fit for you. That way, you're getting a headstart and learning in the process.

Submit a short application

Your application should showcase all the reasons of why you are applying, why you chose this idea and why you chose this organization. Show them that you truly are passionate about it, provide your research and project plann and some possible future directions.

Understand Free Software

You will have to interact with the community, write & submit code for the duration of the summer, so you are expected to have an understanding of what Free Software is. Click here to learn more about its philosophy.

Narrow down the list of organizations

Every year, more and more organizations apply for mentoring GsoC contestants, and as the list keeps getting bigger you are not expected to be able to go through each one of them when selecting your perfect fit.
A quick way to narrow the list down is to search the "tags" list for your skills. After that, check their homepage/wiki and see if their activities interest you. If they do, browse their last year's GsoC list of projects and see what they're all about. This way, you should be left with 4-5 organizations to pick from.

Get to know the mentors

As previously stated, working with the community plays a big role in the Google summer of Code. Coding in the real world implies working with a team, receiving feedback & critique and social interaction. Join their IRC channel, introduce yourself and see where you can fit, as you might be part of their team for 3 months.

Join the mailing lists & IRC

Integrating into the community is key, and for that you will need to join groups. Google's summer of Code Announcement Only List can be found here, while their Program Discussion List can be found here. If you want to get your questions answered in real time or just hang out, connect to #gsoc via IRC, on Freenode.

Attend local Software events

You will get a feel for the community, you might form some life-long relationships or find inspiration. Local events are a great way to share ideas, learn from others and have fun, and there is absolutely no reason you should not attend them.

Set your online identity up

Create a profile on Github to learn how it works, form habits and explore other's work. Github is a great community for a coder, and you can link your profile when applying so that the mentors can evaluate your capabilities.
Create a web page for yourself to stand out. Share your hobbies, interests and works there so that the whole world can see, because now you have your own little corner of the internet. It will also help mentors see what you really are interested in and get a head start.

Start crushing bugs

Join the IRC chat, introduce yourself and say that you are interested in helping. Try solving a bug that their software contains, submit your patch and you'll be addicted in no time. This will show implication and once the application time starts coming around, mentors will already know your name and the fact that you are interested in helping.