Recently (or apparently since 9/11), there has been an abundance of anti-Islam publications. Most notably, draw Mohammad day. The day where all good patriotic Americans come together to poke fun at Muslims in a semi racist way.
While I believe in free speech, I also believe that hate speech should be monitored, and that there should be a clear definition of what 'hate speech' is.
Hate speech is (or should be) defined as - inciting violence against a particular group of people. Not against an idea (not that you can be violent toward an idea anyway). Anything less than this should be treated as free speech and allowed to be publicly displayed.
Why? Because a free intelligent society can moderate itself. What if children see the words of racism? Their parents will tell them racism is not right, explain to them why it is wrong, and to stay away from the racist cunts posting the racist propaganda (as an example). A free exchange of ideas should be allowed in society, because society can moderate out (through ridicule) the ideas which are wrong or stupid.
Furthermore, the definition of 'hate speech' should be applied equally to all people. In America especially, it has been "freedom of speech" to ridicule Islam since 9/11, but "Anti-Semitic hate speech" to ridicule Judaism in many areas. Let's not forget Jews are in the same boat as Christians and Muslims, all 3 major religions present in the west commit atrocities. It is unfair and illogical that one group be treated better than the others.
Some food for thought for Christians who willingly degrade Islam for the crock of shit it is, but cry oppression when someone mentions why their beliefs are bullshit too.