Guns are the domestic equalizer and will never be physically illegalized, because technology is too diffussed to make it impossible to make firearms in ones own garage with readily available resources.
If you are standing in front of someone who is acting aggressively toward you and it is in their potential to kill you, you have a right to gun them down. Although, many people are too stupid to understand this in regular society and because of that, you shouldn't do it because of the threat of unjust imprisonment, unless you know can get away with it.
I see it this way: If someone is threatening to take my life and I know it's possible they can do it, I should be able to kill them. Why? Because I'm a good person who would never do that to another human being and I deserve the same respect I give to them, the right to live. But, respect is a two way street. If they are willing to kill me, then I comprehend and respect that they have less value for human life, so I am superior and may take their life, because I care more and they don't, so I'm the one who should live of us two. This is what the Iraqis feel toward American soldier murdering their citizens and turning their own brothers against them.
I'd never threaten anyone, so I'm out the stupid circle of those who be killed by people like me who threaten. This should be the standard cultural law, because it's always been our natural law for all of human history.
I want the whole world to have nukes. Only the stupidest of us actually think we'd let them off and turn the world into an unliveable one. That's one of the problem towards world peace. Put it this way, if Saddams nuclear plant was never bombed by Israeli's little shit inferior leadership, innocent Iraqis would not be being murdered today and 911 would have never occured. We'd be trading respectfully instead of taking advantage of their macro inability to defend their state and resources.