To me to be a hero it must be someone who would defend those that cannot defend themselves. However when I think about a hero I do not just see black and white. A hero must be willing to do anything to make sure that they stay alive, however, this does not mean throw your followers under the bus. It means that if you have to lie then lie, if you have to steal then steal to me heroes that are black and white are not heroes their fairy tail, “I saved the princess though being a perfect knight. This does not happen in real life so the writers should be accurate with that. I understand that a hero is going to have luck here and there but do not say, “That they made it through without any consequences or injuries. ” The trail a hero follows should be one that is reasonable for instance they should not be going into a dark forest know for bandits when there is a reasonable road to follow instead. A hero should be punished for doing certain things and he should be very good at one thing or another.
I believe through my personal liking that a hero should come from a terrible and sad back story. Like the Kingkiller Chronicles how a boy, named kovthe, is raised in a traveling troupe of performers. Then has his parents and his troupe killed be the chandrian for trying to make a song about them. In the end he becomes a great hero of many trades he had to learn to beg to steal to live on the streets of a huge city when he was extremely young. So yes I believe that heroes should not be perfect little angles.
To be honest I do not believe it matter where you come from to be a hero. The only thing that matters is that you are good at something very useful. For instance would a high born noble learn to use swords yes, however, a low born farmer would be an extremely good archer. Now the farmer could kill the noble from far away and the gallant noble would still be dead despite his sword train the same in reverse. So with this I do not believe it matters where you come from.