~/code
~/code/${company_or_topical}
~/code/${company_or_topical}/${project}
Where company or topical are things like 'cloudkick', 'asf' or 'personal'. (I guess you could say, its "who owns the IP").Some of these subdirectories are actually symlinks to encrypted DMGs, again depending on who owns the IP.
Project is the top level checkout of the projects.. My 'asf' (aka Apache Software Foundation) directory contains 84 project level checkouts.
I also keep a ~/work/temp directory full of random source tarballs if I need to look at how something works. Currently contains glibc, python 2.6 & 3.1, dojo, and about 30 other open source projects, normally ones I'm not normally involved in patching, but often run into... difficulties with. Nothing resolves bad documentation quicker than looking at the source code...
I tend to nuke temp once every 6 months.