Microsoft "released" the source of the .NET framework a while ago. The details are here:
But of course, it’s not that simple. You’re not supposed to be able to read the source willy-nilly; you’re only supposed to be able to see it when you’re debugging a program. So there’s some instructions to set it up with Visual Studio. I got this to work once, but since I applied Service Pack 1 it hasn’t worked – I just get blank files.
Then there’s this curious page: