Meta-discussion on keeping topics here focused and amicable

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

I think if you’re self-aware enough to post with trepidation, you’re OK.

The endless threads about Scala 3 syntax demonstrate that it’s impossible to know in advance what is a useful conversation. The team will helpfully intervene to say an issue is settled, let’s move on.

I never know when an issue is settled. In my favor, I’ve never shown up at anyone’s doorstep at midnight to explain my latest insight about how to improve the syntax. I do have some ideas about formatting comments, however.

3 Likes

A few notes:

Eyal, I read your post with the two CoC complaints, a few days ago, and I’ve been weighing how to respond, and I’ve also waiting to see what others in the Scala organization and others in the community think. So I’ve been reading all the followups, too. I’m sorry if it felt like I and the other forum moderators were just ignoring your complaint. (We respond faster when something is much more clearly over the line.)

Som has already apologized for his post where some humor didn’t quite hit the mark. I hope you can let that one go.

As for the “I wish there was a dislike button” post, I agree it was borderline. We don’t normally respond to brief, borderline posts like that individually. We take note of them and who posted them and keep an ongoing eye on the situation to see whether someone’s remarks are repeatedly pushing the CoC limit. If you feel you were wronged here, I part agree: we’d certainly step in someone posted things like that repeatedly, especially if they repeatedly targeted the same individual.

I agree that we could be using Discourse’s thread-splitting feature more. I haven’t used it in this thread, because this thread became a nebulous grab bag of not-very-closely-related discussions ages ago. Maybe it’s time — not today, but sometime this week — to just shut down the thread down entirely, since at this point it seems to mainly be producing bad feeling — though hopefully this meta-discussion is useful?

But, the existence of the thread-splitting feature isn’t an excuse for posters to take threads off-topic. I hope participants will take some responsibility for this themselves. It’s not that hard to post something like: “That’s an interesting point, and it prompted me to start a related thread about X, here’s a link to it, let’s discuss there if interested.”

Threaded discussions, like on Reddit, have their own disadvantages. We’re committed to Discourse (and to GitHub, which is also single-threaded), so we must ask that people take extra care to keep threads on-topic. If we all do that, the overall result is a higher quality of discussion. It does require participants exercise additional restraint, but I don’t think it’s too much to ask. The goal of this forum isn’t to be a gigantic free-for-all. The purpose is exactly to have threaded, focused discussions. If a thread (like this one) does turn into a free-for-all, participants can expect that many people will simply tune it out.

Morgen, your wish that rules about e.g. posting volume be formalized is an understandable but impossible wish. The existing Code of Conduct is about as specific as it’s possible to get, and it’s very similar to what other online programming communities use. Where the CoC leaves off, after that point all any of us can do is do our best to listen to the feedback, explicit and implicit, that we’re getting from other community members, from Martin on down, and then if problems arise, we do our best to deal with them sensitively and on a case-by-case basis. That’s just how groups of humans work.

All: receiving negative feedback in public is extremely difficult — for all of us, Martin not excepted. Feel free to contact the moderation team privately about these sorts of issues; sometimes it’s easier to take when the feedback is private.

Seth

8 Likes

That was an oversight. I’ve now corrected it by replacing that with the text from https://www.scala-lang.org/community/ that Martin quoted.

Seth

2 Likes

After a little further reflection on how best to handle this, I’ve:

  • split this meta-discussion into its own topic
  • closed the original “What can make Scala more popular?” thread
1 Like

While that’s a bit reassuring, anxiety shouldn’t be a precondition for posting, and at least for me that’s become the case, as I am having trouble figuring out the norms I’m expected to follow.

My concern is that when I run into the invisible walls, the pushback is immediate and public (this seems to be the case for @eyalroth as well, though I don’t speak for him), while borderline violations of the CoC appear to be handled with opaque privacy. If these norms can’t be published, then I’m kind of stumbling around blind, and that’s not ideal for anyone - y’all get annoyed, and I get slapped around in public for stuff that I don’t know to avoid, and apparently can’t really be articulated.

Thanks, I appreciate the effort to make this more accessible.

1 Like

It is just conflict of interests.
There are groups of people with different qualification, motivation and amount of contribution.
So there is no surprise in situation when there can be disbalance of profit in collaboration.
So we can see that COC is violated. But there are no clear answer what to do.
It is good in such situation:

  • be honest
  • provide clear rules

It is bad:

  • explain who love scala more
  • teach how to live
  • justify COC violation with tiring of COC following

It is cruelly:

  • punish in other topics which have no relation to source of conflict.

When contributing to these types of open discussions (primarily at other organizations) I try to follow two rules:

  1. Be as polite as possible when giving feedback, even if the feedback is negative.
  2. When receiving feedback, try and have a slightly thick skin, giving the poster the benefit of doubt that they are acting in good faith.

I suspect that everyone who is choosing to give up their time posting to the Scala 3 forums are probably doing so for the right reasons, i.e. they are trying to make Scala 3 the best possible language that it can be. The conflict arises because there are many different interpretations of “best”, but arguably that is s a good thing.

Regards,
Rob

1 Like