There’s a popular xkcd cartoon explaining free speech:
I think Randall Munroe (who writes xkcd) is wrong here, or at least not entirely right. Munroe thinks of free speech in terms of laws: you have free speech if the government won’t punish you for saying something. But free speech isn’t about laws, it’s about social norms: you have free speech if you live in a society where people are not afraid to speak their mind. Munroe is therefore making a category error — thinking something is one category of thing when it is in fact a different category.
Scott Alexander puts it more pithily; Munroe is like a stupid libertarian strawman:
I have a friend who grew up gay in a small town in Alabama, where “faggot” was the all-purpose insult and the local church preached hellfire as the proper punishment for homosexuality. He unsurprisingly stayed in the closet throughout his childhood and ended up with various awful psychological problems.
If you’re a very stupid libertarian strawman, you might ask whether that town had any anti-gay laws on the book – and, upon hearing they didn’t, say that town was “pro-gay”. If you’re not a very stupid libertarian strawman, you hopefully realize that being pro-gay isn’t about boasting how progressive your law code looks, it’s about having a society where it’s possible to be gay. Not having laws against locking up gay people is a necessary precondition, but it’s useless on its own. You only get good results if good laws are matched by good social norms.
Likewise, the goal of being pro-free-speech isn’t to make a really liberal-sounding law code. It’s to create a society where it’s actually possible to hold dissenting opinions, where ideas really do get judged by merit rather than by who’s powerful enough to shut down whom. Having free speech laws on the books is a necessary precondition, but it’s useless in the absence of social norms that support it.