Aiming for a career in software development? The received wisdom is to spend every summer getting relevant experience and padding your CV: sound advice, particularly coming from recruitment people. However, if you're an open source advocate, believing that software users should be free to modify and redistribute software to benefit other users, you face a dilemma. You could compromise your principles and get a job working on proprietary software to bolster your bank balance; alternatively, you could spend twelve weeks hacking on your favourite open source project, with respect from your peers and a catastrophic overdraft as your only reward. Sandal-wearing tendencies aside, as a software development intern you often wind up spending your vacation testing some tedious enterprise middleware rather than working on something interesting.
Happily, there is a way out of this quagmire: Google's Summer of Code programme, where students are paid $4,500 to spend the summer working with open source organisations – ranging from heavyweights, like the Apache Foundation, to smaller, more obscure teams such as Ikiwiki – on projects proposed either by the organisation or by the students themselves. You're assigned a mentor who will be your primary point of contact within the organisation you're working with, and who will provide hand-holding if you're stuck. You're also encouraged to become involved in the community, not silently churn out code for twelve weeks then vanish.
Aside from the attraction of being paid a reasonable sum of money to write open source software that you care about, you don't have to worry about finding accommodation near your employer — the work can be conducted entirely over the internet, as is normal for community open source projects. As an added bonus, as long as you put in the hours, you can generally work whenever it suits you, rather than having a rigid nine-to-five schedule. Of course, if your mentor and co-workers happen to be nearby, then there's nothing to stop you meeting up. If you're lucky, as I was, your mentor's company might sponsor your attendence to relevant conferences during the summer. The programme also provides a good way into an organisation if you've been meaning to get involved but haven't had the time or motivation to get stuck in. In the long term, your project could lead to full-time employment, particularly if the organisation has commercial backing. Oh, and you get a book and a t-shirt.
Summer of Code does have its downsides compared to regular internships. The obvious one is financial: $4,500 is less than you could earn from traditional summer jobs. (I'm told that banks give their interns roughly that amount for every PowerPoint slide they produce…) Also, the informal, timezone-independent work pattern of community open-source development can backfire when you find yourself debugging your project with someone on another continent in the middle of the night, having worked all evening because you woke up at noon.
That said, if you want to spend the summer working on an interesting open source project and want to be compensated for your efforts, Summer of Code is one of the best places to look. Even if you're not an open source enthusiast, take a look – you might like what you find, and if not, at least your CV will be buzzword-compliant.