At this point, it's sad that people would need a CoC just to follow the most elementary of courtesies.
Everyone can have a bad day and jump at the throat of someone for no reason at all; but basic politeness would require them to flatly apologize later on.
I wonder if it's linked to the current social trend of "being the greater person" and "not escalating the argument", but it's regrettable in any case.
The problem is that “later on” often means “never” — and doesn't do anything to help with the damage before it happens. Abusive people are also commonly adept at finding ways to imply they did that without really doing so sincerely, as well as pushing boundaries so there's more chaff for them to hide behind (“<other person> joked about x, why is y worse?”).
What a CoC does is give clear expectations for everyone in the community. It makes the discussion easier because it's a simple “Don't do this, rule #3” rather than having to lawyer about whether something is a problem after things have already become heated. This doesn't solve everything, of course, but setting a baseline cuts out a lot of tedious lower-level stuff and helps set a climate which discourages bad behaviour by removing the lower level stuff which can encourage it. That guy who infamously used a porn image in a conference slide probably didn't just wake up one morning and decide to do that but was in a subgroup where sexualized comments & humor was normalized.
> What a CoC does is give clear expectations for everyone in the community.
That's my whole point; that CoCs might be a necessary step for social changes that quite many people don't understand and/or master yet (e.g. custom pronouns) is understandable. But apologize after you hurt someone is something I (and, I assume, most people) was taught when I was 4 y.o. and should be widely applied. What will be next, a little panel reminding you to say "hello" and "goodbye" when you come in and leave, or "don't forget to say thank you" next to the cashier?
The world is a much less friendly place than most kindergartens. Saying sorry both acknowledges culpability and results in losing face. An adult issuing a true apology to another adult is very rare.
> The world is a much less friendly place than most kindergartens. Saying sorry both acknowledges culpability and results in losing face. An adult issuing a true apology to another adult is very rare.
If that's your experience I feel bad for the toxic environments in which you must be immersed.
Just this week I witnessed one of my co-workers apologize to another, publicly, in front of a number of their fellow colleagues, for behaviour they regretted.
And yes, it was a genuine apology. And no there was nothing to be gained for this individual, personally, by delivering that apology.
I myself have both given and received many apologies in my professional career. If that's rare, it's only because most people, most of the time, don't behave in a way that warrants apologizing later.
It's precisely the kind of fatalism you express, here, that leads to bad behaviour going unaddressed.
We try, for ourselves and with our children, to make a distinction between "I'm sorry" and "please forgive me" -- saying "I'm sorry" is an expression that you wish that something hadn't happened, or had happened differently. It's not (or at least it shouldn't be) an admission of a moral failing.
Asking for forgiveness, on the other hand, is admitting that what I did was wrong. That's not necessarily the same thing that I'm sorry about -- as an example, "I'm sorry that ball hit you on the head, please would you forgive me for not being careful enough?". This separates my actions from their consequences in a way that acknowledges their affect on other people.
And I'm quite glad that in most situations I find myself, someone being willing to admit when they are wrong is considered a positive. It builds trust, and shouldn't result in losing face.
> Saying sorry both acknowledges culpability and results in losing face.
That sounds awfully weird for me coming from an environment where accepting your errors and apologizing is seen as the only honorable option; "noblesse oblige" and catholicism-impregnated traditions I assume.
My point was simply that these aren't necessarily as universal as people might think, especially in a large multi-national community like open source. There's a fair amount of cultural variation on what's considered worthy of an apology and a CoC can be helpful simply by getting people to think about that up front rather than after something happens.
> At this point, it's sad that people would need a CoC just to follow the most elementary of courtesies.
If the body tasked with enforcing the CoC is the same one being an abusive penis, its not going to change things.
However, I agree that its pretty shocking that people seem to struggle with the basics of human interaction. Yes social conditions are indeed real(the autism spectrum et al), but that's not a cover for being a weapons grade tool.
more importantly the is no excuse to indulging these behaviours. If you see it, call it the fuck out. I don't mean "be the ally" pussy footing around. Empathise with the belittled party and redress the person(s) being a shit. Yes it will be touch and go, but unless you set boundaries, "founders" and "thought leaders" will continue to be obnoxious shits who chase the fun out of everything.
Personally, I think trying to understand why the dynamic is occurring is more helpful. Sure, sometimes people are just assholes and need a dressing down, but more often things are a bit more complex - they should still be confronted about their behaviour, but just giving them a lashing may not help the situation compared to talking through why they are acting that way.
I'm all for taking the high road and not escalating but sometimes, with people like this person appears to be, you have to get in their face when they attack you. They perversely respect that.
The person you've highlighted as doing everything is Matthew Flatt, a professor at the University of Utah, not Matthias Felleisen, whose contribution in code is not the reason he is indispensable to the project.
For what it's worth, if you wanted to make the argument that Racket the programming language would not exist without Matthew Flatt, you'd be undoubtably correct. He is more-or-less the sole maintainer of the compiler, but fortunately for everyone involved is a very nice guy.
Matthias was the PhD advisor of Matthew Flatt and Shriram Krishnamurthi at the time where (what would eventually become) the Racket project started. Virtually all of the core contributors are either his PhD students over the years, or students of his former PhD students after they became professors. He's the project's steward, being the person primarily responsible for securing grant funding for the work that goes into Racket, and the project's "visionary" (as much as such a thing can really exist), being the one who has most explicitly philosophized the concept of "language-oriented programming" (though there are plenty of other researchers now interested in the subject, including independently from Matthias' lineage). It'd be difficult not to understate the importance he has had to the careers of his former students (both in terms of the research they've done and in terms of his support in doing the politics necessary to have a successful career in academia).
Are you aware of any studies that find a CoC to improve or change the behavior in a community? I'm probably overly skeptical, but a CoC to me always seems useless since it's not legally binding in any sense and no open source community can afford to formally judge accusations to begin with. I had a sudden urge to read up and see what all evidence exists, so I figured I'd ask you - no worries if nothing comes to mind.
In many community forums I have seen this dynamics: New member says something rude but factual or just misrepresents what another member had said; Moderator says something along the lines of "please be more polite or restrict bikesheding/flamewars to the appropriate subforum"; The new member starts litigating how come the moderator can demand that if it is not in the "official rules".
Codes of conduct deal with these self-absorbed members (they are not trolls necessarily). CoC probably help with many other things, but taking care of this low hanging fruit is already an incredible improvement.
It is sad that we need to make rules like "do not be a jerk", but sometime ago I was disillusioned from the idea that such rules are self-evident. They mean very different things to different people, so defining them ends up being useful.
> It is sad that we need to make rules like "do not be a jerk", but sometime ago I was disillusioned from the idea that such rules are self-evident.
It's not about the _rule_ being non-self-evident, it's about enforcement being uneven. Most humans will tend to perceive lower negativity and rule-breaking behavior in viewpoints they agree with than in viewpoints they don't. A formal statement of rules allows a community to try to do away with this bias. A documented set of rules also allows a community to reflect on their own norms and allows them to make changes to their norms as the viewpoints of the community change.
>A formal statement of rules allows a community to try to do away with this bias
I'm not sure I would state it as trying to do away with bias. Bias is inescapable. In fact, I'd go so far as to say that bias is a good thing, insofar as we want communities to be biased towards things that they prioritize and biased away from things that they don't. What a code of conduct does, in the best case, is allow a community to be explicit about its biases, allowing prospective contributors to see up-front exactly what kind of community they're joining.
Of course, there are plenty of cases communities implement codes of conduct poorly, usually in response to some crisis.
> I'd go so far as to say that bias is a good thing, insofar as we want communities to be biased towards things that they prioritize and biased away from things that they don't
I'd argue that this depends on the community. For some communities, sure, but for others not necessarily. A discussion/debate club or a book club is probably more interested in plural viewpoints. A game discussion site probably much less so, and a support group probably has a very narrow set of allowed viewpoints. But it depends.
> What a code of conduct does, in the best case, is allow a community to be explicit about its biases, allowing prospective contributors to see up-front exactly what kind of community they're joining.
Indeed. But also, communities aren't unified or static things. Different members of a community, even founding members (as we can see with TFA), will have different viewpoints on what the community means for them. A formal statement of rules lets everyone agree on an explicit, documented set of common rules that they feel accurately represent their community.
When I was younger I ran or helped run many small and medium size organizations and I've never been in one with unanimous opinions, even among very friendly founding members. Creating explicit rules has always been an improvement in pretty much any community I've been in with over 10 members. Leaving rules and procedures undocumented always resulted in games of shadow politics where there were tacit holders of power and tacit power groups and frustrated newcomers.
CoCs have a bad reputation because many of them are written without a clear set of rules, often intentionally so that the authors have leeway to adapt the vague rules for new behaviors they want to ban. This can be considered a good thing (don't need to amend the CoC for what is "obviously" bad behavior that the original didn't account for) or a bad thing ("it's not obviously bad behavior, you just made it up so you can ban me via the CoC because you disagree with me").
If you think those rules are vague and unclear, it's even worse when there is no code of conduct and the project's entire policy is "we do whatever the moderators feel that day."
>Codes of conduct deal with these self-absorbed members
Do they? It seems to me that a Code of Conduct just gives these sorts of people an entirely new set of rules to litigate/bikeshed. If the Code of Conduct prohibits personal attacks, for example, the sorts of people who will harangue mods for admonishing them to be nice will, instead, harangue the mods about how their statement wasn't actually a personal attack.
>It is sad that we need to make rules like "do not be a jerk"
I don't think the problem is in the rules or lack thereof. I think the problem is there in the (lack of) enforcement. Many internet communities are allergic to anything that smacks of "censorship", and thus find themselves at a loss whenever someone comes along and willfully violates community norms. We should remember that "well kept gardens die by pacifism" [1], and no matter how detailed and elaborate the rules, someone needs to be willing to actually enforce them. A Code of Conduct (or some other formalized set of rules) can help here insofar as it allows the moderator to point to something outside their own thoughts as a justification for why they're taking action against a transgressive community member.
However, it's possible to go too far. Wikipedia is a great example of what happens when rules become too elaborate. There are many trolls on Wikipedia who are around simply because they've mastered the arcana of the various rules and procedures Wikipedia has built up in its efforts to create an "objective" standard of community behavior. Whenever they're brought up for discipline, they can point to some previous case where superficially similar behavior was excused.
>the sorts of people who will harangue mods for admonishing them to be nice will, instead, harangue the mods about how their statement wasn't actually a personal attack.
The solution there would be to make clear what constitutes a personal attack. No reason to bikeshed over it.
You can learn to push situations (using your behaviour) to obfuscate "what's actually a personal attack" greatly. Wrap your attack and words in the political language du jour, play to the biases of the moderator, there's a million ways to do it.
It seems it's pretty easy for an unbiased observer to spot that. In cases where a moderator is too biased, that's why there are multiple moderators that would all collectively make decisions about the code of conduct.
The sorts of people who choose to be moderators- especially of a project with a politically tilted code of conduct - are wont to engage in political consensus-building.
Shifting and shrinking the overton window till they all know what the acceptable views are and an orthodoxy is built.
This'll happen unless the moderators are mentally diverse. However, as the expansion of moderator teams and moderation generally is usually politically driven, this doesn't tend to be the case.
It's easy to spot! Not that there are unbiased observers. Just ones that are and aren't biased against you in particular. That doesn't mean it doesn't happen.
The rules being defined would attempt to be useful, I'm sure. I'm curious if they actually are. So many things are done socially with good intentions that people just assume are working. Society is complicated though. As I understand it, well meaning, reasonable actions don't always have the intended outcomes.
Now I'm certainly not claiming a CoC has unintended outcomes, but surely as often as I see them recommended (and at times even demanded), I would hope there exists decent evidence of their usefulness.
I think like many formalisation, they are a tool that is useful within the right culture, but are useless in the absence of that culture. The Rust Community is an excellent example of a community with an effective and well-enforced CoC that has contributed towards creating a community that is renowned for being welcoming. But I suspect that has at least as much the attitude of early community leaders (Graydon Hoare, Brian Anderson, Huon Wilson, Aaron Turon, etc) on these issues and ongoing excellent moderation of community platforms from a dedicated team of moderators.
CoCs are just a form of explicit rule documentation. You can call these Bylaws or a Constitution, but they serve the purpose of making rules clear and clean.
The problem is they are also most often adopted by highly informal organizations. In this environment CoCs are most often tools to for the project leaders to carry out personal vendettas rather than equal enforcement of the code.
Sure, CoCs aren't panaceas (nothing is when humans organize), they're just tools to help increase transparency and get alignment. Much like a nation's constitution is useless if the de facto ruling structure doesn't actually listen to the rules in its own constitution; we shouldn't abandon codified rule of law because some polities refuse to respect their own codified rules.
In this particular case I agree, a CoC would be too-little-too-late. But if there had been a CoC it would be easy grounds for dismissing Felleisen (assuming the allegations are true) with little (but still some, since power abusers die hard) fanfare. Now there will be a whole bunch of witch hunt politics and the community will suffer the more for it.
I also haven't been able to find anything yet, thanks for the links, I guess the first study at least implies there isn't much (any?) research on the effectiveness yet.
> no open source community can afford to formally judge accusations to begin with
Some communities do have formal "moderation teams" with this responsibility.
One major advantage of this is that such a moderation team doesn't have to be reserved for egregious cases; that team can also step in when things get somewhat heated and provide lighter feedback to keep things from escalating.
> it's not legally binding
It's not intended to be. The goal of a CoC is to state community norms and serve as a point of reference to reduce relitigation of those norms. It's also to help people feel that a community cares about those norms and will actually enforce them. (This stops holding true if a community has a CoC on paper but refuses to enforce it, which unfortunately does happen sometimes. But on balance, it's a useful signal.)
So, delegating both responsibility and power to people with an agenda (because those are the only ones to step up when they get formal power, in addition to or rather than just informal responsibility), rather than adopting practices of de-escalation that everyone is responsible for? Paring down non-constructive and non-called for should be the responsibility of everyone in the room and not a special distinct set of people.
I'm all for training project members (i.e. people who are involved in organizing conferences or summer schools) in practical techniques for better organizing the community, and I think holding everybody responsible leads to better results than having activists with an agenda write the rules and just delegating authority to them.
This story at face value is so far beyond what is necessary for a code of conduct to address. From the author's description, nobody is defending Felleisen, the project has just decided that they are better off with him regardless of his assholeness than they are without him. Whether that is true or not is up for debate.
This is not a CoC issue, this is an issue of enforcement, and in the absence of enforcement a CoC isn't worth the paper its written on.
This is absolutely the key point, and the one that all the discussion here is missing. Nobody defends Matthias' behavior, they just suggest that you should tolerate or ignore it. The reason is clear when you realize that "the Racket community" is more-or-less analogous with "Matthias' academic descendants." The people who are working on Racket as a language owe immense professional debts to Matthias.
> "the Racket community" is more-or-less analogous with "Matthias' academic descendants."
For people who don't know, the Racket project was started by Matthias Felleisen in the early '90s. The next people on the project were all his PhD students:
- Matthew Flatt
- Robby Findler
- Shriram Krishnamurthi
- Cormac Flanagan
Later additions who are top contributors to github.com/racket/racket:
- Sam Tobin-Hochstadt (Felleisen's student)
- Jay McCarthy (Krishnamurthi's student)
- Vincent St-Amour (Felleisen's student)
- Ryan Culpepper (Felleisen's student)
- Asumu Takikawa (Felleisen's student)
- Eric Dobson (Krishnamurthi's undergraduate student)
In the top 10 contributors listed on GitHub, only 2 are not academic descendants of Felleisen:
- Eli Barzilay
- Matthias Felleisen
EDIT: I originally listed Eric Dobson as "not an academic descendant of Felleisen" because I hadn't been able to find information on a dissertation or the like, but a comment informed me that they were an undergraduate student of Krishnamurthi so I have updated the comment to reflect this.
Ah, apologies for the misinformation. I had tried to find information on Dobson's academic background and came up blank, so I assumed they weren't in academia (and, thus, no direct connection to Felleisen). Thank you for the correction!
And the last remaining not-Matthias person on your list, while not an academic descendent of his, (to the best of my knowledge) owes their current employment to Matthias' politicking.
Codes of conduct are good for more nuanced cases; if you’ve got behavior that would fall under a very generic “don’t be an asshole” type rule, the problem you’ve got is an enforcement issue not a documenation issue.
Sure, but the core team already knows about this, and already knows that it's bad. If they had signed a pledge to not tolerate bad things back in 2019 when CoCs were cool I'm not sure how that would change anything. More ways for people to play at rules lawyering?
I seems to be a modern idea that if you can just write down rules for everyone to follow everything will be ok. This guy knows his behaviour is unacceptable and no code of conduct will change that. What's needed is more people prepared to call out this kind of behaviour