There's a PyPA Discord now!

All credit/blame for setting this up goes to @bernatgabor. I’m just the messenger letting everyone know that this has happened. :wink:

Discord?

Discord is a group-chat platform, similar to IRC/Slack in many ways, with fairly well integrated voice chat and fairly well built moderation tools. Discord servers [1] are roughly analogous to Slack workspaces, with each server being its own community with its own moderators. Users can join multiple Discord servers. One of your options is now the PyPA Discord. ^.^

Why?

Good question. I don’t know why this one was created specifically. That said, I do like Discord and it’s nice to have a place for voice-chat-if-we-want. I will note that lately a bunch of Python projects (urllib3 and Beeware being the easy ones to point at) have made Discord servers as well.

[1]: Don’t ask me why they called it “server” though. Pretty sure people who use/used IRC would find that choice distasteful. Thankfully, most of Discord’s users are born after IRC had peaked. :slight_smile:

10 Likes

Would there be an interest to bridge the text room(s) on Discord to the existing IRC ones? (IIRC there is also a Slack room but it is for PyPA internal communication?) Since the IRC channels are already low traffic, I suppose fragmentation of communication channel might not be desired.

In addition, I would love to see all of these bridged to a Matrix room as well so I can keep myself updated without running an IRC logger or being regularly harassed every other week by the NickServe bot. I am well aware of the logs kept by pmxbot, but it isn’t as convenient to browse. AFAIK @pganssle and @sbidoul are/were already on Matrix.

It’s worth noting that messages forwarded by bridges are not always aesthetically pleasing, but they are incredibly useful connecting people together. I have been on a room bridged between at least four different platforms (IRC, Matrix, Telegram and Discord) for half a year now and communication is natural after a short time to get used to.

1 Like

There is no such thing AFAIK. There is a PSF Slack, where there’s PSF staff and some community members.

1 Like

Thanks for the heads-up.

Bernat: could you talk a little bit about why you started this Discord?

Who are the moderators and administrators for this Discord? How are they
chosen?

Where can I see public, searchable, linkable logs of the public
conversations happening on this Discord? I presume people are having
conversations there that we’ll want to be able to refer to within GitHub
comments, so we’ll need a public linkable archive that people can read
without being logged into Discord, if there isn’t one already.

1 Like

Selfish reasons. I don’t do IRC. I maintain two pypa projects (virtualenv + build). I do use Discord daily (it’s where people can also reach me for tox). So if someone wants an informal chat I’m easily available there. Therefore I made a server and rooms for both the projects I maintain. Pradyung joined and created one for pip, Jason followed and created one for setuptools. So mostly organically grew.

Me, @FFY00, Pradyung and Jason. I grant access to anyone who maintains a project under the pypa Github org and requests access.

I have never seen the need for this, and I haven’t heard of such functionality/solution, though might exist.

The lack of public, indexable chat logs on Discord is a thorny issue. It has hurt gaming communities in particular which have moved from forums to Discord en masse and users are not able to find answers on Google.

1 Like

Fyi, it is possible to make discord logs public to some extent, though I haven’t dug into the details: https://github.com/python-trio/trio/issues/167#issuecomment-678904579

I’ve never seen Discord as a platform where the history is significant, rather more of a conversational space. In my experience, its best use for collaborative projects is brainstorming and discussing ideas, as well as casual banter on semi-related topics.

Awesome idea! This will substantially ease collaboration.

On Mon May 3, 2021 at 6:35 PM +0000,
Sumana Harihareswara via Discussions on Python.org wrote:

Where can I see public, searchable, linkable logs of the public
conversations happening on this Discord?

One solution could be to bridge the Discord rooms to the ones
on Matrix/Gitter: t2bot.io - Discord Bridge

There are already public logs with permalinks for both
Matrix and Gitter already (both now share
the underlying Matrix protocol, however at the momment only Matrix users
can join Gitter rooms, not the other way around).

Matrix rooms can also be bridged with IRC, whose logs can be managed
by the pmxbot. There are rooms already set up on matrix.org,
e.g. #freenode_#pypa:matrix.org, but the admin is unfortunately a bot
so certain configurations are not changeable. Such limitation does not
exist were we (humans) set up the bridges by ourselves.

That being said, I imply that by saying

I grant access to anyone who maintains a project
under the pypa Github org and requests access.

Bernát Gábor meant to have private/internal chat channels. Personally
I do not feel that private discussions help the transparency
of FLOSS projects, and having those on a proprietary platform
is not ideal either, but since I am not a PyPA member, I do not think
I have a say on this.

Furthermore, the channels were created mainly for verbal communication,
which can be expensive to log (in term of infra and toolings).
Mumble would support that natively but I am unaware of a way
to do it automatically and a web app to host and replay the records
with timestamp support out of the box.

This is not correct. Anyone is free to join it, and the discussion is public once you joined it. Just because it’s not searchable and accessible without joining doesn’t make it private. A good advantage of Discord is the option to do voice, though this is rarely used, but the option is there. As noted recording this would be harder. The goal of Discord is to offer a low effort throw-away communication. The outcome of design discussions is then summarized on other public channels/issues, so there’s no need to go back and refer to it. This is similar to what happens at PyCon US sprints/design discussions. No one wants every word said there to be recorded and indexed. We just then publish an outline.

1 Like

Thank you for the clarification, I misundertood it as being exclusive
for PyPA members.

I feel like I should note that I did so because pip related questions were being discussed in #general anyway. :slight_smile:

1 Like

I agree with this. I’m unlikely to personally get involved on Discord as a result (even though I use it for other things, like gaming).

The channel may be useful for user support, I guess, for users who are more comfortable on the Discord platform, but I’d be concerned if solutions end up being found on Discord but then not published anywhere that the wider community can find them in searches.

Note: I have no problem with the Discord channel as a personal communication option for people like @bernatgabor who prefer it, but I don’t think it should be viewed as an “official” PyPA communication channel.

1 Like

If we want to distance this from the PyPA, it might make sense to rename the discord channel to be “Python Packaging” instead of “PyPA”

Not sure what flexibility Discord allows on these fronts though! :slight_smile:

Paul, I think the official channel is always the channel the maintainer(s) can be reached. E.g. for virtualenv IRC is definitely not official because I never follow it, and as such it’s not enlisted as a communication channel under the project’s documentation. Currently, I view the Discord platform is an opt-in for PyPA project maintainers. If you don’t want to participate with your own projects you maintain that’s totally OK.

Generally, PyPA as a whole is hands-off on how individual projects are managed, so I’m not sure you can mark a communication channel official or not official globally (if you want to change/enforce such change you’d need to first hold a PEP-609 goverened vote to codify this).

It’s not any different than if we’d decide to not codify discussion at a packaging summit afterwards. Sure you could, but why would you. Overarching changes are PEP encoded, so at the very least you’d need to draw up a PEP afterwards to get acceptance.

Please don’t use the lack of rules as a defense when taking actions on behalf of the group and other folks in that group say that they disagree with/dislike that action.

While PEP 609 formalized a governance model to allow us to clarify what the projects get added and how we’d make decisions as a group, please don’t consider the lack of a “don’t do X” rule in it, to mean that you can do X without needing to taking other people’s inputs on things that affect them and accommodate for those as appropriate.

Even if this isn’t something where we have formal rules, for basically all of its history, the PyPA has operated on concensus building, the understanding that we’re all roughly working toward the same goals (improving Python packaging stuff) and accommodate for each other’s preferences.

Well, IRC which has historically served the same purpose is logged and publicly indexable. I’ve never found myself browsing the PyPA logs personally, but I’ve searched through the NixOS project’s logs on multiple occasions when I’ve been struggling with the nix package manager. ‘Throwaway’ communication can prove invaluable.

I’m not taking action on behalf of the group. I purposefully stated that it’s only currently official for projects I maintain. There’s a reason why I did not create neither setuptools or pip rooms. It’s not my place to do so. I guess I could rename the server to virtualenv+build and close down the other rooms. But currently pypa seemed the best way to group together build+virtualenv+setuptools+pip rooms. Also note I did not create PRs for pip/setuptools to mention the room as official in their docs, again because it’s not my place to make that decision. Again, generally I can only speak about projects I maintain, not the PyPA as a whole.

That’s definitely happened in the past. We’ve had design decisions made at summits that have been quite hard for those of us who weren’t present to catch up on.

I’m not saying that will happen with Discord, I just want to be clear that there’s no change to the “official” communication channels, in the sense that:

  1. PEP discussions must happen on the Packaging channel in Discourse (I think the governance doc still says the distutils-sig mailing list, but Discourse has become the replacement for that). If people raise concerns about a PEP on Discord, they won’t get heard (in the same way as for private emails, or face to face chats, or Stack Overflow, or anywhere else).
  2. Projects make their own choices over what their communication channels are, and for pip, that’s still the tracker unless the pip maintainers agree otherwise.

I’m also a little unsure of the intent of the Discord server. Is it open to the “general public” like IRC is? I got the impression that you need an invite to join a Discord server. If it’s for the general public, I guess it’s good as a mutual support channel for users. If it’s private, there’s a risk that “if you’re not signed up, you get left out”, which is what I want to avoid - and what I’m concerned that the “PyPA” label implies. After all, why not just use Bernát’s personal server to chat with him? Or a virtualenv one if you want one for the virtualenv maintainers and users?

Ultimately, though, I’m not that bothered. I’m not looking to dictate how other people communicate. I just want to make sure communication channels don’t get even more fragmented because people make assumptions that aren’t valid.