nodejs / community-committee

The Node.js Community Committee (aka CommComm)
MIT License
263 stars 70 forks source link

Addition of Slack without discussion + community fragmentation #655

Closed joepie91 closed 1 year ago

joepie91 commented 3 years ago

Hi,

Due to a historical disinterest and/or lack of time from the Node.js core team to moderate the IRC channel (#Node.js), the official community venue at the time, I volunteered to become a moderator several years ago. I don't remember exactly how many years ago, but it's been quite a while, and since that time I've spent a lot of time and effort trying to keep the channel a pleasant community, and helping people with their issues in general.

However, over the past few months I'd noticed a significant drop in influx of new users and questions. After wondering about the cause of this for a while (shouldn't there be more influx, what with the current lockdowns?), I had a look at the site. Imagine my surprise to find that a Slack channel had been quietly added 4 months ago, with zero interoperability with the existing IRC community.

After those many years of unpaid volunteer work, I'm not amused, to say the least, that I had to find out about this through a git blame, rather than being at the very least informed by OpenJSF people about this change - or, ideally, involved in discussions around a change/improvement of community venue. I am well aware that IRC can have its issues (I'm involved in Matrix-related dev for a reason!), and would have been happy to work towards a solution for those.

Instead, a second community venue was quietly added - on a proprietary, closed platform, disturbingly enough - and it's bleeding the IRC community dry, and causing unnecessary fragmentation in the community. While there have always been unofficial alternate community venues, #Node.js has in the past continued to see an influx of new users due to the funnel from the website, but that funnel is now split into two; making both communities weaker, and bringing #Node.js to a point where it's in real danger of fossilizing.

So, what's the way forward here?

Half-Shot commented 3 years ago

+1 to the points raised. I'd be intrigued to hear about the history of the Slack channel(s). When did the Slack channel(s) come about? And were other platforms reviewed before settling on Slack? As a fellow IRC/Matrix dev and Node.JS user (a LOT of the Matrix ecosystem is built upon Node.JS) this is very worrying that all of this was seemingly done in the dark.

ShadowJonathan commented 3 years ago

Also please note that as an option for a compromise; Matrix allows "bridging", the proxying of messages between different chat platforms, and thus could allow joining the #node.js and slack channel(s) as one.

Please note that this ofc comes with moderation concerns and chat culture influx, and maybe some general incompatibilities between platforms (e.g. threading)

nschonni commented 3 years ago

I think maybe https://github.com/nodejs/community-committee is a better place to raise this

joepie91 commented 3 years ago

@nschonni I am unable to move the issue there; moving an issue on GitHub is an administrative action.

Trott commented 3 years ago

@nodejs/community-committee

I also think the information on the website about the OpenJSF Slack channel may be different than what at least some folks (@bnb in particular) believe the purpose of that channel may be. There's a Slackbot response message that directs people to the help repo and/or Nodeslackers for Node.js dev help rather than the OpenJSF Slack, but the web content seems to direct people to the OpenJSF Slack channel specifically for development help.

So what's the deal with the #nodejs channel on the OpenJSF Slack? Is it for development talk or something else? If something else, what is that something else?

Refs: https://nodejs.org/en/get-involved/

bnb commented 3 years ago

I would perhaps disagree that this is a CommComm issue, but I'll ignore that disagreement for now.

@Trott the website says:

For real-time chat about Node.js development use the OpenJS Foundation Slack or IRC For Slack, join the OpenJSF workspace and then join the #nodejs channel For IRC, go to irc.freenode.net in the #node.js channel with an IRC client or connect in your web browser to the channel using freenode's WebChat.

There's no mention of help. It says real-time chat. Real-time chat does not mean help. Since that initial message was written, we've shifted a bit more towards a namespaced approach with channels for specific topics under the #nodejs- namesapce. If we'd want to update our messaging in the website, I think that makes sense. Also, if we do want to make #nodejs a place for help (it wasn't happening naturally, which is why I did what I did with that message) I'd be more than happy to work with others to enable that.

The OpenJS Foundation has a paid Slack org and we are enabled to use it. I don't think there was a particular push for a single unified platform - you'll very clearly notice that there's no either/or, both platforms are still linked - which is why there wasn't necessarily any kind of broader notification to everyone everywhere. The data that there's been less people joining #Node.js on freenode is indicative to me that this is actually a good solution - if both options are being presented and people are choosing something that isn't IRC, it seems that our audience has moved beyond the target audience of IRC.

We've had many discussions about blessing a single platform over multiple years of Node.js and io.js - enough to the point that they've literally burned people out of the project. I'm not particularly keen on having those discussions again, since they always end up net negative with no actual tangible change.

I personally don't see this as an all-or-nothing and think that having multiple spaces that can serve different audiences and different purposes (i.e. some teams or WGs may want to have their own realtime chat in Slack or IRC) is a fine and significantly more inclusive approach.

Trott commented 3 years ago

There's no mention of help. It says real-time chat. Real-time chat does not mean help.

@bnb Be that as it may, it is also true that most messages in that Slack channel have been something other than people asking for help.with their Node.js coding projects specifically or learning Node.js concepts generally.

So yeah, technically you're correct and I guess I mis-characterized the situation somewhat, so I'm sorry about that. But I think the correction just further clarifies and demonstrates the problem: We seem to think the channel is/was for something other than help because we have Slackbot and a pinned message directing people elsewhere for help. But the channel gets used almost exclusively for help. That's a mismatch that could stand to be addressed.

joepie91 commented 3 years ago

The data that there's been less people joining #Node.js on freenode is indicative to me that this is actually a good solution - if both options are being presented and people are choosing something that isn't IRC, it seems that our audience has moved beyond the target audience of IRC.

I disagree. The way things are presented now, it very much reads as "here's the official Slack, and there's also this IRC channel if you really don't want to use Slack", which biases things strongly towards the Slack. People going there instead of IRC isn't an endorsement of Slack, but a logical result of presenting it as the primary option.

But this is all sort of besides the point, anyway - my complaint here isn't the addition of a different venue. As I've already said, I am aware that there are issues with IRC that would be good to solve. Rather, my issue is that a change like this was made without any notification or involvement of those who have been essentially running the IRC community for years, which I find rather disrespectful and counterproductive considering the amount of (unpaid! and often thankless) work that I and others have been putting into it.

I'm not asking for the IRC channel to be the sole community venue for all eternity. I'm asking for community managers to actually be involved in community-management-related decisions, including assessment of whether a certain change is going to have certain undesirable consequences. Is that really such a strange ask?

The situation that we're in here now is not one of constructive collaboration towards an improved community; it's one of IRC community managers being put on the back foot without warning, and being expected to retroactively argue why a certain change should be undone or reevaluated, with the unspoken default being "the change stays". That is certainly not the way to have a discussion with a net positive output.

I'm not particularly keen on having those discussions again, since they always end up net negative with no actual tangible change.

I can understand that, but the answer is not to start making changes without involving those managing the community (in a moderator role or otherwise). That just moves the burnout to the community managers.

i.e. some teams or WGs may want to have their own realtime chat in Slack or IRC

I'm talking purely about public-facing community channels here. Internal working channels are a separate discussion entirely, and IMO out-of-scope for this issue.

mmarchini commented 3 years ago

I'm the one who created the PR to include the OpenJSF Slack on the website (and also the PR that added it to our documentation), and thinking back it was an oversight to not bring people involved on the IRC or nodeslackers to the discussion. I did so because I was excited we finally had a Foundation-blessed Slack server where people could engage with the project. I truly apologize for doing so in a rushed manner and for the lack of communication.

@joepie91 (and others involved on IRC, as well as @ljharb who's one of the admins of nodeslackers), do you have suggestions on how we should move forward from here?

ljharb commented 3 years ago

@mmarchini i think that all of the official spaces - nodeslackers, OpenJSF slack, node irc, which are all identically official, and identically staffed by node representatives - should be displayed (in any context) on equal footing, and described as such. ("Foundation-blessed" seems irrelevant to me, only "node project-blessed", and the node project has blessed the prior two locations, officially, for years).

This would hopefully avoid

biases things strongly towards

any given community.

While I don't have anywhere close to the same level of reaction as the OP here, I would expect that @nodejs/community-committee would need to approve any such changes (they did not stamp that PR, for example), and I would hope that CommComm would not approve any changes without offering relevant community stakeholders the opportunity to weigh in.

mmarchini commented 3 years ago

"Foundation-blessed" seems irrelevant to me, only "node project-blessed", and the node project has blessed the prior two locations, officially, for years

Just to be clear, what I meant by "Foundation-blessed" is "the Foundation is paying for the pro version which adds all kinds of goodies, including but not limited to unlimited chat history, unlimited apps, channel grouping, etc., and allows projects to share that space". I only mentioned it because "the pro version is to expensive and the project will never afford it" was one of the arguments against Slack in the past.

mmarchini commented 3 years ago

FYI opened https://github.com/nodejs/nodejs.org/pull/3619

mhdawson commented 3 years ago

@mmarchini thanks for opening the PR to revert the change, I think that's a good idea while the discussion takes place here and we figure out next steps.

MylesBorins commented 3 years ago

The original Pull-Request on nodejs.org was open for almost a month before landing and had discussion about the order. This is not a competition, there was no attempt to divide a community or push people towards a proprietary platform, this is merely documenting the reality of where people are meeting and communicating.

This process would have benefitted by letting the IRC folks know, but at the same time the intent was never competitive so I can understand why no one was reached out to. In the same way that it is hard to watch every place where work happens to not miss something like this it is difficult to remember to include everyone in every conversation especially when those doing the work do not see it as competitive.

@joepie91 I appreciate all the work you have done, thank you. I just hope you can see that we are trying to operate in good faith here and have no intentions to fracture communities.

joepie91 commented 3 years ago

(Hi all, I will post a substantive reply soon, but the recent events in the US have kept me busy with some moderation fires elsewhere, so it will be a little delayed.)

Trott commented 1 year ago

I've unarchived this repo so I can close all PRs and issues before re-archiving.