I don't give money based on need. I give money based on value. I will send value to anyone who gives me value, regardless of their net worth. I may indeed give money to someone who needs it more than me simply because I value them or whatever they're offering me, but I'm still getting value. It also isn't neccesarily a compulsion. You're making a lot of assumptions, which is an exercise notorious for leading to misunderstanding.