>If I earn $2 MM a year in salary, then in a short period of time, I could quit, retire, and work on whatever (open source, nonprofit) technical projects interest me.
Is that really so bad? Probably one of the first things you would do is blog about how great it is to retire. Other star programmers will see this and all line up to work at this company.
Plus, if star programmers could break out of the rat race they probably wouldn't stop programming. They would just (as you say) work on things that interest them. Think of the best free software projects and imagine if those guys didn't have to work for a living. What else could they (and others like them that haven't had the time to build things yet) build? If they build something that helps the industry then it helps the business they were working for (e.g. lowering the costs to do whatever the new software does).