Moderation is key (IMHO) and it's not easy. I've moderated small subreddits and tried to be an "unbiased moderator" but I've come to the conclusion this is the worst of all worlds. Trying to please everyone ends in pleasing no one. The community-killers (people who can singlehandedly, or in a small group, ruin a community) will be very vocal/loud when you start to curb their actions, you have to tune them out. I look back at a community that withered away and the #1 reason was the moderators attempted to be completely neutral and only enforce clear rule violations. That just meant that the same people walked right up to and over that line over and over and in an attempt to stay "neutral" we didn't ban them like we should have. Tons of people who weren't vocal or were just lurkers evaporated away because of the actions of a handful of toxic community-killers.
HN is able to avoid this with heavy moderation and the participants agreeing to root out bad behavior (with downvotes and/or flags). Free speech online is something I used to consider a "right" we all should have. I have swung to the almost opposite end of the spectrum. On the internet, at least, it leads to toxic ghost towns and more often than not the moderators who attempt to allow "free speech" will overcorrect for their biases and reprimand people they agree with and let the ones they don't slide (in an attempt to not appear biased).