Context is always good. Sounds like it had less to do with his criticisms than the fact he sang the same song for a half hour and other performers were scheduled to perform. He has been critical of Obama in the past, so they must have known that when they booked him.

Here is the official statement of the promoters of the event who stopped him. Obama had nothing to do with it, and wasn't even there. Technically it's a private firm, not the government, so 1st Amendment rights and free speech censorship has nothing to do with it, although according to the statement it wasn't about the criticism to begin with:

Yep, kick off stage because, instead of entertaining the folks as he was being paid to do, he chose to use the stage to impress his personal views on the audience by singing one song for 30 minutes. Boorrrrrriiinnnggg!

Look, all performers who sing music they wrote are impressing on the audience their personal views to one extent or another - but, c'mon dude, bring your A-game to the stage if you are serious. At least bring more than one song - or sing other people's anti-war song to bring your point home, if you can't be creative enough to write more than one anti-war song yourself.

I would like to see the secret drone program ended and Gitmo closed ASAP.

sheeeeeet i dont even want to see jam bands play a song for 30 minutes let alone this guy. Funny all these facebooks posts make it out to sound like he was at some serious inaugural function. From what i can tell he was at some small theater and the promoters sicked the bouncers on him. I mean he was getting payed so in the end its not like he is a known Obama critic who had some well organized protest and was assaulted by the secret service. If that was my function i'd probably pull him too.