As long as you don't mind working on boring software. (I mean, I know Joel is everyone's nerd idol and everything, but really: bug tracking software? Version control? That's all you got?)
Disclaimer: My FC internship starts on Tuesday, so I can't promise complete impartiality.
I had the chance to contribute to Chromium as part of a class project. It was super bitching. I got to communicate and ever have discussions (virtually) with some brilliant google guys and put some code in. Even got my name on the AUTHORS list.
My biggest contribution was changing the way they did metahandles in sync. You see, when a 'synced' bookmark item is updated in a transaction, it must be marked 'dirty' so that it can be pushed to the server when the cycle comes around again. This was an O(n) operation, as they scanned the whole set of metahandles to do this. I just added some things to the WriteTransaction class to add it to a much shorter list and spare the effort of the whole scan at the end.
Now, I haven't worked at Fog Creek yet, but I have (coincidentally) built a bug tracker before (high school internship; I have no idea why I was given that task, in retrospect). Granted, I was a high school student so I did an awful job with it, but I did learn a lot about how to make software (I'd hope) and it was pretty cool. One thing in particular comes to mind which is that I had to add multiple-parameter sorting, and so I figured out how to do that (I had no idea libraries and even successive merge sorts would accomplish the same thing) and they were happy with what I made.
I guess my point is that a feature is a feature is a feature. Most of the REALLY boring stuff is present in ANY software project, and a lot of the REALLY interesting stuff is present in almost anything (COBOL and banking applications aside).