I also try to give out all the coins that I have in my wallet, which doesn't amount to much. If I really like a performance, I may consider giving $5 or more. I try to stick around after the performance and give them my few words of appreciation and I also like to learn a bit about the performer. Often their stories are fascinating.
My kids are fascinated by street performers and I think having street art helps to give a public space a special vibe. In New Orleans you can hear some of the most amazing music from street performers. I always try to throw in some money for them, even if it small change it all adds up.
Although I like listening to some musicians on the street, I never hand out money. I do't think there is anything wrong with doing so, it is just not my style. How much you give is entirely based on how much you can afford, how generous you feel, and how good you think they are.
I highly doubt it is their only income, as it would not be enough to cover for their equipment, travel or everyday living. It ultimately doesn't matter whether it is their sole means of income or not; that should not affect how much you give them, if they are working for their earnings.
For some it is their only income (I have known a couple of people for whom it was), but it's usually not a very good income. Still better than nothing at all, and in some cases possibly better than the dole.
But I agree, you don't have any obligation to give money to strangers if you don't want to.
I don't think there's a set ammount. It depends how much you've got. I always give a coin if I stop to watch or listen to a performer, but usually just a dollar. I sometimes give my daughter 20 cents to drop in a performer's hat because she likes doing it.
Is a nice gesture, and helps keep them motivated, say if they perform for 6-8 mins.
Otherwise say a gold coin or two.
It takes courage to do it on the street, and they may get some people who are drunk or rude....so they do deserve what they make.