[M]an doth not live by bread alone.... (Deuteronomy 8:3)
Talk to an open-source developer, and they'll tell you that they code for more than the 1s and 0s. Whether it's for the "egoboo" (reputation boost) that Eric Raymond notes or for some other reason, it's usually not for cash [PDF]. Most open-source developers code for more than money (though money is important).
According to a 2002 survey done by the Boston Consulting Group [PDF], the primary reason developers contribute to open-source projects is that they find it "intellectually stimulating." Th second reason was that it "improves skill." Third was "work functionality." "Money" didn't make the list.
Every open-source developer needs to take care of herself and her family. But open-source software development is about more than just code, and about more than just money. It's about community. Developers don't live by money alone. Hence, open source is a good way to give employees a higher purpose than "Kill Competitor M."
Speaking of which, "Beat proprietary software" was the second-lowest reason on the BCG list. Open source is about building things, not tearing others down.