Meta-discussion on keeping topics here focused and amicable

It seems that (some of) this community doesn’t adhere to the ideas expressed in this talk, and does the exact opposite by “communicating (very) poorly”. As an example, a discussion about checked exceptions has been posted recently, and the “poorly communicated” comments did not take long to follow:

These comments clearly violate Scala’s code of conduct, by insulting the author, making fun of the topic, and providing completely unstructured criticism. If one does not like an idea they should either explain why, or ignore it.

I find it absurd that some of those who responded positively to these comments have also responded positively to this talk.

I’m not trying to point fingers at anyone. I’m trying to raise up the issue that this community can often appear hostile towards outsiders, and that doesn’t seem to be addressed by the moderators (those comments were flagged). This is a crucial problem that will hurt Scala’s popularity in the long run.

Also, the idea of negative reactions (as mentioned in one of those comments) is probably not a good one. It has long been an issue on sites such as SO, and they have recently acknowledged this issue:

People who need help with coding problems feel attacked when their questions are closed or downvoted…

It’s simply not enough to ask people to be nice or change their behavior when the software that underlies everyone’s interactions doesn’t facilitate this.

2 Likes

Sorry my humor was mean. I’ll own up to that and delete the remark.

4 Likes

(All of the below strictly my personal opinions.)

So on the one hand, these are fair points. We need to avoid flaming and insults.

But seriously: you’ve been quite argumentative, on both of the Scala forums. In recent months, I suspect you’ve been the most vocal poster, usually because of deep tit-for-tat debates on a number of different topics. (At least, that’s certainly my anecdotal impression.)

You present an impression of not actually liking the Scala language all that much, in the way that you keep apparently arguing, in various ways, that it should be more like Java. (The thing about Checked Exceptions being a particularly clear case in point.) Many of us came to Scala precisely because we dislike Java, so these posts are kind of wearing. And you keep arguing against popular and long-discussed language proposals (eg, Opaque Types), at enormous length, despite admitting that you don’t know the language all that deeply and don’t fully understand the implications.

As a regular reader of these communities, I have to say: it’s exhausting. I’ve gotten to the point of simply deleting the notifications of most of your posts, because they’ve been making me cranky – I’ve started writing intemperate replies to your posts and deleted them many times. It feels to me like you are standing there yelling at the Scala community; that’s tiring.

None of which is to say “go away”. But I wish you’d take what other folks are saying more seriously, and try to really consider that they may know what they’re talking about, instead of going a dozen messages deep into back-and-forth argument. I’d suggest that you ask more questions, and take fewer apparently-intransigent stands. I think you’d get fewer negative reactions.

Again – this is strictly IMO. Take or leave as you will…

13 Likes

I am sorry to hear you feel this way, I really do. Being active on the forums is my way of caring about Scala; otherwise I wouldn’t be commenting at all. I most definitely like Scala – take a look a few comments up where I list the unique combination of features that it provides – and would greatly prefer it over Java any day of the week.

Being argumentative doesn’t mean I don’t like Scala. It doesn’t mean I don’t respect the work and ideas of others here. It simply means that I see things differently, and often I try and explain how and why. I try not to show disapproval without reason, nor do I mock others’ opinions.

I obviously need to be working on my arguments and commenting style, as I see how it is taken negatively and often interpreted in ways I didn’t intend to – for instance, I’m certainly not against opaques, I just like them to have a different syntax (which I haven’t seen being discussed before).

Perhaps I’m asking a lot of questions that have been discussed before, because there’s not always public trace or records of these discussions. As long as this visibility doesn’t exist, it won’t be surprising for those not involved in the internal processes to ask questions.

As for checked exceptions, you can see in the proposal’s thread that there has been progress in a completely different direction, thanks to someone who actually bothered replying seriously and not just mock the idea.

Regardless of the particular affairs surrounding me, this is the most important thing that needs to be concluded here. I’m afraid this is not the first time nor is it the last in which newcomers arrive and question past decisions, or argue vigorously over new ones. This is just the nature of things.

We need to deal with that. We need to learn to either respond clearly to newcomers’ arguments, or if we don’t find the effort worthwhile, politely ignore them. Never insult, never make jokes, never dismiss an idea without an explanation.

It goes without saying that newcomers should uphold to the CoC as well, an if they do not, then they should be dealt with like any other member who doesn’t – reporting them. They should not be actively retaliated by the community, as this only feeds further negative behavior.

It’s ok, apology accepted. This ain’t my first day on the internet.

2 Likes

@eyalroth I’ll chip in that I fully empathise with @jducoeur. Being excessively argumentative is extremely tiring to read, regardless of who is right or wrong or whose views I am more closely aligned with, and I too largely ignore most of your posts. I’m honestly surprised others stick around as much as they did, as they clearly have much more patience than I do.

Honestly if it appears that “the community” is hostile to you, it might be worth considering alternate explanations: perhaps your style of posting is driving people to frustration. Perhaps sometimes you are not accepting that sometimes you are mistaken, and excessively argue things from factually incorrect positions. Or perhaps you are finding personal offence and insult in the lighthearted humour that others are offering.

Meet one hostile person and you’ve met one hostile person; but if everyone you meet is hostile, that’s definitely time for introspection

5 Likes

I agree with both @lihaoyi and @jducoeur. I wish we could find ways to rate limit posts that get no serious follow up, or that end in tit-for-tat debates. It’s having a bad effect on the intended role of these forums. I have generally tried to follow all posts but had to start skipping some discussions recently because there were too many posts. So, please everyone, and in particular @eyalroth: if you are not a core contributor you are still encouraged to post here. But if you get no positive feedback from contributors please don’t go on endlessly, it’s just adding to the noise.

9 Likes

Could you clarify the intended role of these forums? It sounds like I may have badly misunderstood this, and all I could find on the subject was this rather terse blurb in the “About” page:

About Scala Contributors

Meeting place to discuss any Scala-related issue.

On a related note: if I have a question which I suspect may require a bit of back and forth before there’s enough clarity to get to an answer, where would it be appropriate to ask this sort of question?

3 Likes

The characterization on scala-lang.org is a good one, IMO:

SCALA USERS

for general Scala questions, discussion and library announcements.

SCALA CONTRIBUTORS

for Scala contributions, language evolution discussions, standard library, Scala platform evolution discussions and more.


This still gives a wide range of possible topics on Scala Contributors and this is a good thing. So, let me restrict my earlier remark to topics marked SIP proposal. Here I believe it is very important to stay focussed on the actual proposal. We want both suggestions for improvements and critiques, of the whole proposal as well as some of the details. This is essential to make Scala 3 the best possible language we can achieve. But recently I have seen several such threads deviate into side-channel discussons. That’s not helpful, because it discourages further serious engagement and consideration. An example of a thread that has held up really well so far, and consequently adds a lot of value, is the Exports thread.

If you want to propose and discuss something quite different from the original SIP proposal, that’s OK as well. But it should go into its own thread.

3 Likes

Having Reddit/hacker news style threaded discussions would help. Tit-for-tat debates would end up in their own threads not mixing with the rest and can be collapsed by the reader when they get tiring.

That would also enable ordering other than chronological, e.g. by upvotes.

5 Likes

This forum allows for admins to spin of discussions into their own thread. I would support that feature being used more liberally, including this meta discussion we are having right now.

5 Likes

@odersky I did not expect this kind of response. Let me explain why that is, and how it looks from my point of view.

I first learned Scala 4 years ago. It didn’t take long for me to enjoy it – it really is a wonderful language. Like pretty much anything in existence, Scala is not perfect, and that’s perfectly fine. Over time I felt that I’m gaining enough experience to start forming opinions regarding certain aspects that I see as imperfections that can be perfected.

So I came to these forums, in an attempt to improve the language wherever I deem it possible. I post and comment a lot largely because I often find something relevant to the discussions that in my view can improve the end result. I also do it because I enjoy discussions these topics, as I find them interesting and intriguing.

It may seem to some that I’m being negative and argumentative for the most part, and they may feel discouraged to respond to me. I have no doubt that this is something I need to be working on. And yes, I sometimes make mistakes, and I try my best to acknowledge them. However, there are still others who keep engaging in conversation with me, sometimes replying positively and reaching to an agreement. All in all, I do get positive feedback, and placing all the blame on me feels like running away from responsibility.

A big part of my involvement was in discussions with largely diverging opinions, in which many others have agreed with me or shared similar thoughts; whether it is the case of implicits, the case of “open” classes, or the unexplained dropping of delayed-init.

It is one thing to disagree with these opinions and ignore them without giving others more chance to change those decisions. It’s quite understandable actually, as the core team doesn’t have all the time in the world. It is an entirely different thing to dismiss those opinions – which may seem irrelevant and sidetracking to you but not to others – and tell others to stop expressing them. That is silencing.

What’s more, this comes as a direct response to events in which the CoC was clearly violated. Not only that the violation wasn’t handled nor condemned, but rather it is implicitly encouraged as the criticism is eventually directed towards those who suffered from the violation.

We do not have to agree on things or see them in the same way, but this behavior is definitely not what I was expecting for from an open community. Take this as you will, but I really believe this will hurt Scala’s popularity at large, seeing how its core community can come across as intolerant and hostile towards those with different opinions.

1 Like

There’s some sort of kerfuffle over in the typelevel gitter room.

I don’t understand the context, but I immediately understood why people say the community is dysfunctional.

Open Source demands openness. A high bar is required to impede free exchange.

The alternative is moderated forums and peer-reviewed journals, which have their place, sometimes behind a pay wall.

That’s why I apologized for suggesting that I could only consider checked exceptions during happy hour. At my day job, my Java friend likes to have @throws doc for unchecked exceptions, so that his IDE tracks all the throwing. This is not my style at all. The joking friction between ichoran and tpolecat was very helpful to me, as a model for not taking disagreement too seriously. The only thing that counts is working code. Another model was Siskel and Ebert, whom I watched religiously on the public station from Long Island.

I see that you also objected to my reading of FP + OOP as “friendly people and odd old professors.” There I must draw a line. I’m sure Wadler in his supersuit would not object to my characterization; and Odersky, who is my age and patently neither odd nor old, would embrace the comparison.

I must run now for choir. I sympathize with your concerns and sensitivities; I joined the local choir only for that reason, they make fun of me only sometimes.

5 Likes

A post was merged into an existing topic: What can make scala more popular?

In terms of post volume, it’s worth noting that over the past month, with 116 comments you have the same amount of comments as the 2nd, 3rd and 4th most prolific commenters together, per https://contributors.scala-lang.org/u?order=post_count&period=monthly

I didn’t take your joke personally, nor do I believe that it was made in bad taste. I’ve gotten familiar with your sense of humor, and I’ve seen your other non-humoristic comments. I take you as an intelligent person with a good-intent nature.

However, this can be seen as an invitation for further jokes and plain non-constructive negative comments, which really serve nothing, and are only disrespecting and demeaning. Take Reddit for example; it is often considered extremely hostile (depends on the sub obviously), and I’d wager it’s largely due to these norms.

I’ve been in such groups in the past, when I was a teenager on gaming forums. We made sarcastic jokes at each other all the time. It was a pretty toxic environment for outsiders, and you’d only chip in if you enjoyed this type of behavior. But we were kids, and we had no real responsibility of being open and inclusive.

1 Like

For whatever it’s worth, @eyalroth’s post count is far less unusual when you expand that range to the last quarter, and my own post count is probably artificially low, as recent interactions have left me with the impression that my input is not particularly welcome here.

I’m not interested in revisiting the reasons for this impression, only noting that between the number 2 poster by volume on that list tending to keep silent more often than not over the last month or so, and a month being a very short time period for this sort of metric, the impression given by the post count list isn’t necessarily a useful indicator one way or the other of anything in particular.

1 Like

Hi Martin,

I’m a Scala user who would like to provide feedback (time permitting) on the Scala 3.

However, other that giving feedback, I don’t really have any plan of directly contributing to the development of the language, because I unfortunately don’t have the time to gain the necessary expertise, hence I don’t really fit into the contributor category.

Where do you think is the most appropriate place to provide this feedback (assuming that such feedback is desired)? Are the Scala contributors threads really the right place? Or should there be separate threads under Scala Users or Scala contributors for commenting on different aspects of Scala 3.

Regards,
Rob

3 Likes

At the Presbyterian Church, which also wonders what can make it more popular, there was a discussion with the pastor about using inclusive language.

Some people object to changing hymns and prayers they’ve known since childhood.

I was like, you people don’t use wafers and a chalice at communion, and you’re arguing over pronouns?

Community is not easy. One of my favorite books is Nancy’s Inoperative Community, La communauté désoeuvrée. My form of community is usually just a No-op. Some people live in Co-ops, but I have no experience with that.

Where do you think is the most appropriate place to provide this feedback (assuming that such feedback is desired)? Are the Scala contributors threads really the right place? Or should there be separate threads under Scala Users or Scala contributors for commenting on different aspects of Scala 3.

I think this was already answered exhaustively in my latest posts on this thread.

1 Like

I could be wrong, but if they’re asking, maybe it’s possible that the previous posts don’t provide enough clarity to answer the question?

Particularly as the first post could reasonably be interpreted as, “could non-contributors stop posting so much?”:

Which was subsequently walked back to only being relevant to the SIP-tagged threads:

Given the answer to, “What’s the focus for this forum?”, was given as a reference to a description outside of this forum, albeit still in the same domain, some confusion is understandable.

For whatever it’s worth, I’m posting this with some trepidation, as I’m still unsure of the degree to which my input is welcome, and if it is welcome, to what extent and in what spaces I’m being helpful and at what point my presence becomes a nuisance. This is largely because I also fall into the void of “invested user, but not currently able to meaningfully contribute to the compiler”.

As far as I can tell, there’s some implicit limits on posting volume, when I’m allowed to advocate for or against a proposal, and when I am expected to leave off - but they’re not written down anywhere (or at least I can’t find them), and nobody has been able or willing to articulate what those limits are beyond getting annoyed at me when I act beyond my station.

I guess the TL;DR is: I’d also appreciate some clarity about how and when its appropriate for someone like me to provide feedback, ideally written down someplace like the “About” or “FAQ” pages.

2 Likes