I am one of the 20-somethings who have followed this similar career path.
Simply put - I stay at a company until I feel there is nothing more to learn and/or another company offers a greater challenge & opportunity to learn.
Money generally comes with greater challenges, but it has never been my ultimate driving force. This is the reason why I've never (and will never) accept a counter offer.
So how do you keep 20-somethings from leaving? Build a company that constantly researches & implements new technologies. Build a company that contributes to open-source so developers interact with other (better) developers. Send developers to conferences and maybe arrange for them to speak at conferences if appropriate. Allow them to expense tech books. You get where I'm going here. Nothing is stopping your employees from leaving your company for another hot tech company so it's your job to create an environment that attracts good engineers. A boring Java shop with a CTO that is doing nothing to retain talent is only going to be used as a stepping stone to better jobs.
Facebook's robots.txt explicitly says that all web crawlers except for baiduspider, Googlebot, msnbot, naverbot, seznambot, Slurp, teoma, twiceler, and Yandex are forbidden from crawling the site.
So, this guy must have set his user agent as one of these in order to crawl all those pages, which goes against Facebook's TOS.
So, yes, downloading these torrents would be illegal since they were obtained in a way that violates Facebook's TOS.
So you think that money is the root of all evil. Have you ever asked what is the root of money? -- Ayn Rand