An act is terrorism if, at the very least, it provokes a state of terror in the target populace or individuals. Hence terror-ism.
Whether an act is morally justifiable or not has nothing to do with whether or not it is an act of terrorism. Plenty of acts of violence are not morally justifiable, but that doesn't make them terrorism.
Aiming rockets indiscriminately at any target as hamas does from Gaza is terrorism no matter how it's coloured.
Hamas doesn't aim indiscriminately; They aim at targets in Israel. Truly indiscriminate rocket fire would hit Gaza as often as it hit Israel. And it would hit empty fields far more often than it hit buildings or people.
Just because you disapprove of their choice of targets, that doesn't render their fire indiscriminate. They have their eyes open - but they have a different moral code to you. A moral code that is shaped in large part by the circumstances in which they were raised - the way they see it, the Israelis hate them and want them dead, and they are happy to return the sentiment. They might be wrong, or they might not; but their position is understandable, and largely rational - just as the Israeli position is.
Both sides are badly wrong about a lot of things. Neither side helps when they mis-characterise their opponents as mindless unpersons, by slapping labels on them such as 'evil' or 'terrorist', rather than trying to understand their motives.
Saying 'He is a terrorist', in order to identify that his strategy for getting what he wants is to strike fear into his enemy's hearts, is fair enough; But saying 'he is a terrorist', in order to absolve oneself of any further consideration of his reasons for doing what he is doing, or worse, to absolve oneself for considering one's response rationally, is counter-productive and stupid.
'The police shot him dead, but that's OK, he was a terrorist' sounds like a reason for supporting the actions of the police; but it isn't really. It MIGHT be an abbreviation for 'The police shot him dead, but that's OK, he was about to kill a group of civilians and that was the only option left to prevent him from doing so'. But all too often, it is an abbreviation for ''The police shot him dead, but that's OK, as long as I can stick this label on him, I needn't even think about the possibility that his killing wasn't actually justified'.
'We bombed a school' should be a horrifying thing to hear. 'We bombed a school because terrorists were using it as a base' should still be horrifying - and we should not let the word 'terrorist' prevent us from asking whether or not bombing a school was a legitimate thing to do. Were terrorists really using it as a base? Was it also still in use as a school? Were the people who were in the school when it was bombed all terrorists? Were any of them? Did we just kill dozens of children in order to prevent the possible death of a couple of children, and if so, is this justified? Does the 'side' the children were on matter? Does it even make sense to talk of 'sides' when dealing with minors?
The word 'Terrorist' should not mean 'Shut up and accept that what we did
must be right'. It should not be a 'get out of jail free' card.