I won’t delve specifically into the removal of Vaxry from Free Desktop here. However, it’s mentioned in the title as the topics discussed spring from this situation and the ensuing discourse. If you want to get more information about the specific situation, I recommend this video by Nicco Loves Linux or this blogpost by Drew DeVault.
Contributing to software projects, much like contributing to other community projects, is not just a technical endeavour but also a communicative one. In order for a maintainer to accept a pull request or review commits, they need to have discussions with the contributor behind the code about code style, implementation decisions and more. The committer needs to be an identifiable real person that is open to reasonable discussion, and that the maintainer is comfortable interacting with in order for this system to work.
It seems like most reasonable people are on the same wavelength about the former requirement however, as the latter requires that people’s actions and words from all public places be taken into account, a loud minority (largely on reddit and discord) seem to deride it as “thought policing” or as a violation of their freedom-of-speech. Broadly, these critics can be categorised into two camps:
a) Misogynists, homophobes, transphobes and other bigots who will push against moderation tools and policies such as COCs, Moderation Bots and the banning of individuals for ideological reasons, so that they can spread their own hateful ideology in official or semi-official project spaces.
b) Well meaning individuals that push against these same tools and policies due to very reasonable ideas such as the protection of freedom-of-speech and the protection-against-discrimination for all committers.
Camp A is not of much use addressing as they will not change their opinions or their actions without tackling much more fundamental issues in their life and ideology. Camp A will also pretend to be Camp B in order to appear more reasonable or to concern-troll in order to rile up community moderators, hence this post will only address those in Camp B.
Not associating with those who advocate against the rights of you or fellow community members is not “thought-policing”. If a lead developer discovers that a contributor holds bigoted views of this kind, it’s not their responsibility to accommodate, ignore, or work around that contributor’s presence in the community or project. Developers are not computers that can solely take somebody’s technical ability into account when working with them, developers are human, they shouldn’t be forced to deal with people that negatively affect them and make working on the project more mental effort than necessary. Working with bigots on projects and treating them like everyone else also serves to normalise their ideas, especially within the community, and as a those who are the targets of bigots tend not to associate with them, communities that accept them tend to end up only with bigots. Just look at 4chan in the 2000s vs now or the Hyprland discord server before changes were made. Allowing bigots into a community also makes you culpable of their actions as you are abetting in the harm they cause to others.
“If there’s a Nazi at a table and 10 other people sitting there, talking to him, it is a table with 11 Nazis.”
Banning someone from a software project or organisation for a history of hateful comments does not violate their freedom-of-speech. It is not a difference in ideology or bringing politics into FOSS, and it is most certainly not discrimination as I have seen claimed. These laws do not make being a c*nt into a protected class, it doesn’t force people to have to tolerate your behaviour, it doesn’t allow you to act like a child; immune from consequences. You are not being singled-out for your political leaning, you are being for being unlikeable, hard-to-work with and being a drain on the project instead of a positive influence on those around you, and that goes much deeper than politics.