We all want our children to be generous. There are some people, in fact, who believe that our purpose on earth is to grow by giving to each other, an idea I find beautiful and inspiring.
But forcing someone to be generous just makes him resentful. Worse yet, it internalizes the sense that he must be a very bad boy indeed if he doesn't want to share like a good boy. (For a insightful description of how being guilted into generosity can undermine self esteem, check out how young Laura is taught to share -- and feel bad about herself -- in the Laura Ingalls Wilder books.)
Generosity starts with a feeling of having plenty, and develops as we have experiences of making others happy by giving to them. Our job as parents is to help our kids to have those experiences.
Give to the panhandler, bake pies for the elderly at Thanksgiving. Share your ice cream with your toddler. Donate to a worthy cause in honor of a special occasion. Make giving a part of your daily life.
Insisting that a two-year-old share before she's ready is likely to backfire. My friend John points out that asking his two-year-old daughter to share her favorite toys is like asking him to share his treasured violin with friends who visit. For more on Sharing, see Social Intelligence for Toddlers.
This usually begins with parents; you give him the gift of seeing you respond to a gift of his -- such as a card he's made you -- by letting him see the tears in your eyes as you read it.
And one of the ways we can all make the world a better place.
Eventually, if your child is lucky, she will learn from experience that making someone else happy by giving to them is actually more rewarding to her than receiving a gift herself. But that wisdom is something that usually develops only after one has lived long enough to feel truly gifted by life.