Self defense is not an 'attack', 'aggression', or 'an initiation of force'
I have caused some confusion with my assertion that it is never OK to attack someone. This is an old issue that crops up constantly in comments from those who do not like (usually because they do not understand) the Zero Aggression Principle, even though it seems perfectly clear to me. If one person expresses disagreements, many more probably have disagreements they do not express. So I will try to go through this as carefully as I can. This means I will be repeating myself a lot, just to be thorough. I hope I can make things clear.
The ZAP states, and it seems self-evident to me, that no one has the right to "initiate force" against another human being. "Initiate force" is another way of saying "attack". The ZAP does not address the right to use defensive force, which almost everyone agrees is a basic human right. The ZAP is not saying what is right; only what is not right. Self defense is never an "attack", although it may include the use of violence. You are not obligated to act in your own defense, nor in the defense of others, although I believe you should. That is a value judgment on my part: that innocent life is worth defending- your value judgment on that point may differ.
I understand "it is never OK to attack others" to be a principle. I think the difficulty some people have with this concept is that we are using the word "attack" in different ways. I think they mistake "attack" as any use of violence or force, which it is not. Some "attacks" involve violence; some violence constitutes an attack. Some, but not all, in both cases.
Here is a useful analogy: "Attack" is to "self-defense" as "theft" is to "trade". The final action may appear to be the same, but only if you miss the initial interaction between the involved parties.
Using this analogy I can state with confidence that it is always wrong to steal. If I walk into Walmart and simply walk out with a gallon of milk, I have stolen it, and that is wrong. However, if I give the cashier the money Walmart requires in exchange for the milk I have not "stolen" it, but have "bought" it. The circumstances of me handing over the money before walking out the door with the milk alters the morality of my actions completely. This is what happens when you respond to a violent encounter, which you did not start, with violence of your own. In both scenarios, same action on your part, with the exception of an important key condition. In the one case, you trading money; in the other case, you being attacked or threatened first. To claim that responding to initiated force is an "attack" is like saying purchasing the milk is "stealing". You would be ignoring a condition which makes all the difference.
So, I hope you can now see that circumstances can change the situation where use of violence, which would not have been right, now becomes a moral thing to do. This is not based upon your trying to justify your actions, but upon the actions of the person who chose to initiate force against you. Once he does that your response is not an attack, although it may include the use of force. He initiated the force; you responded. He attacked, you reacted. The given circumstances dictate whether the violence which ensues is an "attack" or not. Force? Yes. Violence? Yes. Attack? No. Because YOU did not "start it". That is the key.
Can a person "reasonably attack" if there is imminent danger? No, because if there is imminent danger, you are not the "attacker", reasonable or not. You are reacting to the attacker. Can you "retaliate with an attack" in self-defense? Not really. You can respond with force, but because you are "retaliating" you are not "attacking"; you are responding. "Imminent danger" and "self defense" mean that whatever you do it is not an "attack". Again: A response to a credible threat, or self-defense is not an "attack". An "attack" is when YOU "start it", not when you react to someone else who has "started it".
This is the problem with people who say "all violence is bad". No, it isn't. Sometimes "violence" is the proper response. You can't always properly respond to an attack (someone starting violence toward you) without reacting violently. Your violence is not an attack since you did not set the circumstances in motion. You were responding to someone else's choice to start violence with you, or to their believable threats to do so.
If you saw a kid with a BB gun which he was handling safely; posing no threat to anyone, and you tackled him because of his weapon, you would be attacking him. If that kid aimed the BB gun at an innocent person and you tackled him because of this action, you did not "attack" since he made the choice to act in a threatening manner, which any sensible person would interpret as a real danger. If, instead of aiming his BB gun in your direction, he claimed he was going to call down lightning from the sky to roast you where you stand, you would be justified in thinking he was crazy, but not in thinking he made a threat which he was capable of carrying out. You would not be justified in tackling him because of this ludicrous threat. If you do so, you would now be the "attacker".
What about a kid racing down a sidewalk on a skateboard who points his finger at a smaller child and demands that he "Move, or be hit"? I would take that as aggressive behavior on his part. That means he has "started it" and your reaction to protect the smaller child would not be an "attack", but a response. Once again, your response might be violence, but since it is a reaction to a credible threat, it is not an "attack".
Now, might there be disagreements as to whether a threat is "credible" or not? Yes. That is why there would be arbitration to settle matters like this. This is where "value judgments" would come into play. It is not a value judgment that it is wrong to attack, but it might be a value judgment as to whether a particular incident was an attack or not, due to surrounding circumstances. You make your choices and take your chances that others will see things as you do, if it comes down to arbitration.
I sincerely hope this has made the issue more clear. If not, discuss it in the comments, and I'll see what else I can do.