It was a disaster. Hundreds of millions of barrels of oil. Miles of coast line. Uncountable number of animals affected.
Was it morally bad?
Seems like an easy answer right? But why is it morally bad? It was after all, unintentional. It was an accident. It wasn't a malicious act, or an act that was done out of pure recklessness (I'll address this in a second).
Typically speaking, we don't call accidents something that is morally blameworthy. BP didn't do anything morally wrong, if it was an accident (lets set aside the moral questionability of drilling for oil in general).
But we could call the spill a reckless act, if it people weren't taking proper precautions and being generally reckless with their actions. Reckless behavior is something we can hold someone, or in this case some entity, morally accountable for. But there's good reason to think that this was not a reckless action. They were following the law. Sure companies can always go beyond the law in terms of safety, and lets imagine that they did, and the spill still happened. People would still blame BP for being not safe enough. Hindsight is 20/20 right? Its no wonder that none of the other major oil companies would admit a mea culpa on drilling without blowout preventers or a working plan to solve oil spills. So in that regard they are all equally morally culpable, since no one had such a working plan.
I'm not seriously suggesting that BP didn't have any moral wrong on their hands, but the more I think about it, the more it seems difficult to pin some kind of serious moral wrong onto BP.