Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better persistent chat? #11

Closed
IanLee1521 opened this issue Feb 27, 2016 · 42 comments
Closed

Better persistent chat? #11

IanLee1521 opened this issue Feb 27, 2016 · 42 comments

Comments

@IanLee1521
Copy link
Member

As a communication medium, I've not really loved IRC. I like some things about it, but for instance, the fact that if I'm not logged in, I miss all the content is frustrating.

Maybe we should consider (and I haven't but would be willing to) looking into a Slack channel for the PyCQA? I know that similar discussions have popped up in e.g. python-dev recently and Discourse was another idea discussed. Though that is more a replacement / alternative to mailing lists rather than a persistent chatroom, so probably not the best, just highlighting that similar conversations are occurring in the larger community.

Would folks be open to trying one of these other venues out if I got something going?

@sigmavirus24
Copy link
Member

We could also get logging in there with botbot.me. It wouldn't have the same UX as Slack, but it would provide you a way to catch-up on things that are happening there (and you never have to log into the app to see it).

That said, there's also Rocket and a few other Slack-alike's. If we set-up Slack, we should could set it up with an IRC gateway/bridge to the IRC channel.

@sigmavirus24
Copy link
Member

https://www.zulip.org/ is another alternative.

Apparently I had already requested that botbot.me start logging our channel. I'll reach out to them to see if I'm going to have to self-host a logging solution. :/

@Nurdok
Copy link
Member

Nurdok commented Feb 27, 2016

Zulip has to be self hosted as far as I know (I use it in my workplace),
which is a pain. You need to set up an SSL certificate for it to work
properly and each integration is technical to add. I like the finished
product but it's a bit of a hassle to set up.
On Feb 27, 2016 7:30 AM, "Ian Cordasco" [email protected] wrote:

https://www.zulip.org/ is another alternative.

Apparently I had already requested that botbot.me start logging our
channel. I'll reach out to them to see if I'm going to have to self-host a
logging solution. :/


Reply to this email directly or view it on GitHub
#11 (comment).

@Nurdok
Copy link
Member

Nurdok commented Feb 27, 2016

In any case, I would definitely participate in any solution that is set up
for PyCQA.
On Feb 27, 2016 11:22 AM, "Amir Rachum" [email protected] wrote:

Zulip has to be self hosted as far as I know (I use it in my workplace),
which is a pain. You need to set up an SSL certificate for it to work
properly and each integration is technical to add. I like the finished
product but it's a bit of a hassle to set up.
On Feb 27, 2016 7:30 AM, "Ian Cordasco" [email protected] wrote:

https://www.zulip.org/ is another alternative.

Apparently I had already requested that botbot.me start logging our
channel. I'll reach out to them to see if I'm going to have to self-host a
logging solution. :/


Reply to this email directly or view it on GitHub
#11 (comment).

@IanLee1521
Copy link
Member Author

Ok, I just created a pycqa.slack.com site / account / team and invited both of @sigmavirus24 and @Nurdok . It looks like you have to invite folks, rather than being able to invite yourself, so if you'd like to join, send me ([email protected]) your email address, and I can send you the invite.

@sigmavirus24
Copy link
Member

You need to set up an SSL certificate for it to work properly and each integration is technical to add. I like the finished product but it's a bit of a hassle to set up.

Noted. I'd probably just write some ansible to take care of it for us.

I basically have some concerns with Slack:

  1. Free Slack groups can only keep so many logs (which means that we would have to start paying to retain our logs or have a job to regularly export them elsewhere... if you can even export logs)
  2. In order to allow anyone to make an account (without an invitation) you have to do something involving hosting an app on Heroku
  3. The native client for most platforms kills batteries (yes including laptops)

I'm not particularly adamant about our solution being FOSS (heck, I was going to use sponsored hosting to host an Open Source alternative and the hosting isn't exactly FOSS) but that's a nice benefit. I'm really more concerned about the first two items. And yes, at present we have no logs so some logs would be better than no logs. 😄

(Sorry I meant to post this earlier)

@sigmavirus24
Copy link
Member

It looks like you have to invite folks, rather than being able to invite yourself

Right this is what I meant by 2. (I wrote all of that last night but had never posted it. :/)

@IanLee1521
Copy link
Member Author

And yes, at present we have no logs so some logs would be better than no logs. 😄

That's where I'm coming from currently... I spend so much time (e.g. at work) hopping on and off network connections that it makes it really difficult to get any benefit from the IRC.

To be honest, I'm mostly motivated by trying to move from IRC, rather than wanting to try to get us in to any particular solution (and mostly for selfish reasons at that).

In order to allow anyone to make an account (without an invitation) you have to do something involving hosting an app on Heroku

Honestly, I didn't know this before I just went and set up the team, and it's a bit of a killjoy if you ask me.

@sigmavirus24
Copy link
Member

it's a bit of a killjoy if you ask me.

Yeah it's a lot more work than I think any of us want to get involved with. Personally I have no desire to administrate a Slack team for anything. I already administrate the code-quality mailing list (which is luckily at present a low-maintenance thing) and work on too many projects on top of having something resembling a life not at a computer. IRC means there's no maintenance for any of us.

To be honest, I'm mostly motivated by trying to move from IRC

I get that. I've just found IRC to be the easiest thing for everyone for various definitions of "easy". Perhaps it's a little Stockholm syndrome mixed with laziness, but anyone can hop onto Freenode via a web client or GUI or CLI tool and start chatting with us without having to register anything or give anyone an email address.

I know the user interface/experience is very suboptimal for IRC, but it meets most requirements. I've just found matrix.org but this is another register or self-host/self-federate solution that doesn't look to be entirely Open Source outside of it's reference python implementation.

I'm really not sure what the right answer is here. :/

@Nurdok
Copy link
Member

Nurdok commented Feb 28, 2016

If it's not too much of a hassle for you to install Zulip and set up its
integrations and SSL, then it might be a good solution (I didn't know about
the invitation thing in Slack).
On Feb 28, 2016 7:07 AM, "Ian Cordasco" [email protected] wrote:

it's a bit of a killjoy if you ask me.

Yeah it's a lot more work than I think any of us want to get involved
with. Personally I have no desire to administrate a Slack team for
anything. I already administrate the code-quality mailing list (which is
luckily at present a low-maintenance thing) and work on too many projects
on top of having something resembling a life not at a computer. IRC means
there's no maintenance for any of us.

To be honest, I'm mostly motivated by trying to move from IRC

I get that. I've just found IRC to be the easiest thing for everyone for
various definitions of "easy". Perhaps it's a little Stockholm syndrome
mixed with laziness, but anyone can hop onto Freenode via a web client or
GUI or CLI tool and start chatting with us without having to register
anything or give anyone an email address.

I know the user interface/experience is very suboptimal for IRC, but it
meets most requirements. I've just found matrix.org but this is another
register or self-host/self-federate solution that doesn't look to be
entirely Open Source outside of it's reference python implementation.

I'm really not sure what the right answer is here. :/


Reply to this email directly or view it on GitHub
#11 (comment).

@sigmavirus24
Copy link
Member

Not sure when I'll have time in the next couple weeks but I'll try and set up Zulip with Let's Encrypt

@The-Compiler
Copy link
Member

FWIW, I won't be using anything which isn't available over IRC or a libpurple-plugin (thus IRC via Bitlbee).

Gitter works pretty well over their IRC bridge, no idea about Slack (though it seems to have one). It looks like Zulip doesn't have an official solution for this?

So I'd really prefer Gitter over anything else (except IRC, that is), but please consider "Please don't use Slack for FOSS projects" too (most of those arguments also apply to Gitter).

@sigmavirus24
Copy link
Member

@The-Compiler I've used Slack over the IRC bridge and it works well. The problem tends to be in people not setting up their IRC client to connect securely to it though.

So I'd really prefer Gitter over anything else (except IRC, that is)

I have two problems with Gitter:

  1. Registration through GitHub (e.g., requiring someone have a GitHub account to use the service)
  2. In the past I used it to collaborate with GitLab and then was relentlessly notified of activity in the channel (sometimes twice in a day) until I signed back in and unsubscribed (which at the time was incredibly difficult to find and not something you could do via the notifications).

Perhaps we should take a different approach to this issue so we can come to a resolution instead of a multi-colored shaved yak shed.

Let's try answering some questions:

  • What is critically missing in IRC that we need out of another tool/network/etc?
  • Why do we need to get away from IRC?
  • What barriers to entry for a new PyCQA person does IRC cause?
  • What barriers to entry do other solutions cause?

@The-Compiler
Copy link
Member

Also, I'm wondering if there are any issues with IRC which aren't solved by either having a logging service, or people who need backlogs either using IRCCloud or running their own bouncer.

@sigmavirus24
Copy link
Member

running their own bouncer.

I could also run ZNC for people with our sponsored cloud services. In other words,

  • it would be free, unlike IRCCloud
  • it would allow them to use whatever IRC client they want, unlike IRCCloud (in which you have to use their clients)
  • it allows for scrollback and always online behaviour

I use ZNC for work because we use IRC for OpenStack and my company's communication channels. I can run an instance for people who might want to use it. I'd also like to get botbot.me set-up though.

How does this sound to folks?

@sigmavirus24
Copy link
Member

I'd still like to find out what's wrong with IRC though before setting anything up. Can we have a discussion focused (instead of on technologies/products) on why IRC is deficient and then based off that pick technologies we want to use?

@Nurdok
Copy link
Member

Nurdok commented Mar 2, 2016

I think a required feature would be that chat logs are persistent and easily accessible - i.e., when I connect, I want to be able to see the messages sent while I was away, even if I'm logging in for the first time. Also, I should be able to log in from multiple devices (phone, computer). Notifications are also a must for me.

@sigmavirus24
Copy link
Member

Notifications are also a must for me.

Notifications where? Phone? Computer? Email?

@IanLee1521
Copy link
Member Author

I agree with @Nurdok, my biggest complaint is missing messages when away. Multiple devices is great, but realistically, I'm fine with a web browser myself.

Notifications would be nice, not sure was @Nurdok meant, but to me it'd be great to get an email or something when someone "@IanLee1521" mentioned me in a chat, that would bring me back to look at it (since I'm not always logged in, and might not be a regular attendee

@IanLee1521
Copy link
Member Author

I'd also like to point out, that I'd really prefer we didn't have to do a lot of (any) hands on maintenance, and when I initially suggested slack (for instance) I didn't realize the restrictions it'd had. I'd personally never used it, I've just heard some rave things about it so that's what motivated the suggestion.

I'd also prefer something that we (anyone in PyCQA) didn't have to pay for to use.

@sigmavirus24
Copy link
Member

I'd also prefer something that we (anyone in PyCQA) didn't have to pay for to use.

I agree. That leaves us with:

  • Free Slack, which seems to not be desirable any longer
  • An OSS project that we would have to host on our sponsored hosting (thanks Rackspace and @jnoller)
  • IRC which can be augmented with OSS projects (e.g., ZNC and probably something for email notifications)

That said, only Slack/the OSS solutions give people the logs right there in their screen without having to look at a separate page in their browser. ZNC will only provide scroll back if it has been configured to join the channel. And then, it doesn't give you the entirety of the logs each time.

I'd really prefer we didn't have to do a lot of (any) hands on maintenance

So I'll do the maintenance without a concern for ZNC + logging infrastructure if botbot.me doesn't get back to us within a reasonable time frame. And if anyone ends up being interested in helping with the maintenance, all the playbooks and such will live in the PyCQA and people can contribute.

@PCManticore
Copy link
Member

Wouldn't something like free IRCCloud + a free logging bot be enough? I think we're using SnailBot for #pylint and it's a really good solution for me when it's paired with IRCCloud's real time notifications when mentions are used, so I almost never miss anything (just the messages which don't contain mentions to me, that's where SnailBot comes into)

@sigmavirus24
Copy link
Member

I didn't realize IRCCloud had a free version.

@IanLee1521
Copy link
Member Author

FWIW -- I started a gitter for PyCQA in general and pycodestyle in particular. Something I'm playing with at work, so seemed like a reasonable thing to try out.

I think everyone should just be able to join, but let me know if there are problems: https://gitter.im/PyCQA

@sigmavirus24
Copy link
Member

Can Gitter bridge to IRC? That would be ideal for me.

@IanLee1521
Copy link
Member Author

https://irc.gitter.im/

@sigmavirus24
Copy link
Member

Reviving this again #38 (comment)

My question is "What are the goals?" Example goals I can think of (not things that are actually goals here)

  • Something more approachable for users than the mailing list
  • Somewhere for "maintainers" or "project leads" to discuss things away from users
  • Somewhere for projects in the PyCQA to discuss things amongst each other/receive feedback/etc. (without users involvement?)
  • Other things?
  • Instantaneous chat?
  • Asynchronous chat?

Then we have to look at the options:

  • Discord
  • Discuss
  • Zulip
  • Gitter
  • GitHub Teams discussions (I can create over-arching teams for all the existing teams because the teams already have hierarchy)
  • Private (invite-only) mailing lists
  • IRC
  • Slack (I really would rather we not do this)
  • Something else?

@graingert
Copy link
Member

graingert commented Sep 20, 2020

I just replied to a message on the mailing list using the use email software button so that I could directly cc another pycqa member. My mail software doesn't support the In-Reply-To header so it created a new thread, which I cannot delete or edit.

So I'd like to expand on what "approachable" means to me:

Something more approachable for users than the mailing list

  • allows fixing mistakes: (edits and deletes with a record for pycqa members)
  • allows directly notifying other pycqa members who may not have opted into the tool (via registered email or github/gitlab account)
  • doesn't rely on specific software features of specific clients

@graingert
Copy link
Member

graingert commented Sep 20, 2020

Then we have to look at the options:

  • Discord

@asottile maintains a discord at pre-commit/pre-commit#783 (comment)

  • Discuss

there's a discuss here, https://discuss.python.org/categories I think it's fair for the pycqa to adopt a "code quality" category

  • Zulip

I think we'd (you'd) have to self host this? Also the demo system https://chat.zulip.org/ gave me a 502 when I tried it just now

  • Gitter

probably the most active sync/async chat tool in the pycqa: https://gitter.im/PyCQA/pycodestyle?source=orgpage

  • GitHub Teams discussions (I can create over-arching teams for all the existing teams because the teams already have hierarchy)

discussions seems like a good tool but I don't think we should enable it without winding down the mailing list

  • Private (invite-only) mailing lists

I think it's probably worth enabling an invite only mailing list this even if we later choose a different tool, as an invite only system is easier to wind down than a public one.

  • IRC

for reference, here's the pycqa channel, https://webchat.freenode.net/##python-code-quality I idle it in it with my IRC bouncer. It seems to be mostly noise from travis irc bots

  • Slack (I really would rather we not do this)

I really would rather we not do this

  • Something else?

@graingert
Copy link
Member

@graingert
Copy link
Member

graingert commented Sep 20, 2020

Somewhere for projects in the PyCQA to discuss things amongst each other/receive feedback/etc. (without users involvement?)

  • Private (invite-only) mailing lists

an unlogged irc channel has this effect, although it's not suitable for truly sensitive information (no crypto), it's clear who can read messages sent in the channel. idlers who are not pycqa members can be booted (see #python-ops )

@The-Compiler
Copy link
Member

regarding bridges, webtorrent syncs their discord, gitter and irc together

Would be interesting to know what they use - I'm only aware of matterbridge (which, despite the name, can bridge pretty much anything), though I haven't used it so far.

@graingert
Copy link
Member

graingert commented Aug 4, 2021

@MadLittleMods setup bridging for libera twisted and https://gitter.im/twisted/twisted and it's working great

@sigmavirus24 I just requested approval from you via github oauth to do the same for pycqa

@sigmavirus24
Copy link
Member

@graingert I think I approved it? GitHub hid it and never notified me

@ericwb
Copy link
Member

ericwb commented Jan 20, 2022

Did we ever conclude on a decision on this one?

@sigmavirus24
Copy link
Member

No, I don' tthink we did. I was leaning towards something related to Matrix but that seems to have gone the way of the cryptogrift [citation needed] and IRC is not really that accessible to folks. I'm leaning towards Discord because it seems to have actual community moderation tools and I don't recall Gitter having those.

@Pierre-Sassoulas
Copy link
Member

Pierre-Sassoulas commented Jan 20, 2022

I'm leaning towards Discord

+1, we had a discord for pylint/astroid for some time now and it's working as intended so far. (https://pylint.pycqa.org/en/latest/development_guide/contribute.html#discord-server)

@sigmavirus24
Copy link
Member

Is there a way to include Pylint if we made a generic PyCQA discord with channels for projects or should we rebrand the pylint one into a pycqa one?

@Pierre-Sassoulas
Copy link
Member

I'm open to rebranding the pylint discord, there's not that much activity and discord will scale very well if we add more channels and groups. Beside we have some members already and telling them to move to a new server with the old URL still everywhere on old documentation would create a mess. Do you have a particular logo in mind to use ?

@sigmavirus24
Copy link
Member

Would the one on https://github.com/PyCQA work or #41 probably has a higher resolution version

@Pierre-Sassoulas
Copy link
Member

Pierre-Sassoulas commented Jan 21, 2022

I created some groups and channels for the most active projects according to github, and changed logo and server name. I also promoted you to admin @sigmavirus24. Should be a sufficient start, let me know if I can do something else.

Here's the invitation link : https://discord.gg/Egy6P8AMB5

@sigmavirus24
Copy link
Member

I updated the docs to point to discord and discourage use of IRC. Going to call this one done. Thanks for the help @Pierre-Sassoulas !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants