So it seems that tacit understandings among companies to refrain from snatching away each other's staff are illegal anti-competitive behavior. The law should take its course, but I think the computer field would be impoverished if leading developers continually moved between large, well-established companies.
Over the years, I've noticed swings in hiring and start-up practices, just from talking to authors, technical reviewers, and Friends of O'Reilly. During the dot-com boom, hardly anyone in these circles worked for Intel, Microsoft, IBM, Yahoo!, etc. They worked for companies no one had ever heard of, and often mumbled and looked away when asked what their job was.
Then I noticed a shift. These same leading, career-driven folks were taking jobs at the major companies in the computing and Internet field. It might have been the safety offered by these companies in a down-turn, but I don't think the people I heard from needed to seek stability. Rather, the companies were starting to compete more fiercely on technological grounds, not just buying smaller firms but striving to understand what made them innovative and leap-frog over them.
Currently I see more of a mix, but something of a shift back to small firms. Naturally my impressions are anecdotal and unscientific, but they show the competing allures of large and small environments.
There are obviously benefits to working in a large setting with resources to throw at big problems, and benefits to working in a basement where you hammer out tradition-shattering inspirations with one hand while your other hand holds the cable that's falling out of your laptop. And I think there are benefits to society when both types of firms thrive.
Going back and forth is key to cross-pollination, so let's not lose that even while we open up hiring in large companies.