This is my soapbox, always define evil in your game, this builds tabboos into the system. If I am a DM and I say goblins are evil, period, they are evil. If a PC does not see them as evil, they go against the norm, they become the goblin-lovers.
Now, why are goblins evil? Because they worship evil gods, they perform cold-blooded murder, and they eat the flesh of other defined races.
What is going to happen to a PC for killing a goblin in cold blood? Little or nothing. Why? Because I am the DM and this is my game, goblins are evil, this is my world, goblins are evil, and I am judge, jury, and the gods of the character and I will forgive them.
As many alignment issues you find people apply current morals and thoughts to the game world and you just should not do that, defining evil makes it easier.
Now, why are goblins evil? Because they worship evil gods, they perform cold-blooded murder, and they eat the flesh of other defined races.
What is going to happen to a PC for killing a goblin in cold blood? Little or nothing. Why? Because I am the DM and this is my game, goblins are evil, this is my world, goblins are evil, and I am judge, jury, and the gods of the character and I will forgive them.

As many alignment issues you find people apply current morals and thoughts to the game world and you just should not do that, defining evil makes it easier.