He expressed his opinion of Islam while in uniform. Said opinion of Islam is not the official position of the United States of America. That is what got him into trouble.
When you wear the uniform, you are not speaking for yourself, you're speaking for Uncle Sam.
Exactly. What would we be saying if a general got up in front of a leftist group and openly criticised the policies off the United States? We'd call him a traitor for undermining our President. And we'd be right. The fact that we tend to agree with the guy doesn't make what he did acceptible.
The President sets policy, he has said that this is not a war against Islam, and it isn't the place of a general to publicly contradict the President.
If he wanted to say it, he should have taken off the uniform. He should have issued the standard disclaimer that he wasn't speaking for his service (which is required, and which he failed to do).
That having been said, I don't think he should be drummed out. His career advancement should be delayed - I don't want anyone who thinks he knows public policy better than the President to rise any higher in the ranks.
While all you say is true re: CIC and officers, our President has "misunderestimated" islam as a "religion of peace" when thousands of Christians die every year at their hand.