Open ovflowd opened 5 months ago
Previous discussion: https://github.com/nodejs/admin/issues/53
Previous discussion: #53
Cool. Also the state of Discord and its features today vs 2018 has been very different.
I'm +1 on the incorperation of a Discord server, as like you mentioned, it gives the community a quicker way to connect, as not everyone will want to make new Slack account / download an IRC client
Not to rush things, but if we were to do this, we should probably reach out to Discord's legal team and get https://discord.com/invite/nodejs
FWIW I'd be unlikely to move over to Discord -- it would be an additional communication platform and I wouldn't create a new account there (or anywhere else) just for Node.js.
FWIW I'd be unlikely to move over to Discord -- it would be an additional communication platform and I wouldn't create a new account there (or anywhere else) just for Node.js.
No one is forcing you there π; You don't need to be there if you don't want to, and I agree yet another platform, but that would be for the community π
We definitely don't need all collaborators to be there. And to be honest this could be a pilot program to see how it succeeds.
The third "goal" mentions potentially shutting down Slack, or is that specifically the non-OpenJS Foundation one?
The third "goal" mentions potentially shutting down Slack, or is that specifically the non-OpenJS Foundation one?
It was an idea to slowly phase out the "Node Slackers" slack server that Jordan maintains by himself, but he said that he is not interested in shutting in down so that's fine π€·
But we would be able to let the OppenJS Foundation Slack at least for Node.js to be more for collaborators and contributors and less for asking support/help. Which it is also not used much for that, but still some people ask support there.
This doesn't sound like an improvement to me. We already have the official Slack workspace, and GitHub of course. Adding another official channel means yet another place to check.
Growing a community on Discord is useful. The official OpenJS slack is for our communication, while Discord would be for end users.
I think it would become quite popular, too. It's also a great marketing channel, and what I would set up today instead of the unofficial Node.js slack.
The fundamental question is who will moderate this and provide Node.js knowledge to the users.
I agree that growing a community is useful. There are probably already existing communities, though, so we would kind of be in competition with them. As a user, if I found and invested myself in an existing Node.js-focused Discord community, with well-defined rules and many moderators and helpers, I would need a very convincing argument to switch to an "official" one (what does the official stamp change?).
This doesn't sound like an improvement to me. We already have the official Slack workspace, and GitHub of course. Adding another official channel means yet another place to check.
Each one has different roles. It's agreeable that we see users asking/seeking help on the help repository and other platforms, including OpenJS Slack. The idea is that people will naturally switch over to Discord over time. It's ridiculous how popular Discord is nowadays for hosting tech communities.
I still believe many users would use our help repository, but I can see many of them going over Discord.
The fundamental question is who will moderate this and provide Node.js knowledge to the users.
I don't mind if we ask for volunteers to set it up (I wouldn't mind at all). Still, ultimately, I believe the Moderation team would be responsible for moderating it + some volunteers. We can draft something more concrete. There's some energy lift in setting it up.
As a user, if I found and invested myself in an existing Node.js-focused Discord community, with well-defined rules and many moderators and helpers, I would need a very convincing argument to switch to an "official" one (what does the official stamp change?).
For better or for worse, I haven't found any big community. That said, smaller-ish multi-purpose communities might focus on Node or more considerable general-purpose programming Discord servers with channels for Node.js. (The only community that comes to mind is Nodeiflux. Which has 14K members)
The main difference between the official one and the other is that the former is an official community consisting of collaborators, ambassadors, streams, announcements, etc. People tend to go to official communities because they are official.
Since there's no official JavaScript Discord server, I can see people with JavaScript interests going over our Discord. After all, it is also the most popular language (JavaScript) among teenagers, young adults, and even folks who code Discord Bots π€·
There are also benefits in being an official community, as Discord gives some perks to Community servers.
I am all in for that!
As an early adopter of Discord, I appreciate its use for small communities. However, I'm wary of the future of the platform, which is funded by venture capitalists. We're starting to see more and more attempts at return on investment at the expense of the user experience. Even if it's extremely popular today, I wonder about its long-term future.
As mentioned by @targos, there is already a well-structured Node.js Discord server, perhaps it would be interesting to discuss with them how to define it as an official Discord in order to avoid creating a new community, dividing instead of bringing together.
To prepare for the creation or investment of a large community, I think it's very important to think seriously about moderation (who's in charge, the time that can be allocated to it, the rules). You also need to define the aims and intentions of such a community, whether it's to :
How to ensure that the community is attractive and engaged, so that what happens there can be followed without being drowned out. Managing a large community is an important and time-consuming task. Are some Node.js staff willing and able to get involved?
As mentioned by @targos, there is already a well-structured Node.js Discord server, perhaps it would be interesting to discuss with them how to define it as an official Discord in order to avoid creating a new community, dividing instead of bringing together.
That is also a valid alternative :) but we need to claim ownership of that server. I'm all fine with keeping the current people managing to remain there, but there would need to be changes π
(Possibly from channel structure, branding, roles, and all sort of other things; But I doubt that coordinating/working together with the existing Nodeiflux community would be impossible)
To prepare for the creation or investment of a large community, I think it's very important to think seriously about moderation (who's in charge, the time that can be allocated to it, the rules). You also need to define the aims and intentions of such a community, whether it's to :
We have experience managing communities. (Not to mention we do have members of the Node.js community with real community management experience, myself included)
We understand that this is something complex and that requires care/attention, so we wouldn't do this on a whim.
Managing a large community is an important and time-consuming task. Are some Node.js staff willing and able to get involved?
We don't have Staff. But we would have volunteers to manage it.
You also need to define the aims and intentions of such a community, whether it's to :
This is all written on my opening post π and I agree with all these items.
I may have forgotten this part while writing my post, sorry π .
By βStaffβ, I didn't mean employees but rather something like active, permanent members who take care of managing the Node.js project. I'm not entirely familiar with the governance of the project, but I suppose such people exist.
I'm not entirely familiar with the governance of the project, but I suppose such people exist.
Heyo π I've had a nice chat with @vcarl which is the admin of the Nodeiflux Discord Server, and we had some really cool collaboration happening there β¨
I'd say they are inclined into collaborating with us to transform their server into Node's official Discord Server, but the caveat is they definitely need to be part of the process (which I 100% agree, otherwise it'd sound as a hostile takeover)
I believe there's lot we can gain and experiences that can be shared on how we can shape such a community into a successful place for Node's community :)
Since this requires TSC input, I want a vote for:
Nothing must get released/published without the explicit approval of the TSC and explicit π of the Foundation regarding our being π in legal, branding, and marketing matters.
Please react with π or π (and if possible, why if a π so we can address your concerns) regarding whether you're in favor or against the proposal above.
cc @nodejs/tsc (I'm also adding to the TSC agenda for visibility and if discussions need to be done)
@ovflowd I like your idea of endorsing/helping existing communities and helping them grow. I'm wondering if we can keep the current "management" and let them moderate and be involved in a less direct capacity e.g.:
We can call it "officially endorsed but not official" and link to it in the website or something similar.
This vote also means the upcoming work should respect and abide by the OpenJS Foundation's CoC / Node.js CoC and governance model.
My primary concern with an official Node.js discord server is (as usual) this . The OpenJS slack server is currently in a pretty bad state IMO and for me to be comfortable with Discord I would need (several) people to be willing to moderate it consistently.
I don't mind if we ask for volunteers to set it up (I wouldn't mind at all). Still, ultimately, I believe the Moderation team would be responsible for moderating it + some volunteers. We can draft something more concrete. There's some energy lift in setting it up.
The moderation team is ~4-5 active people, even if we get to 10 active people I'm not sure most of them would be interested or have capacity in moderating another space but I'm not sure since discussions about slack and other spaces were a long while ago.
That said, if the moderation team agrees I think it would be an effective body in enforcing the CoC.
I'm wondering if we can keep the current "management" and let them moderate and be involved in a less direct capacity e.g.:
That's definitely what I was going after. But we should also allow the Node Moderation team to have elevated privileges there so that we can enforce moderation in case we need to.
Doing AMAs on endorsed/supported community servers. Giving official announcements on new features. Mentorship hours for new/junior developers and developers from underprivileged communities. Code & Learns (like mentorship but for Node.js core contribution rather than general node help).
I love this!
My primary concern with an official Node.js discord server is (as usual) this . The OpenJS slack server is currently in a pretty bad state IMO and for me to be comfortable with Discord I would need (several) people to be willing to moderate it consistently.
I believe Nodeiflux had a great track of moderating their community well. I believe a pilot can be done. I also believe we can have volunteers to moderate there, which will have moderating powers there and only there.
The moderation team is ~4-5 active people, even if we get to 10 active people I'm not sure most of them would be interested or have capacity in moderating another space but I'm not sure since discussions about slack and other spaces were a long while ago.
I hear you, and I could help being that bridge. I'm pretty sure @vcarl would do their best to enforce our CoC policy there if they agree with adopting our CoC policy, which is the Contributor Covenant 2.0. As an official server, it also means it lies under the Foundation, but I believe we can delegate moderation to their team. We do not moderate the OpenJS Slack, although it is an official Node.js space.
The biggest +1 of having it as an official server is Discord itself can promote and showcase the official community server, and by being verified, there are extra perks. + I'm pretty sure more people will feel compelled to join it as an official.
We do not moderate the OpenJS Slack, although it is an official Node.js space.
Not that I'm aware (it being an official space)
We do not moderate the OpenJS Slack, although it is an official Node.js space.
Not that I'm aware (it being an official space)
π€
With the Discord server, we could officially shut down both our IRC nodes
Where's this implication coming from? Is the assumption that users who currently use IRC would definitely want to migrate to Discord? Are we maintaining IRC right now because we don't have a Discord community?
It also allows the OpenJS Foundation Slack to focus on OpenJS-related discussions and communication for existing Collaborators (more internal conversation rather than community-facing)
FWIW, monitoring the various GitHub repositories and the OpenJS Slack is already way more than I, and perhaps most collaborators, can handle. If the goal is to shift some traffic from OpenJS Slack to Discord, that's fine by me, but if it doesn't fully replace an existing channel, I wouldn't expect any collaborator to engage with and/or monitor yet another channel.
The biggest +1 of having it as an official server is Discord itself can promote and showcase the official community server, and by being verified, there are extra perks.
If the main aspect of having an "official" (or "officially endorsed but not official") server is just labeling it as such while not requiring us collaborators to ever engage there, I don't see a problem with this as long as those acting upon this initiative don't misrepresent what the Discord server is and, most importantly, moderate interactions there appropriately. As @benjamingr hinted, we certainly can't expect the existing moderation team to take on another space.
Where's this implication coming from? Is the assumption that users who currently use IRC would definitely want to migrate to Discord? Are we maintaining IRC right now because we don't have a Discord community?
We don't maintain anything, we don't have an official IRC server. It's not an implication, just a suggestion based on the assumption that there are fewer users on IRC.
FWIW, monitoring the various GitHub repositories and the OpenJS Slack is already way more than I, and perhaps most collaborators, can handle. If the goal is to shift some traffic from OpenJS Slack to Discord, that's fine by me, but if it doesn't fully replace an existing channel, I wouldn't expect any collaborator to engage with and/or monitor yet another channel.
My assumption is that you shouldn't monitor Discord. It's a place to hang out. And I'd say we would redirect community users to Discord instead of Slack.
If the main aspect of having an "official" (or "officially endorsed but not official") server is just labeling it as such while not requiring us collaborators to ever engage there, I don't see a problem with this as long as those acting upon this initiative don't misrepresent what the Discord server is and, most importantly, moderate interactions there appropriately. As @benjamingr hinted, we certainly can't expect the existing moderation team to take on another space.
I'm 100% fine with that.
Sounds good, thank you for clarifying @ovflowd :)
Sounds good, thank you for clarifying @ovflowd :)
Of course! And sorry if my replies aren't the best. But I want to make sure I'mn very flexible to accommodate the needs of the TSC, and I bet we can find something that is close-to-ideal for all parties.
Hey thanks for the ping, very much enjoyed our chat @ovflowd! Just catching up on the convo, I'll chime in a bit as a potential outside collaborator in executing this π
To introduce myself, I'm Carl (usually vcarl on the internet) :wave: I've been helping oversee Reactiflux, currently hitting ~60-70k visitors/mo, since 2016 or so. I spun up Nodeiflux as a companion community for the JS backend around 2018 (remember when there weren't other runtimes??), and have kept it humming more or less solo since then. It's never been a major focus, but it's always had consistent activity so I never pulled the plug either.
I'd say they are inclined into collaborating with us to transform their server[β¦], but the caveat is they definitely need to be part of the process
π―β€οΈ Happy to be a collaborator here, my ask would be to take my ~8 years of overseeing online communities as a valuable perspective π I've taken my role in communities seriously, which has meant encountering a long list of unusually common scenarios.
I'm wondering if we can keep the current "management" and let them moderate and be involved in a less direct capacity
Happy to be a primary point of contact, with moderation of the space happening on my end and by people I oversee but accountable to the Node org in some way. I was a significant driver of recruiting and establishing moderation norms in Reactiflux, I'm quite comfortable managing a growing community on my own and would find some added support structures for branding, news, and events to be super helpful. My concern would be with onerous bureaucracy and reporting, but that's certainly not inevitable.
we should also allow the Node Moderation team to have elevated privileges there so that we can enforce moderation in case we need to. "officially endorsed but not official" As benjamingr hinted, we certainly can't expect the existing moderation team to take on another space.
Details here are definitely workable imo. We have an existing admin/moderator role system, and could very easily add an elevated moderator role for someone in an accountability/oversight role from the Node org.
I'm pretty sure @vcarl would do their best to enforce our CoC policy there if they agree with adopting our CoC policy, which is the Contributor Covenant 2.0.
We based our current code of conduct off the Rust CoC, which I've absolutely done my best to enforce. The realities of an online chat system are that mitigating harm is much harder to do than enforce the CoC, but I've done what I can. I also have a collaborator in Europe I trust to help from another timezone, and a number of helpful regulars who reliably draw my attention to the most important matters and react appropriately in the meantime. It's been a small but functional ecosystem for a few years now.
I'm generically in favor of this proposal as long as it does not strain the current moderation team and a few people from us get admin rights.
From a practical/admin perspective we would need to charter a working group and give them autonomy in how they run the Discord server. That repo/wg would be the point of contact with the rest of the TSC.
Ultimately, this would be that the TSC is responsible for the space.
Ultimately, this would be that the TSC is responsible for the space.
What does "responsible for the space" mean? Is this another instance of "the TSC steps in as the last resort?"
Is this another instance of "the TSC steps in as the last resort?"
Yes, it has to be. And on top of the Node.js TSC, the OpenJS CPC too.
I believe we have an initial agreement here. Can we get this discussed by the TSC?
Also cc @mhdawson since I wanted to involve the ambassador initiative in this
@ovflowd -> since I wanted to involve the ambassador initiative in this. Do you want to get together or did you have specific things you wanted to add to the program description in https://github.com/nodejs/node/blob/main/doc/contributing/advocacy-ambasador-program.md ?
@ovflowd do you want to come to the TSC meeting to present/discuss the initial agreement? Reading through the thread I can guess what that is but and not 100% sure I would get it right.
@ovflowd -> since I wanted to involve the ambassador initiative in this. Do you want to get together or did you have specific things you wanted to add to the program description in nodejs/node@
main
/doc/contributing/advocacy-ambasador-program.md ?
I think the only relevant pieces are that Ambassadors would have a role on the Discord, be there at their criteria/convenience and be able to host streams + promote their materials if wanted. Definitely something we can fine tune :) (Im just throwing some random ideas)
@ovflowd do you want to come to the TSC meeting to present/discuss the initial agreement? Reading through the thread I can guess what that is but and not 100% sure I would get it right.
Sure, Id be more than happy to jump at the next TSC meeting to chatter about this.
@ovflowd sounds good.
@ovflowd We briefly discussed during the TSC meeting.
The biggest +1 of having it as an official server is Discord itself can promote and showcase the official community server, and by being verified, there are extra perks.
Our understanding is that marking the existing server as "official" would primarily help the existing Discord server in the ways you described and perhaps make it easier for people to find a Node.js-related Discord community. Secondarily, it would allow us to share announcements in some official capacity (as opposed to engaging with the Discord community like before). This sounds like it's good for the community overall, and as long as this doesn't require any active involvement of Node.js personnel, there were no major concerns.
We had one small (and hopefully, purely hypothetical) concern. Is this marking it as official something that can be undone, if necessary? While I am sure this won't happen, if the Discord server does not end up living up to our community standards, would we be able to sever ties without forcing the server to shut down entirely?
We had one small (and hopefully, purely hypothetical) concern. Is this marking it as official something that can be undone, if necessary? While I am sure this won't happen, if the Discord server does not end up living up to our community standards, would we be able to sever ties without forcing the server to shut down entirely?
Yes, we can always reach out to Discord support and revoke the verification (server verification, which marks it as official)
Great! I'm glad this is coming together!
I look forward to the beginning of this server!
Alrighty, @nodejs/tsc let me know if we can start pushing this forward :)
@ovflowd you need to say something like "if there are no remaining concerns, I'll go ahead and do such and such on such or such day" if you want this to move forward.
@ovflowd you need to say something like "if there are no remaining concerns, I'll go ahead and do such and such on such or such day" if you want this to move forward.
Oh yeah, let me rephrase:
If there are no remaining concerns, I'll proceed with my plan from here: https://github.com/nodejs/admin/issues/872#issuecomment-2156422974
More specifically:
There's nothing set in stone yet; hence, I will report back on updates and if other things are needed from the TSC side, and how things progress.
If there are no remaining concerns
I donβt think the concerns from https://github.com/nodejs/admin/issues/872#issuecomment-2156428381 have been addressed yet? Namely, what the plan is for moderation of the new space and whether @nodejs/moderation has the capacity to take this on.
That said, if the moderation team agrees I think it would be an effective body in enforcing the CoC.
I donβt think the concerns from #872 (comment) have been addressed yet? Namely, what the plan is for moderation of the new space and whether @nodejs/moderation has the capacity to take this on.
As a new member of the moderation team, I doubt I'll have dedicated time to monitor a Discord.
If there are no remaining concerns
I donβt think the concerns from #872 (comment) have been addressed yet? Namely, what the plan is for moderation of the new space and whether @nodejs/moderation has the capacity to take this on.
We did address those concerns, yes. Pretty much the plan is (as stated in previous comments):
(Some of the items above I just came up with as ideas)
Hi everyone,
I have a few clarifying questions:
Currently, the project use Slack and GitHub Discussions for our topics. However, I find GitHub Discussions can be challenging because conversations often go off-topic, and resolved issues remain open. I think it might be beneficial to direct users to ask their questions on Discord instead (Not a replacement, but a "hey, we also have Discord, you can ask questions there, any they might gain more traction"). This could help common issues gain more visibility and traction. Would this be acceptable?
Additionally, if the project starts using Discord for user questions, I believe the triage team should be a part of answering them. While we don't need special permissions, I think it would be helpful to have the same recognition as GitHub Member badge shows. Demonstrating credibility is crucial for effectively resolving issues, and this recognition could aid in resolving issues more efficiently and accurately.
Additionally, if the project starts using Discord for user questions, I believe the triage team should be a part of answering them. While we don't need special permissions, I think it would be helpful to have the same recognition as GitHub Member badge shows. Demonstrating credibility is crucial for effectively resolving issues, and this recognition could aid in resolving issues more efficiently and accurately.
I believe Node.js Collaborators could be given a "Node.js Collaborator" role and triagers a "Node.js Triager" role. This was already something I wanted to do.
Additionally, if the project starts using Discord for user questions, I believe the triage team should be a part of answering them. While we don't need special permissions, I think it would be helpful to have the same recognition as GitHub Member badge shows. Demonstrating credibility is crucial for effectively resolving issues, and this recognition could aid in resolving issues more efficiently and accurately.
I'm not sure about that. Although I believe we could disable GitHub Discussions as they are rarely monitored/viewed and moderated anyways. Discord has a better platform for making Discussion/Help threads. cc @nodejs/tsc
Discord is a massive hub for collaboration, communication, and projects to reach their audiences.
It's becoming trendy for massive open-source projects and tech companies to have Discord Servers (ie, Cloudflare, Sentry, GitHub Education, etc.)
The upcoming Ambassador Program gives us even more reason for allowing users to interact with Node.js ambassadors and take a closer part of the community.
The goals of such a Discord server are simple:
Running a Discord server could be better for our community and our ability to reach the outer layers of our community.