Once, when Lincoln paid an evening visit to his top commander, George McClellan, the famously arrogant general came home and went to bed without so much as acknowledging the president. Lincoln shrugged it off, saying he would hold McClellan's horse if it would produce a victory.
Eventually, he replaced the battle-shy McClellan with Joseph Hooker, who had said the country needed a dictator. Lincoln wrote Hooker, "Only those generals who gain successes, can set up dictators. What I now ask of you is military success, and I will risk the dictatorship." He was not about to let pride or other non-essential concerns get in the way of defeating the enemy.
Obama should have followed that example. He put McChrystal in command because he saw him as the best person to implement the strategy he sees as our best hope in Afghanistan. McChrystal's disdain for Joe Biden doesn't make him any less suitable for the role.
It is tempting for a boss to fire an underling who has been caught in an act of insubordination. But what underling is less likely to commit insubordination than one who has undergone public humiliation for it?
None of this is to excuse the general's abysmal decision to vent so freely. What was said of Napoleon's execution of a prominent duke -- "It was worse than a crime; it was a blunder" -- applies here.
A general may be forgiven for an insult to civilian rule. But McChrystal did far worse: He let down the men and women whose lives are on the line in Afghanistan. He allowed himself to create a major distraction from the task at hand, doing a favor to the Taliban and al-Qaida. He impeded the prosecution of a war we are not winning.
But firing him is not likely to help. Here's what Obama should have told McChrystal: "General, you screwed up big-time, and your conduct is inexcusable. Here is your punishment: You have the most impossible job in the world, and you will keep doing it."