Meta-discussion on keeping topics here focused and amicable

Given that principle, when inappropriately applied, gave us the mess that was the HTML non-standards, it might not be the best example :slight_smile:

It’s also not terribly relevant, as the issue was not that one person said something that could be considered inappropriate - it’s that the post was countersigned in the form of likes by so many people. Mistakes happen, and that’s ok. When someone makes a mistake, and a large number of participants agree with that mistake, it’s an indication of a more systemic issue.

I’m truly glad that this was the case for you. This has not been the case universally, and I’ve personally run into situations where the “why don’t you just …” was infeasible without knowledge that would have required digging about in the compiler internals to access. Also undocumented but clarified later, was that it was never intended as a genuine suggestion, it was a way to say, “we’re not doing this, discussion over”, without actually having to come out and say that.

More generally, there’s been a strong thread of victim blaming in this thread. When the newcomer points out that the community is not nearly as welcoming as the CoC promises, and is downright hostile at times, “ur doing it wrong” is not a constructive response, no matter how prettily it’s phrased.

That out of the way, I haven’t be participating in this thread as much as I’d like because I’ve got a nasty head cold, and dealing with this and a headache is more than I’m up to an the moment. I’m going to go back to bed for a couple hours, so lag in responses is not due to intentional rudeness, I’m simply not going to see them.


Everyone comes to this forum, or any forum, the same: a stranger. Nobody has any preconceived notions of you, or knows who you are, for better or worse.

What people think of you is entirely self-created: by the content of your posts, your choice of words, the attitude you show, and your actions. @eyalroth has certainly made an impression on people here; not everyone may speak up, but everyone observes.

@jducoeur, @Ichoran, @odersky, and others are among the kindest, most patient people you will find in any online community. If these folks are telling you that you are doing something wrong, it’s worth a listen.

Lastly, when receiving feedback, the correct thing to do is to thank the person providing feedback, accept it, and think about how you can make use of it. That is all. Getting into arguments with those providing feedback is the absolute worst thing you can do; this is especially true if the feedback is that you are too argumentative!


FWIW, although I agree that this is good advice in general, I am always open to argument. Issues worth talking about at all are usually complex, and there are many ways to make errors, and many ways in which points can be incomplete in important ways.

I am, time permitting, always happy to dig into such things more deeply so long as the discussion has reasonable potential to be productive.

1 Like

Yes, right, it is a more systemic issue.

The question is: what is the systemic issue?

This is a fair point. The CoC is a little too rosy in its proclamation of “friendly, safe, and welcoming environment for all”. In particular, it isn’t intended to promise that this will remain true forever regardless of your behavior. (You can tell that it isn’t intended to promise that because people can be banned, which is absolutely not welcoming.)

So, being a little more realistic, the idea of the CoC is to promote friendliness, safety, and the welcoming of new participants. It’s also there to catch and clean up messes if behavior gets too hostile or inappropriate on any side. But there remains considerable latitude for people to be people, as there must be if the forum isn’t to end up as an immense mess of enforcement actions without anyone actually discussing programming.

Now it’s entirely true that the community could and should be more welcoming, but we need to set realistic expectations.

The overall goal should be a positive environment for interaction for everyone. If someone is rubbing other the wrong way a lot, that isn’t meeting the goal. If people are then unpleasant back, that’s also not meeting the goal.

In order to have more beneficial outcomes for everyone, there is a better strategy than waiting until people erupt in frustration and then trying to solve everything with moderation actions.

That is, you talk to the person whose interactions seem to not be received well, and see if you and they can figure out a way to structure their interactions in a way that more people benefit from. You may also need to talk to the people who are responding inappropriately, to try to get them to deliver feedback in a more constructive way.

But I categorically disagree that it is “victim blaming” to try to help people understand why they seem to have aroused an atypical amount of ire, and to offer suggestions to make them and the rest of the community be better able to take advantage of what the other has to offer.


(I’m going to treat this as off-topic and/or a topic for another thread, but I do just want to register that this was not how I interpreted the interaction. The issue at hand was what type of solution should be sought, not a simple “go away without saying so”. One could expand this into a discussion of amicability and the importance of clarity, but I’d rather not right now.)

This goes the same for you, and I believe you’re failing to acknowledge that. It really seem odd to me that you’re giving me this kind of feedback when you never bothered to correct me or help me understand how my arguments are wrong.

In fact, the first and only time you ever responded to me directly was on my first thread here. That thread wasn’t particularly long, and I remember the comments being quite polite and welcoming, even though many did not share my views; that is, except for your response, which was borderline insulting (“i don’t think anyone can help you lol”). I remember interpreting your response as a slightly more polite way of saying “well, that’s your problem. git gud”.

You’re basically saying “you’re in the wrong, and since that wrong is that you argue too much, don’t bother trying to argue that you’re not wrong”. This is a tautological argument that further demonstrates how incapable you are of receiving feedback. I have acknowledged my wrongs in here and I will try working on them, but that doesn’t mean you’re not in the wrong either; again, communication goes both ways.

I don’t really like commenting on what I think about individuals in public, but since you brought these individuals up as support for your arguments, I’ll respond.

Being polite when mutual respect is already established and there’s a strong basis for agreement on various topics, is not really a brainer in my opinion. What I value more is being able to stay polite even when these are absent.

I think me and @jducoeur have a lot of disagreements and we often find each other overly argumentative and missing each others’ points, but that is no crime. I would never condemn him for this.

I believe that @odersky has over time found my arguments irrelevant and stopped responding to them (that is mostly apparent to me in the discussions regarding implicits). That is unfortunate for me, especially considering that I highly value his opinion and intellect, and since he is one of the core contributes of this language. But that is no crime, and there’s no reason for me to condemn him for this.

Given that I would not consider condemning them in public, especially not in a case in which they have been targeted by behavior that violates the CoC, I find it a bit offensive that they do not share this same ethical code as I do.

I’m not sure why you brought @Ichoran into your argument. I don’t see him supporting your arguments (at least not publicly). I find him behaving in an extremely welcoming manner, being mostly open for interesting discussions, and able to remain fairly patient with my argumentative tone (which I acknowledge as my fault).


[Not directed to any particular individual]

Whilst I think that giving feedback on individual behaviour can be helpful for them, I encourage that such feedback be given directly to the individual in private. Of course, I also recommend that such feedback be framed in a positive manner - that is just common courtesy.



I think it is a very good advice in general.
When you are in different camps, it is helpful just to stop in time.
If you have tasted a dish in a restaurant and you dislike it. Will it be helpful if a cook says you that it is very delicious and you must eat it again.
The interesting question is who should stop first. if someone cannot just stop(because it is a personal question) he always can say something like:

  • I disagree with you argumentation it seems destructive we can discuss it privately if you like.

After all it is not very good to have long tit-for-tat debates with mirror negative argumentation.

I couldn’t agree more, and I find it extremely unwelcoming to receive such feedback in here publicly, and what’s more is that this feedback is responded positively (“liked”) by moderators and core community members.

I think it would be helpful to have a list of bad practice in COC which someone can give a link to to stop tit-for-tat debates without losing his face.

1 Like

Wellllll the last thing we talked about outside here was Rust’s error handling with ?, which you didn’t read carefully enough to map to Scala constructs correctly the first time, nor did you seem to understand the (lack of) limitations of the Scala features well enough in order to understand how they could be used to implement the Rust scheme–though to your credit you did pretty much invent the right solution on your own after having missed reading about it.

Edit: Eyal has pointed out that he did understand the Rust implementation; the problem was entirely in importing Rust limitations into Scala.

We did figure it out with a little more back-and-forth, so it turned out well in the end, but I wouldn’t say the initial ratio of reading-about-X to writing-about-X was ideal.

Edit: maybe it was the thinking-to-writing ratio that was the issue.

This entire response was unproductive and illustrated nothing but that perhaps it’s too hard to take advice in public.

But that is a very fair point.

I also agree, at least in practice in this particular case.

The discussion isn’t staying on general principles, and the delivery and acceptance of individual advice isn’t sufficiently harmonious to seem on balance better than not.

Inasmuch as people have posted general or generalizable advice here, I think it’s been quite good advice. But picking out the pearls is tiring work, especially for someone who isn’t directly involved but might benefit from thinking more deeply about how to be welcoming and/or how to be respectful of others’ time and expertise.

So I move that we just stop.

1 Like

As has been pointed out, this cuts both ways. You may have sufficient experience to assert that, in their interactions with you, they’re some of the nicest people you’ve met online, but your experience does not invalidate mine. That they’re nice to you doesn’t mean that they can’t be dismissive or hostile to me. Your experience is valid to you, but please understand that interpersonal history doesn’t generalize like that.

I’m not sure if you’ve noticed, but this thread has been neatly diverted from the issues raised by @eyalroth and myself to a pile-on of finger pointing about what we may have done to “deserve” this treatment. That’s the whole point of victim blaming: diverting the conversation to shield those who would rather not address the issues being raised. Advice which, if proffered privately, may be helpful or instructive can easily become victim blaming when done publicly, en mass, and in a way which serves to distract from the issues being raised.

If you’d like to read more, this comment is the end of the mini-thread which leads me to this understanding, and has a decent summary and links to the relevant comments by @smarter as to what they meant. I considered this on-topic as it’s a prime example of a situation where I got repeatedly verbally smacked down for not taking a hint I had no realistic way of getting because it was in extremely coded language.

I’d appreciate getting some actual closure before we end this thread. There are some pretty deep issues that have been raised and brushed off in favor of the finger pointing at the people raising them, and they really need addressed if this community is to survive as anything other than a closed echo-chamber.


  1. Moderation of violations of the published norms (CoC) is currently handled by the moderators on a long-term basis, through private channels, when it’s handled at all.

    It’s opaque, and provides no relief to those targeted. This erodes the faith which targeted people have in the moderators.

  2. Moderation of violations of the unpublished norms is currently handled by a community-driven smackdowns in very public channels, with either the implied or explicit consent and approval of the moderators.

    Notably, they are visibly more engaged in policing argumentative tone than things which come close to actually violating the CoC. This further erodes trust in them, and creates the perception of a “Good Ol’ Boys” culture where if you are a member of this inner circle, you can be as combative as you’d like and you might get called on it in private a few months down the road, but if you’re outside of that circle you’re open season for a community-wide pile-on if you violate the unpublished norms.

It’s not quite there yet, but we’re edging into “rules for thee, but not for me” territory, which is difficult to come back from if an open community is desired. If an open community is not what is wanted, closing these forums to anyone who hasn’t submitted a PR against the compiler or standard library may be warranted. Any time input from the user community is desired, it could be solicited in the Users forum. It’d be less open, but the post count would stay down, and it’d be clear what level of interaction is wanted from those of us who fall between users and contributors, and to what degree our input can be expected to be taken seriously (which is another issue, for another day).


Anyone here ever watch lawyer movies and tv shows? You know how when one side gets a request for information and instead of just sending over the one relevant piece of paper, they send over boxes and boxes of documents? They do that because it’s legal, and because they know that lots and lots and lots of information is very tiring to sift though and overwhelms the other side.

It’s a bit like that here (although the intentions are obviously different). @eyalroth’s very large, very frequent posts overwhelm me. I barely check these forums anymore because the cost to me to read through it all is too high, and the value I get back for my time is so low. I 1000% believe that @eyalroth is acting in good faith and genuinly wants to contribute and make Scala better for all of us, but both coming from such very different angles combined with the communication style, whilst not violating the CoC (just like those lawyers aren’t breaking the law), is undeniably having a negative side-effect. Maybe we can just ask in equal good faith that anyone who likes to Post Big and Post Often try to improve the signal-to-noise ratio, take a bit more time to be concise, argue the 80% and let the less valuable 20% go until later, things like that. @eyalroth currently falls in that bucket for now but it’s not personal and future posters with the same tendencies could be politely and privately be asked to do the same.

As for everyone else, maybe we be more cafeful to keep jokes and flippancy away from disagreements. If everyone’s on the same page: go for it; otherwise people legitamately feel attacked, mocked or belittled.

That’s my 2c. If there’s a different perspective on what I’ve said that’s offensive, dismissive or whatever, I’m sorry and I promise you it’s not intentional. I won’t be replying to any follow up responses positive or negative cos I’ve been that guy before and despite my good intentions, things tend to just get worse over the internet. Remember though, this stuff isn’t life or death. No one’s banned. It’s nice outside. Good luck flawed-as-were-all-human but lovely Scala community.


Okay, fine. I’ll have a go. I’m not in charge of such things, so this is obviously just my perspective. Let’s address the issues.

Yes, the CoC is not being implemented exactly as written. Maybe we should be more explicit for people who would be helped by an explicit codification of how human societies tend to work. But I think probably not, as described below.

Initially, nobody knows who anybody is. That’s when you get the welcoming treatment. But after that, you are known, far more than by anything else, by your interactions. The idea is still for everyone to be on good behavior. But you don’t even want everyone, in an ideal case, to be continually welcomed and to feel safe regardless of what they do. Somehow or other we’ve got to set a standard for delivering positive productive interactions.

One way to try for this is to codify everything and invoke moderation when the codes aren’t followed. At least for most people, this feels oppressive, onerous, inhibiting, and frustrating. It’s hard to be open and helpful when you feel like you’re constantly being watched for violating the letter of some hard-to-remember rule or other that was intended to but doesn’t actually quite match how people normally operate when polite.

The other way is to let the group self-organize in the way that human societies tend to do, where in addition to a few explicit rules there are a ton of implicit ones, like be extra-nice to the people of high standing, avoid losing face or making others lose face, say thank you when helped, praise high-value contributions, don’t act entitled to others’ help unless you’ve earned it, be extra-nice when you’re new to emphasize that you’re a desirable group-member, etc. etc., tweaked by the ethos of the particular group. Now, assuming you’ve learned this stuff in face-to-face interactions, you get to utilize a huge set of already-trained behaviors without need for explicit and oppressive-feeling rules. But even when prominent people display near-ideal model behavior, this has some pretty ugly failure modes, so you add a CoC or moderation to try only to catch that, and to ward off some very natural but very undesirable types of behavior like various forms of aggressive tribalism.

So you have moderators in charge of enforcing the CoC, but also somewhat responsible for trying to avoid having things end up as CoC violations, so that most of the time interactions are in the more-pleasant-to-most “human society” regime.

There is a bit of a gray area as to where the boundary between stated and unstated norms should be, admittedly. Also, some people work better feeling things out, and others work better following explicit rules, so we can’t expect one scheme that is ideal for everyone; it’s a balancing act.

To some extent, that’s exactly what one should want. After all, an argumentative tone does generally not make onlookers feel safe and welcomed.

But of course it can be selectively applied to end up with

which is dysfunctional.

It’s a genuinely tough problem. Human behavior is much better tuned for a rather different situation: face-to-face, cohesive-small-groups, low-turnover-of-people. And honestly, even within that situation, it can be pretty cruel despite being effective.

So, anyway, while I recognize that there are definite potential problems (e.g. Good-Old-Boys’-club) and that we should be on the lookout for them, I don’t think that’s what’s actually happening to a substantial extent. (To a minor extent you actually do want this in practice, because a group doesn’t do well if it’s constantly ejecting those members that are most valuable to the group, so ideally there should be a bit more tolerance of prominent people not behaving ideally–not because they should behave badly, but because it’s more worth the effort to get them to be nice, because if they’re not the group loses either way.)

The opacity causes problems. It’s hard to argue with that.

(I’m not sure whether the “targeted people” you speak of are the ones who were the victims of behavior that violated the CoC, or the ones who engaged in the behavior that violated the CoC?)

On the other hand, CoC violations have awfully serious consequences, potentially, leading to the accused wanting to defend themselves vigorously. And this gets very acrimonious very quickly, as we’ve seen in the past.

So transparency also has problems.

But I do fully agree that it’s not reasonable to have completely different ways to handle published and unpublished norms. If something is amiss and action of some sort is needed, one should either have an expectation of privacy or not.

However, I don’t think it’s reasonable to expect that people will never comment about characteristic traits that they find annoying in others. It serves a purpose to have something like that in public, too, which is if N people notice it and one writes about it in public, the other N-1 know that they don’t need to act. If it’s private, how do you know whether to tell the person about the problem, or if the 15th repetition of “format your code” is going to make them feel immensely put-upon?

As always, it can be overdone. Public pile-ons are uncomfortable and exceedingly unwelcoming for the target (but I guess it probably “provides relief” to those who felt burdened by the target’s actions). On the other hand, a public “Can you tell us your overall goal, and what you’ve tried and why it doesn’t work?” is probably a good thing in response to “can anyone tell me, how to select and join in scala???”

It’s all balancing acts, all the way down. I’m not sure, from your comments, that you appreciate this.

I already did read that, as evidenced by me making a comment about it at the time. As I said, I have a different impression from you. I’d rather leave it at that. I’m happy to discuss it in private, but I don’t think it’s terribly relevant to this conversation because I don’t think it shows what you think it shows.


I want to be clear before I start responding to the points that you’re raising that I really appreciate getting back on topic. Thank you.

My issue is not so much that the CoC is not being implemented as written or with anything in particular encoded in the CoC. My issue is that, in my experience, it’s being implemented unevenly. I’ve seen posts from those members who enjoy a cosy relationship with the moderators pass without comment, despite being as argumentative as anything I’ve ever posted. The thread about @infix is a decent example, as quite a few of the library authors advocated quite loudly for the position that the application programmers simply can’t be trusted with deciding on style of all things. Perhaps they didn’t mean to be insulting, but even a charitable reading of that position is that it’s deeply condescending, and the way it was laid out was certainly highly argumentative.

While this is true to an extent, the enforcement of this has been at best uneven (see above). I certainly don’t mind a, “hold up, it’s time for everyone to calm down”, as that addresses the problem. It becomes irksome when a group of people get into it and moderator disapproval comes down only on the newer folks, despite everyone having gotten a bit heated. The behavior of the older forum members is excused as situational, while identical behavior on the part of newer forum members is treated as intrinsic.

Unfortunately part of the problem is that, when you’re inside the club it can be difficult to recognize the protection you’re being extended. I’m a white guy who lives in the USA, I’m speaking from experience on this one.

I’ve attempted to use consistent vocabulary (except where I’ve messed up). In this case and generally, “targeted people” refers to those who have been on the receiving end of behavior which breaks or skirts the edges of the CoC.

Incidentally, rudeness directed towards the newer folks also leads to the desire to defend oneself, which attracts moderator attention for argumentativeness. This has happened to me personally at least once that readily comes to mind, so it’s probably happened other times as well. This is not to imply I’m blameless, I advocate for positions I believe in and over the years have gotten vastly better at identifying when I’m getting heated, but I’m not perfect by any means.

A request for a poster to show their work, or a gentle redirect to Stack Overflow or the Users’ Forum when appropriate, can be useful feedback, and aren’t the sort of things I’m referring to. I hope we can agree that they’re in a separate class from “I wish we had a downvote” or a churched-up RTFM.

I do appreciate it’s a balancing act. What I don’t particularly agree with is that there’s no room for improvement, or that the balance is particularly just at the moment. Unfortunately, the replies on this thread seem to indicate the prevailing opinion is that all is well, and there’s a general unwillingness to entertain the idea that this might not be the case (speaking of the general vibe, and not of any particular person’s opinion or position).

Fair enough. No disrespect to your memory was intended or implied - I provided the link because it was literally months ago, and digging it up took about 10 minutes (I ended up having to use Google to search the site, the built-in search couldn’t find it), so I thought there was a decent chance the context of that discussion had been lost.

1 Like

I think the most of members can agree in the forum that it is good

  • to have more transparent and predictable moderation
  • to have some tutorial which can help to prevent discussing the same questions again and again.

May be it is a matter of scale and capability maturity model.

Actually it does not matter what we want if we have not enough resources for example.

That’s not my impression of what happened. As far as I remember, the only substantive deviation from “vigorous debate” into something more hostile came from you, and even that wasn’t that big of a deviation.

(And recall that, like you, I think that @infix is a horrible idea. And I agree that the line of argumentation you were responding to was frustrating and insufficiently responsive to points that were being made.)

You’ll need to find another example. I’m happy to explain in private why the behaviors illustrated in that particular thread (I assume you mean The @infix Annotation) fall into various different categories, and why some are more okay than others.

Indeed. This is why I strive to avoid rudeness, while still maintaining very low tolerance for sloppy thinking and bad ideas.

I think there’s room for improvement, but I think the charges being leveled at the existing state of affairs are overblown. I don’t doubt anyone’s claims about how they feel about things, but there are practical limits to how much we can cater to different reactions to the same events.

I understand why you chose this analogue, and take no offense in it; however, I think a more accurate one would be a company. In both cases there are independent individuals, core “contributors”, and management; there are written and unwritten codes; there are arguments and disagreements between people, respect and contempt, fondness and disdain, and so forth.

In my personal view, the behavior that was demonstrated in this thread does not apply to how people normally operate when polite (despite using polite wording), nor does it apply to how these manners are being handled in companies (at least in my experience); but let me try and be constructive and offer potential suggestions on how to improve this:

  1. Update the about and faq pages to provide information on how to contact the moderators – in particular, mention the possibility to send them a private message on this platform. This is a minor improvement; I’m suggesting it as I did miss this option at first.

  2. Respond (privately) to flagged posts, even when a decision has yet to be made regarding the complaint (as happened in this case). Following the company analogy, one who complains to a manager will often be replied at the very least that the matter is being examined.

  3. Allow people to privately provide feedback on a particular individual they find problematic (yet not violating the CoC) to the moderators. When enough feedback has been accumulated, moderators can approach said individual in private and reflect this feedback in a civilized manner. In my personal experience, this is usually how this is handled in companies, but I understand that it may not be appropriate for open communities, and I understand the high cost that this requires.

  4. Do not criticize individuals in public. This goes especially for moderators and core members, as their impact is larger, and can easily lead to further (unjust) retaliation by other members. The exception to this is when individuals violate the CoC, in which case it is crucial to condemn the violation in public, in order to show to all parties that such behavior is discouraged. This doesn’t necessarily mean referring to specific individuals, nor does it necessarily require further punishment (such as banning).

Again, these are suggestions, not demands, and one may very well dispute their effectiveness.

I’m not sure what exactly do you mean by “low tolerance”, but I believe that this relates to the very essence of why some people find this community unwelcoming. What one considers as sloppy thinking and bad ideas is often open to interpretation.

As an example and as we’ve discussed in private, in the case of the ? operator you’ve interpreted my comments as a lack of understanding of Rust’s documentation, despite the fact that I did understand it correctly. I believe none of us is to blame for this misunderstanding; I believe that such misinterpretations are inevitable between people of different backgrounds, different points of view, lack of familiarity with each other, etc.

Those misinterpretations often lead to more posts, “tit-for-tat” discussions, and feelings of argumentativeness on both sides. I’m not excusing my past behavior, as there are definitely things I should improve on. However, I do believe that the bigger this community gets the larger the “signal to noise” ratio will be, as more strangers with different opinions will chip in.

The question is how to handle this problem. When this is handled by disrespecting each other, handing out public feedback and failing to acknowledge that this problem is symmetric, that gives the sense of an unwelcoming community.

1 Like

Those suggestions all sound good to me! I don’t know if the implementation is feasible (the first certainly is), but I think it’s quite likely an improvement.

I mean that try to I use sufficient evidence and valid argumentation to dispute the point rather than letting it slide, while recognizing that there are many cases where differing opinions are not resolvable as matters of fact.

Of course there can be mistakes made, and one always has to recognize that some differences of opinion are based on subjective preference that cannot really be argued either way.

Yes, that’s true. I misunderstood what you misunderstood, and the misidentification of what it was that you misunderstood (it wasn’t the Rust feature as used in Rust) probably slowed things down, and certainly made using it as an example more problematic, as it didn’t properly support the point I was trying to make.

I don’t think that’s right. The signal is larger. But generally, the larger and more diverse the group is, the worse the signal-to-noise ratio is. When you have a small tight-knit group, many things can go without saying. Everyone knows what everyone else wants as signal and what they consider noise.

The advantage is not in SNR, but just in raw signal. If you have enough capacity to work through the noise, and you’re signal-limited, the latter is all you care about. In most situations it’s a balance, and the goal is to get more signal without adding too much more noise (even if the SNR goes down a little).

Yes, this is a very good point. The CoC makes a similar point, and it is well worth returning to it over and over again. Disrespectful actions are inherently unwelcoming, and we should try very hard to find other more constructive ways to deal with any displeasure we might have.


Aha! That is exactly what I meant, I was just using the wrong relative direction (should have been smaller, or worse) :slight_smile:

1 Like