So, when it comes to these definitions, I realized that my debates about Israel, such as "Bibi is a war criminal", cannot work unless there is a very clear definition of a war crime.
But thats where it gets complicated.
A war crime could be defined as "causing some harm to some civilians", with civilians being those who arent part of military.
This is a very simple definition. We can all agree that causing harm to civilians is bad.
But some people want to extend this definition by saying:
"Its justified to harm civilians if it achieves some military goal".
But the problem with this definition is that harm doesnt stop being harm even if it results in some good elsewhere.
Sure, bombing of Germany in WW2 defeated Hitler, but that doesnt mean it didnt cause harm to countless civilians. In no way it was good for those civilians.
Further, every side in war thinks its right. If every side thinks that its right about what they want, and its justified to kill civilians to achieve what is considered as right, then essentially the term "war crime" becomes meaningless because every side can justify anything by simply saying it achieves their goals. Israel could carpet bomb entire Gaza as an effective way to try and destroy most of Hamas. If ends justify the means, then anything can be justified.
So clearly, war crime definition is best kept simple, otherwise it risks confusing lack of crime with efficiency, where something is not a crime just because its efficient at achieving something else.