This is an extract from an entry in the blog of Peter Bregman (which is, itself, pretty good reading) about skill in being a good friend.
To be a good friend, you have to give of yourself, but not so much that you lose yourself. You need to know what you want and pursue it, while helping others achieve what they want. You need to have personality while making room for, and supporting, other people's personalities. You need to care about, and even love, people you might disagree with.... You need to be willing to give at least as much, if not more, than you take.
I've never been particularly good in caring about most other people -- a few, yeah, but not many. I admire people who can.