I’m not sure if this is a problem for other developers also, but for me one big problem is trying to clean up local overlays and changes to CVS that can’t be committed.
When some time ago I started publishing my overlay to public, I originally moved only part of it to public, as I knew there were some ebuilds I didn’t want to make public yet. The reasons are quite differnet: some of them are basically not working (www-apps/typo); others are for local testing (twinkle patched with some debug printf()s); for some of them I’m not sure about the legality of publishing them (an ebuild to install kyocera-mita’s ppd files, and one for epson’s iScan – that by the way doesn’t work here because it’s x86-only; there are then the two ebuilds for GNU tar and bsdtar modified for not deleting the symlink if it exists, that still waits for me to create an eselect module to choose alternatives between utilities.
Add to that the published overlay that has patches for different packages that I’m still testing and stuff, and you’ll have an interesting picture, but not yet complete, you should add the edited ebuilds in CVS that I use for quick hacks. Those usually end up committed, but it’s not always the case.
Now I’m trying to spend some time to cleanup the hacks to have decent quality levels to submit the stuff to portage and upstream, I’ve sent quite a bit of stuff today to upstreams and opened a few bugs. Hopefully I’ll be able to drop most of the stuff I have to maintain separately.