Agreed that they should not be completely hidden, but only hidden by default.
Interestingly, one case where you have to see them is when you write a new package that use them. e.g. if you want to write a new packages that uses WebActivator, you first have to install WebActivator directly.
Note that they could come into play in a completely different scenario: deprecated packages. You don't want new users to find them, but they should still exist to avoid breaking existing things. At least I
think it's the same concept as what's needed for WebActivator. I'd rather not have two different concepts for those two cases if possible.
'abstract package'? Hmmm, not quite sold on that but could be convinced if others like it. :) How about something really explicit like 'hidden packages'?