Looking for a moderation process to enforce the CoC


Lest we not throw stones, LPTK, i think poring over someone’s Reddit history, which is outside the venues to which the CoC applies, is productive. After all, since it is not productive, if we really want to go down that route, I would have liked to see similar outrage pointed towards members of EPFL and Lightbend, as well as moderators posting in this chat liking twitter posts likening Scala community members to the worst human beings in human history, or community leaders calling for do not hire lists for certain library users.

Now that we’ve established that insults go both ways, we can toss all of those arguments aside and actually get something done, because dwelling on them is worthless for the sake of this conversation. De-escalate and listen to Edmund and Japgolly, please. I’d rather not leave things as they are.


I think we’ve spent enough time pointing out every time someone has been rude to someone else, to be honest. It’s obvious that the problem exists. Solutions are needed. It would be helpful to get more responses from the people I nominated; thanks @mdedetrich for responding.


It’s funny that you should link to that particular comment as an example of wrongdoing. What exactly is wrong with it? I’m asking genuinely — like everyone else I have blind spots and don’t always realize when I’m out of line.

To be fair, when I wrote that message, I was a little annoyed by the message I was responding to, which I found to be somewhat divisive: It makes a false dichotomy between “OO programmers” and “functional programmers” while assuming that there is only one way to do FP (the Haskell way). It is incorrect to assert that if you do not always make your effect monadic, then you must be an OO programmer and you must not care about effects. Never mind the people who use Scala like one uses OCaml or Clojure, and who are apparently to be put in the “Java programmers” category (sic).

This is not to mention the apparent brigading that occurred overnight with the comment reactions (the comments had no reactions at all for weeks and then suddenly did).


I’d be happy to discuss it without you outside of this thread. It is off-topic currently. Find me on Gitter.

EDIT: I was never found on gitter. I guess he doesn’t care to know!


I think if this thread has any chance of still going somewhere useful it’s by responding to @sjrd’s actual question of “finding a good process for moderation, giving a framework to moderators to address isolated cases as well as larger problems”. Strengthening the moderator team with people from the community could be a part of that. But the premise that the community is held hostage, that technical critique and discussion is impossible, and that all moderators should retire from public life is not one that I, and I’m pretty sure many others, agree with. So perhaps we should keep to the actual on-topic discussion that at least has a chance of landing somewhere everyone can (at least partly) agree with.


I think it is important.

I do not think it is important.

It is not the first reason, and even not the second.

The main problem is misunderstanding what is good an what is bad. And it can be solved only with high qualification and trasparency. We must have a good tutorial of how to talk when you are in an oposite camp

For examle:

It may be not funny in oposite side.




In this thread, I’ve been trying to help people see other peoples perspective, by explaining how things came across to me, and how peoples inentions may have been good, but nevertheless come across differently.

That has resulted in me being called a liar who makes stuff up about people, a white knight gaslighting for EPFL and lightbend and their apparently nefarious agenda, my positions reduced to all I’m saying is “Oh man, I’m so exited to program in Scala!” and also shouting down anyone who says anything else.

Evidently, I’ve failed to explain how things came across to me to anyone but those who already agreed, and I’m getting insulted, smeared and my intentions questioned by those who don’t. That means that my participation in this discussion has only managed to be hurtful to me and others. I will not participate in it further.


Let me give a definition of white knight. A white knight is a man that do bad thing but he do not need to ask apologize. It is enough for him to blame others.

May be it is very difficult to see white knight in friendly environment.
But I think it very easy task when it becomes hot.


In celebration of reaching >100 posts, with an on-topic ratio of roughly 10%, i feel we should take all of our mutual celebratory energies and put them towards bringing this thread back on the topics @edmundnoble, @softinio, and @japgolly bring up in the context of the original discussion.

I completely agree with the 5 suggestions Edmund put forward, and I would like to also nominate @LukaJCB and @SystemFw because they are very nice people, as well as @hrhino, who has been helping with the compiler for a very long time. There are many people who are well-suited to the position who are not mentioned. I have poor memory, so those are the first few that come to mind.

However, in continuation of the rest of Edmund’s points, this thread is a perfect example of why the current moderator team needs to rotate - and perhaps that’s the best idea: to have a rotating moderatorship to prevent burnout and moral decay. The rest of the community clearly needs to de-escalate and find a way to express their inner turmoils in a more positive way. Maybe hack on dotty? Does that calm people? I don’t know. Skee ball maybe?

@adriaanm @SethTisue what do you think? Who would you elect to take your places?


The code of conduct is an elaborate exercise in pseudo-clarity. It has a lot of concepts that appear to make somehow sense in theory, but we will never agree on how it maps to real-life behavior. In addition, it is too long to remember and not even self-contained, referring to a number of other sources for additional details. We will only forever argue over how it applies to this or that case. We need something self-contained that is much shorter, clearer and narrower.

Some examples of lack of clarity:

  • “other such characteristics” - I have no idea what would be included here and what not

  • “unstructured critique” - I’m not really sure what exactly that is.

  • “If you have solid ideas you want to experiment with, make a fork and see how it works.” - How does this relate to conduct during a conversation?

  • “micro-aggressive behavior” - There are absolutely no clear guidelines about when a behavior is micro-aggressive. Micro-aggression is a great concept to study certain social dynamics, it has less value for creating practical guidelines.

  • “providing corrections that do not improve the conversation (sometimes referred to as “well actually”s)” - I don’t know what exactly it means for a correction to “improve the conversation”. I don’t see why it is bad to correct a wrong statement. Unless, of course, it is taken to extreme, but the code of conduct does not seem to cover only extreme cases.

  • “attention-stealing behaviour is not welcome” - I’m sorry, but what is attention-stealing?


It depends on context, for example in brainstorming there are some rules in the revision others.

For example if we know that it is not brainstorming we will use something like (in our corporative chat):

the indecators of bad critique it is focus on attracting attention:

  • you have written it in vain, nobody do\need so\it
  • it is imposible becuse it is imposible ))
  • It is bad because I think so
  • etc

The bad critique usually relies on evangelism marketing

the indecators of good critique:

  • I do not understand it, please help
  • If It were done so I would understand it more easily
  • If we redirect forces to that we will gain this because… (it will be better because)
  • etc

The good critique always consider available resources and target audience.


I think the question was about why you gave an overall impression of hostility. To quote @jducoeur’s original message:

Certainly I’ve seen plenty of messages from you in the past month, but I don’t recall precisely what, where, when.
one or two of your comments left me going, “Wow – that came across rather nasty”, enough so that that stuck with me a week or two later. I don’t recall what those comments were, or the details – I honestly didn’t care

Wait what? What have I done?! I don’t represent EPFL in any shape or form, especially not when I’m discussing these issues.

I get that it’s easier to lump me with “the EPFL folks” to make an ad hominem argument, but I am not related with the Scala lab, nor am I affiliated with the Scala center, nor Lightbend, etc. for that matter.

Anyway, I think we’ve grossly done out of topic so I’m going to stop this discussion here on my part.


I think any using of bad practices is micro-aggressive.

  • white knight
  • complains \ bad criticism
  • personal attack
  • etc

But it is important to distinguish

  • Someone does not have enough qualification
  • Someone has had a bad day
  • Or Someone is just plain lazy :))

Usually it is very easy to understand asking simple questions.
Do not need to argue. You should just make plain questions.(depends on bad practice)


It’s pretty disappointing that the discussion was allowed to go off-topic here, and turn in to litigating an incident in public and in-channel. To quote sections of the CoC, this all too often leads to unnecessary fights, where people become defensive, and this is more likely to result in hurt feelings, and damaged trust. Going over the case (or cases) could result in people understanding the events since people are generally eager to assume good intent and forgive, but more often people feel they need to argue that they were misinterpreted or unfairly accused. Now, this has even turned in to maligning the moderators and the CoC and calling for their replacement. We should do better.


May be It just means that it does not work. If something cannot be quoted why is it needed?


Cant agree with this more, and this is also the reason why the CoC tries to prevent discussion of such matters in public, especially when people are forced to (or feel like they need to be forced to); defend themselves.

Also while there may be a reason to replace the moderators, calling it out in the way it was done isn’t something that I would describe as constructive especially as it has resulted in the following

  • People getting frustrated/hurt/misinterpreted to such an extent that they have left the discussion
  • Ad-hominem/labelling, some of which was also outright wrong

I would ask people, in the nicest and most genuine way possible to actually think twice about the specifics of what they are writing. Its evident a lot of people here are venting/getting things off their chest, but there is a very real risk that this thread is either going to get completely derailed or everyone will get so agitated that it will just get closed.

I also wanted to provide my insights as to what happened last night, but I think at this point its just putting more fuel on the fire.


Just for fun :slight_smile:

Strategy for the iterated prisoner’s dilemma
Depending on the situation, a slightly better strategy can be “tit for tat with forgiveness”. When the opponent defects, on the next move, the player sometimes cooperates anyway, with a small probability (around 1–5%).

5% to forgive :))

And It is a best strategy.

The actual task of moderator is to make environment where cooperation is more profitable than competition

The prisoner’s dilemma is a standard example of a game analyzed in game theory that shows why two completely rational individuals might not cooperate, even if it appears that it is in their best interests to do so.


Moderating is a sticky business. Sorry, if you felt it was sloppy. Seems the moderation team has admitted as much in the footnote in the original post in this topic. Doesn’t seem out of the ordinary.
However, I don’t wish to discuss the case, so please avoid finding an opportunity to do so by cherry-picking my words, especially in light of my requesting, twice (and now a 3rd time), to have the discussion of the case be taken off the table.


I completely agree, and yet there are still problems.

  1. If moderation policy or implementation has problems and is hurting the community to some extent, how are we to detect this if the community can’t talk about it? Case studies can be very informative regarding the failure modes of a process that on the surface sounds quite nice.
  2. The Scala forums are not isolated from the rest of the world. People are going to talk anyway. There are powerful platforms that selectively amplify misinformation. Therefore, I think it’s unclear that saying nothing is the best policy.
  3. Moderation hopefully will deter problematic behavior, but if it’s not clear what the problem was it’s hard for users to adjust their behavior. You can get both kinds of errors here: paranoid users who curtail their behavior and/or participation in unnecessary ways (e.g. leaving the community entirely), and brash users who each make the same mistake and each have to be independently privately moderated. Note that you can’t fix this by just updating the moderation examples to include a recent example, because then basically everyone knows what the moderators think the moderated has done wrong (loss of privacy) but the moderated has no recourse (can’t discuss individual cases).

So while I am rather dismayed by some of the posts in this thread–I could be a lot more dismayed, though, so it’s not that bad!–I am not sure that blanket “not discussing specifics” is a desirable policy overall.

What do you think? (What do other people think?)

:+1: :+1: