admin icon indicating copy to clipboard operation
admin copied to clipboard

Node.js's Discord Roles (Sync)

Open ovflowd opened this issue 7 months ago • 3 comments

Hey folks 👋 I'm opening this on behalf of @VoltrexKeyva.

Since launching the Node.js Discord server, we’ve set up a few roles to help identify collaborators in the Node.js project. So far, we’ve created:

  • Node.js TSC – for members of the Node.js Technical Steering Committee
  • Node.js Collaborator – for anyone in the Node.js GitHub organization
  • Node.js Ambassador – for officially recognized Node.js Ambassadors

The goal was to keep things simple and avoid making fine-grained distinctions that don’t really apply in a social context like Discord. For instance, I didn’t think we needed a separate “Triager” role, since triaging is something specific to GitHub, not Discord.

@VoltrexKeyva suggested that the roles on Discord should better reflect those on GitHub — specifically proposing that we add distinct roles for Core Collaborators and Triagers.

Personally, I’m neutral on this but feel the current roles are sufficient. That said, I’d love input from the TSC on whether we should adjust the role structure.

ovflowd avatar May 12 '25 21:05 ovflowd

cc @nodejs/tsc

ovflowd avatar May 12 '25 21:05 ovflowd

FWIW, these roles reflect the descriptions provided in our moderation policy:

Collaborator refers to any individual with configured triage role or higher in any Node.js GitHub organization repository.

TSC refers to the Node.js Technical Steering Committee.

avivkeller avatar May 16 '25 16:05 avivkeller

I do agree with @avivkeller here. And since there has been no input from any TSC member, I do believe per lazy consensus seeking they are in agreemeent.

One small @nodejs/tsc bump, and if in another week we don't get any -1, I'll close this issue.

ovflowd avatar May 25 '25 13:05 ovflowd

Personally I would go with something significantly simpler and keep the sync needed only if needed for whatever reasons.

The important part is to have a few people with admin/owner permission (or just a holder account with credentials in OnePassword).

mcollina avatar Aug 18 '25 06:08 mcollina

The important part is to have a few people with admin/owner permission (or just a holder account with credentials in OnePassword).

My understanding is that as the Discord server is an independently owned community, we shouldn't have ownership permissions over there. For CoC escalations, these can be directly deferred to @vcarl. He acknowledged that CoC escalations imposed by the Foundation would be guaranteed as defined in the Foundation's CoC and the shared (agreed) moderation policies for the community.

So far, members of the Node team (me, @mattipv4 and others) have "mod" permissions, in case we need to kick/block/enforce CoC. That said, it's not part of the agreement for us to have an admin account/owner account (even if for extreme situations) as the server doesn't belong to us (it is independently owned) and we defer moderation to their moderation team.

Personally I would go with something significantly simpler and keep the sync needed only if needed for whatever reasons.

Right now we have the roles described on the opening thread. They have worked so far without issues. I personally feel we should leave as it is.

ovflowd avatar Aug 25 '25 15:08 ovflowd

👍 I am +1 for leaving the server in the control of Carl and the community mod team, though if there's significant concern with that, a common pattern I've seen with brand servers is to setup a stub account for the brand that technically owns the server, and then ensure that the day-to-day owners have a dedicated role right at the top with admin.

MattIPv4 avatar Aug 25 '25 15:08 MattIPv4

👍 I am +1 for leaving the server in the control of Carl and the community mod team, though if there's significant concern with that, a common pattern I've seen with brand servers is to setup a stub account for the brand that technically owns the server, and then ensure that the day-to-day owners have a dedicated role right at the top with admin.

Noted. That said, it’s important to mention that we originally agreed to keep ownership as is, which was one of Carl’s requirements—and we were fine with that. I’m okay with changing it if everyone is on board, but I wouldn’t recommend making a big deal over us having an "admin" account or not. Things have been running smoothly, and I’d prefer to keep them that way 😅 (if possible).

ovflowd avatar Aug 25 '25 16:08 ovflowd

I think someone from the foundation or the tsc should have owner rights for example with a neutral admin account.

Besides that I have no strong opinion and I am fine either way.

BridgeAR avatar Aug 27 '25 13:08 BridgeAR

There was no objections to @BridgeAR plan, could you help set it up @ovflowd ?

mcollina avatar Aug 27 '25 13:08 mcollina

I believe OpenJSF Ops already has an account that we could ask Carl to transfer ownership to, and then make sure Carl still has a role at the top w/ full admin?

MattIPv4 avatar Aug 27 '25 13:08 MattIPv4

I think someone from the foundation or the tsc should have owner rights for example with a neutral admin account.

Besides that I have no strong opinion and I am fine either way.

I don't think we can force or impose that, this is an independently owned server that was granted an official status. It is not an OpenJS community or space nor owned by the OpenJS. Plus, Carl is explicitly against we having an admin account as that hinders the "independently owned account"

ovflowd avatar Aug 27 '25 13:08 ovflowd

There was no objections to @BridgeAR plan, could you help set it up @ovflowd ?

Sorry, I cannot help with that, because:

  1. I don't have the authority to create such account
  2. I personally disagree with this plan and this cannot be an one side decision from the TSC, the TSC cannot make an one sided decision here without having the other party to agree with this plan.

ovflowd avatar Aug 27 '25 13:08 ovflowd

I'm not comfortable with an "official status" chat server not being managed by at least one person from foundation or tsc. For example in case of a CoC violation there is no way to escalate etc... it's up to "admins" being kind enough to help moderation.

"explicitly against we having an admin account as that hinders the "independently owned account"

If so I think we should reconsider the "official status"

marco-ippolito avatar Aug 27 '25 13:08 marco-ippolito

I'm not comfortable with an "official status" cht server not being managed by at least one person from foundation or tsc. For example in case of a CoC violation there is no way to escalate etc... it's up to "admins" being kind enough to help moderation.

"explicitly against we having an admin account as that hinders the "independently owned account"

If so I think we should reconsider the "official status"

I’d like to push back a bit on this. Suggesting to revoke the official status feels abrupt, especially considering the close collaboration we’ve had so far. With all due respect, the concern seems more hypothetical than grounded in actual issues. The community already follows the OpenJS CoC and has clear escalation paths through it, and to date this partnership has worked very well.

Additionally, I believe the decision on official status is outside of the TSC’s scope, as it relates more to branding and marketing, which falls under the CPC’s responsibilities.

Personally, I’d find it disheartening if, after months of discussions and agreements, we were to backtrack on this due to concerns that don’t appear to have a real basis.

ovflowd avatar Aug 27 '25 13:08 ovflowd

Every other "official" communication channel is moderated by someone from foundation/project. I don't understand why this is a special case. The "independently owned account" goes against my view of what an official server is, and kinda against everything else we do around the project, things are owned by project/foundation not single individuals. Moreover

this partnership has worked very well

This is true until it's not and then it's too late. Anyways I hope we can find a way forward.

marco-ippolito avatar Aug 27 '25 13:08 marco-ippolito

Your "anyways I hope we can find a way forward" feels a bit off, since what’s being proposed here comes across more as a directive than a discussion. For context, many other organizations and communities have official spaces managed by third parties — this is completely normal and was intentionally set up this way. Both the Foundation and the TSC previously agreed to this approach, so it feels odd to bring the Foundation into the discussion as if they weren’t already aligned. 😕

To be clear: if we move toward revoking the official status based on this new requirement, then you can count me out of the project.

I’ve invested a significant amount of time and energy into this initiative, and it’s discouraging to see that effort disregarded. I don’t want to continue putting in energy on a project that doesn’t value or respect the contributions I’ve already made.

ovflowd avatar Aug 27 '25 14:08 ovflowd

If the administrator must be a member of the project, why not establish an "@nodejs/discord" team with Carl, Claudio, and a few others.

This would fulfill the requirement of having the owner be part of the project.

avivkeller avatar Aug 27 '25 14:08 avivkeller

@ovflowd Nobody here is dismissing the work you’ve put in, that’s appreciated. But this isn’t about your effort, it’s about how we define an official space for the project. Official channels need to have some level of accountability to the project/foundation, that’s how everything else works, and this can’t be the one exception.

Saying "either this or I’m out" doesn’t help the conversation. That turns a structural discussion into a personal standoff, and that’s not what this is. I'm not questioning your intentions or past work, but we also can’t ignore the bigger responsibility that comes with something being "official."

Let’s keep the focus on the project and figure out the right setup together, instead of framing this as a personal fight.

If the administrator must be a member of the project, why not establish an "@nodejs/discord" team with Carl, Claudio, and a few others.

This would fulfill the requirement of having the owner be part of the project.

This could be a way forward

marco-ippolito avatar Aug 27 '25 14:08 marco-ippolito

I don’t see the merit in revisiting agreements that were already reached. The current structure was agreed upon by both the CPC and the TSC, so I’m struggling to understand why this is being raised as a problem now. That’s the part I find frustrating. If, at any point, previously settled agreements can simply be reopened — despite the months of negotiation and countless revisions requested by both the CPC and the TSC — then it’s natural that the other parties involved will start to feel annoyed or discouraged by how much effort has already gone into this.

Official channels need to have some level of accountability to the project/foundation, that’s how everything else works, and this can’t be the one exception.

I completely agree with the principle of accountability. But where has it been stated that this arrangement is an exception?

For my own well-being, I’ll step away from this conversation for now. I just want to stress: please don’t go down this path.

ovflowd avatar Aug 27 '25 14:08 ovflowd

This point actually came up during the original discussion in a few places:

Comment 1

Comment 2

It was also noted that the "official" status could be revisited if the standards weren’t being met:

Comment 3

So I don’t see this as reopening something that was settled, the agreement itself anticipated that we might need to revisit some aspects. To be clear I’m not yet proposing to revoke the "official" status. I’m just trying to find a way forward that actually works and solves the concern that TSC members expressed in the discussion.

marco-ippolito avatar Aug 27 '25 14:08 marco-ippolito

This point actually came up during the original discussion in a few places:

Comment 1

Comment 2

It was also noted that the "official" status could be revisited if the standards weren’t being met:

Comment 3

So I don’t see this as reopening something that was settled, the agreement itself anticipated that we might need to revisit some aspects. To be clear I’m not yet proposing to revoke the "official" status. I’m just trying to find a way forward that actually works and solves the concern that TSC members expressed in the discussion.

You’re quoting individual comments that, at this point, don’t carry weight anymore. Every single one of these points was discussed thoroughly — over and over — during the process. I’m not sure if you were present in the TSC and CPC calls where these exact concerns were worked through.

If you weren’t actively involved in those discussions around the Discord server, I’m struggling to understand why this is suddenly an issue now. I’m absolutely open to addressing concerns in good faith, but I have to ask: what’s your goal here? Why bring this up in this way, at this stage?

To be clear, we already have multiple safeguards in place: there’s a [email protected] address, open communication with Foundation leadership and the server’s moderation team, and some of our members have moderation powers on the server itself. If the only missing piece is creating a Node.js team called “discord,” then that seems straightforward to do.

That said, I doubt Carl would agree that we should maintain an “owner account” on the server. From the very beginning it was made clear that this is an independently owned community that would need to adopt the Foundation’s CoC and moderation policies — and that’s exactly what has been done.

What I’m trying to highlight is that this community is already meeting the agreements and requirements set by the Foundation itself. So I’m struggling to understand what is meant by calling this an “exception.”

ovflowd avatar Aug 27 '25 15:08 ovflowd

I don’t want to drag this out further. My intentions here are crystal clear: to ensure accountability and to find a way forward so that the project has some kind of visibility and accountability in case things turn bad (or the owner goes inactive, busfactor). I was present for the TSC meetings, and I’m not trying to rewrite history, I’m pointing out that the agreements themselves left room for re-evaluation.

That said, I’ve noticed I’m not the only TSC member who’s raised questions, and those concerns have also been brushed aside. At this point, it feels like the conversation is becoming personal instead of staying focused on the actual problem (not the first time). That’s not productive, so I’ll step back here. But I’d ask that we keep in mind that no one "owns" this discussion, it’s about what serves the project best.

marco-ippolito avatar Aug 27 '25 15:08 marco-ippolito

I want to be clear that I’m not taking this personally. I’ve been sharing what I believe are valid arguments for why this concern feels misplaced. I’m also not trying to “brush off” anyone’s points. It’s true that I’m unsatisfied with the direction this conversation has taken, and while I do have personal reasons for that, I don’t think sharing them here would contribute constructively to the discussion.

That said, I’ve noticed I’m not the only TSC member who’s raised questions, and those concerns have also been brushed aside.

Again, I’m not dismissing concerns. From my perspective, it’s not clear if additional TSC members have raised specific issues, or if they’ve simply echoed Matteo’s earlier point of “we probably should have an admin account,” which itself came from a previous discussion. If Matteo or Ruben (or anyone else) has concrete concerns about not having an owner account, they should express those directly. If the TSC collectively feels that’s a requirement, then so be it — but I won’t be mediating further on this point. That’s not meant as a threat; I simply don’t see the benefit of continuing to engage here.

And to clarify something else: when I mentioned stepping away from the project, that wasn’t a threat either. It was me being transparent that I don’t have the emotional or mental capacity to keep engaging in discussions that are, frankly, exhausting. I’ll leave it at that — you should do what you believe is right, but I’m stepping back from this specific discussion.

ovflowd avatar Aug 27 '25 15:08 ovflowd

I'm closing this then.

mcollina avatar Aug 27 '25 17:08 mcollina