
Google's Summer of Code can be a good experience. The perks include a great deal of freedom in choosing your project (Google allows you to choose among many of the most popular open source projects) and ability to work from home (or wherever you choose - I roamed around China while working). The cons are low pay and lack of prestige on a resume when compared to getting an internship. Given these trade-offs, the only toss-up is how good your mentor is. I had a good mentor, but I expect the quality varies a great deal across projects. If you already know your mentor, this obviously isn't an issue.
In short, if you already hack on a project in your free time, this is a great way to get paid to continue what you currently do for free. It's also a good option if you value mobility. On the other hand, if you want to build your resume and get paid more, go get an internship.