Agree with the Smurf 100%. But just to add to that...
Shooting first isn't always evil, or even non-heroic. If someone's got a gun on you (and assuming they aren't a licensed law officer), you can assume you're in danger. Han may have shot first, but that doesn't make it any less a case of pure self-defense.
Add to that the fact that having Han wait for Greedo to shoot first, at such close range, is sheer and unadulterated stupidity. Han's not an idiot; if someone you know is an enemy and willing to shoot you has got you at point blank, and you have the opportunity to get the drop on them, you take it. Anything else is, quite frankly, brainless.