Recently I was at a talk where the speaker, who was confident and funny, made a tiny little aside, just a few words long, that suggested, well let's say it was members of a particular profession or people who used a particular programming language or people who lived in a particular place, were somehow less than "us". It was nothing big, nothing to object to, the talk went on.
Then a few sentences later, the same comment, but this time a little bigger, a little more detailed, embroidered, harder to miss. A recurring joke, but now with more sting. Someone DMed me "those kinds of jokes are not ok." While I was agreeing with the DM, an even stronger version of the joke, really obvious and cringey now. And finally a fourth time before the talk was over. Complaints were made.
I've talked with a lot of people since about why I didn't Do Something at the first joke. Put up my hand and say "I don't think we need that, do we?" But you see, the first joke was really mild. If you correct someone when they've done something really mild, you're a snowflake who is just looking for offense and can't you just assume people mean well? If you let it go, for some people that is all they were going to say and that's an end to it. But for some people, they are emboldened - they hear the laughter, everything is going well, so they turn it up a little. And if you step in now you're still going to have people tell you that you're too sensitive. If you leave it until they say something that is clearly outrageous and upsetting, well now people are fine with you taking action but the people who would be hurt by it have been hurt. You didn't protect them.
Which brings me to this whole assume or presume good faith thing. It is one strategy a community can use when setting up codes of conduct and similar Rules. It's important in an international community like ours to understand that some people may be working in their second (or 5th) language, may live in a place with different attitudes to gender and to inclusiveness, may be operating under constraints we don't know about. That's true. It doesn't mean it's ok for them to do things against the CoC though. It just means they should be corrected rather than punished. For example, a post that misgenders someone should be edited -- whether it did so knowingly or not. You can't leave it uncorrected just because the poster didn't mean to offend, didn't know any better, doesn't have pronouns like that in their first language, or even doesn't believe that someone's gender is what they say it is. (And note, comments are only editable by mods, or the OP for 5 minutes, and typically it is comments that mention one user to another: "Did you try Kate's suggestion? He's usually right" sort of thing.) When a CoC violation can just be edited out, that's what should happen. Any issue of intent is irrelevant.
But of course not all CoC violations are honest mistakes. The internet is full of people wringing their hands about decent, honest, hard working folk who accidentally offend a snowflake and suffer terrible retribution. I care far more about decent, honest, hardworking folks who wanted to understand their error message but instead got a dose of exclusion, othering, or unwanted religious advice. We're so busy pretending that it's fine to be cruel to people as long as you didn't do it on purpose or didn't know any better, that we forget what happens to people who read this stuff. Where is the good intent for them? We're having giant debates all over meta where apparently it's now cool to explain how your religion says you can't recognize trans people as who they are because that would mean God made a mistake. Why are we doing that? How is that making the internet better?
And then there are the trolls. Trolls love places that tell us all to assume or presume good faith and intent. They love riding the very edge of appearing polite while actually being cruel as can be. They're "just asking". They imply that people's pain is nonexistent or unimportant or both. They demand proof over and over. They keep saying things like "don't you want to learn from people who disagree with you?" and "surely we're all here to grow and learn" and "but you have to respect my beliefs if you want me to respect your beliefs" and all kinds of polite and reasonable sounding things. Sandwiched in with "but we all know women just don't like programming the way men do" or "you can't force me to say God is wrong" or "marriage should only be between a man and a woman" or just misgendering someone on purpose to be mean.
It sounds great, lets assume the best of people and not be quick to take offense. Let's give people a break and look past their words to what they said and all work together to understand this error message. It sounds great. But in practice it means that people who feel hurt and excluded, who feel that every day someone tells them they don't belong in their profession, are told to "suck it up" and "look past that" because surely the person didn't mean to offend you. Well who cares? They did. Do something about it. Edit the "mistake" or the deliberate cruelty away, show the person "you do belong here and we won't let people talk to you like that." Stand up for people who are being hurt instead of for people who are hurting, whether accidentally or on purpose. (You don't have to punish those who are hurting people, just stop leaving their stuff there because they didn't know any better.) Quit defending offensive material because it was probably done in good faith.