admin
admin copied to clipboard
Creation of an official Discord server for the Node.js project
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:
- Yet another space for sharing announcements (mirror of RSS feeds and other sort of announcements)
- A space for Node.js enthusiasts to talk and discuss together
- GitHub Discussions never worked out, and usually, we see Node.js technical discussions happening in places such as Twitter/X, Stackoverflow, and others, which happen not to be the most ideal form of asynchronous communication
- Although we have a Slack instance (community governed), rarely anyone joins or communicates there (the same with the IRC server)
- With the Discord server, we could officially shut down both our IRC nodes, which have been moderated/managed by a single person (@ljharb), and the same applies to the Slack instance.
- 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)
- The appeal for users to use Discord is way higher, due to:
- One account for all your Discord Servers
- Way better chatting, communication, and sharing features
- Numerous integrations that could leverage our experience and collaboration with our Community
- Way better Moderation tools
- With the Discord server, we could easily have channels that vary from:
- Feature Feedbacks
- Support Threads (which could allow Node.js developers to help each other and quickly find existing/prior questions)
- Run Community Surveys/Polls with ease and way better granularity and reach (since many people don't use X/Twitter anymore)
- Host streams from Node.js Collaborators / Ambassadors
- The instance could be moderated by the Moderation Team + Volunteers and managed by the TSC + trusted volunteers
Running a Discord server could be better for our community and our ability to reach the outer layers of our community.
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 :
- offer a place where people can help each other (could limit out-of-context issues in Node.js repos)
- be a place for more informal communication between Node.js developers/maintainers and runtime users, in order to determine roadmap elements or prioritise improvements.
- transmit announcements (releases)
- promote the runtime. (marketing)
- survey the community
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.
FWIW https://github.com/nodejs/node/blob/main/GOVERNANCE.md
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:
- The TSC delegates me as the DRI (Direct Responsible Individual / Champion) of this initiative, which allows me to:
- Be the leader of this initiative (by taking care of organising and ensuring this initiative succeeds)
- Responsible for communicating decisions and progresses with the TSC in a weekly basis (or bi-weekly as soon as I have updates)
- Serve as an intermediate to make decisions regarding the adoption of Discord as a platform
- All major decisions will first be communicated to the TSC, and the TSC will decide to approve (consensus seeking) or block such decisions.
- This is not a vote for the TSC to decide that we will make an official Discord server but a vote that such an initiative can be kicked off and that work can happen behind the scenes. This is an experiment, but we want to make it right and shape it into something we're all happy about before formalizing it and making it official.
- This vote also means the upcoming work should respect and abide by the OpenJS Foundation's CoC / Node.js CoC and governance model.
- I'll also involve the foundation for related marketing, legal, community, and related discussions, as they are the ideal government body to support us.
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.:
- 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).
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.