fedora-infra / supybot-fedora

Fedora plugin for Supybot
20 stars 23 forks source link

Add support for reminding people using "hey guys" #72

Closed mscherer closed 3 years ago

mscherer commented 3 years ago

See https://theinterconnected.net/kirabug/how-were-beating-hey-guys-and-why-its-important/

nasirhm commented 3 years ago

LGTM

mscherer commented 3 years ago

I didn't test the code yet, will do later tonight.

ryanlerch commented 3 years ago

I'm kind of leaning towards not having this part of supybot-fedora. Mainly because once we add this, there are many many other corrections that could be added in the future. Additionally, other limnoria users might find these kinds of admonitions useful.

IMHO, this would be a good candidate for a separate limnoria plugin, that can be used with (or independently) of the fedora zodbot.

mscherer commented 3 years ago

Sure, it would be a good candidate, but then, this would requires significantly more work.

To get a separate plugin, it would requires to split the code to a separate plugin (so add the boilerplate for the plugin), then do a separate git repo (so keep a pyproject.toml, tox.ini, etc), then a separate release on pypi, then do a rpm, and a package review and patching ansible to have the feature in zodbot. For a patch of 18 lines, with 12 being configuration declaration, that look a tad overkill.

And we can take a look at the naked ping reply. That's the same exact code, which mean there is indeed room for refactoring, and that it could also be also split and made generic. Except that since 2015, it didn't happen, which mean that the cost benefit is not in favor of pushing that upstream.

mscherer commented 3 years ago

So making something generic would mean that we can add any number of regexp and reply with something.

It seems that linmoria do not have support for a generic database for plugin. Looking at existing code, that is either a complete class to handle the DB in the code, like https://github.com/ProgVal/Limnoria/blob/master/plugins/Aka/plugin.py Or using existing code, but it is a per channel database, see https://github.com/ProgVal/Limnoria/blob/master/plugins/__init__.py#L308

nphilipp commented 3 years ago

The scope of this project is Fedora-specific IRC bot functionality, which is why I'll close this PR now. "No naked pings", which really should live elsewhere is an exception to the rule which got grandfathered in but shouldn't serve as a precedent.

That aside: even though I'm all for inclusivity I doubt that zodbot admonishing people about this issue would be helpful:

mscherer commented 3 years ago

So while I am sure that's not the intent, refusing the patch on technical correctness ground really send the wrong message on D&I given the context.

Yes, maybe the "No naked ping" should live elsewhere, but yet, folks didn't change that in 5 years. And while 5 years mean nothing, I see that the code was ported to python 3, to fasjson, and there was several folks working on it and a few commits. There isn't even a easyfix or ticket about that, so it really seems that this wasn't much of a problem before I pointed out. So let me be utterly unconvinced.

The same goes for "it upset people". Sure, some folks are likely upset, but not enough to submit a patch or even a ticket it seems from a quick reading of that repo. And while folks are upset, we should also take in account that folks likely changed their habits, and I guess i could do some analysis from my irc logs to see that.

So I am deeply unconvinced on both count. Yet, somehow, if we change the message and the trigger, the problem is a big problem enough to not merge the code. Unlike naked ping, I think it is fairly uncontroversial to say that gender imbalance is a huge problem in the industry, and worst in the free software movement.

I asked several folks on the D&I channel, and I think all that think it helpful. If D&I team is not enough, there is also several articles on that topic:

https://technical.ly/dc/2016/04/19/18f-using-slackbot-encourage-inclusive-language/ https://dev.to/kmelve/the-problem-with-you-guys-51h7 https://medium.com/@tamireiss/how-slack-can-help-everyone-stop-saying-you-guys-2e6534c4307e

And if D&I and folks on the internet are not enough, well, there is also at least one academic paper on the impact:

https://journals.sagepub.com/doi/abs/10.1177/0146167211406434?journalCode=pspc
"When He Doesn’t Mean You: Gender-Exclusive Language as Ostracism"

As for whether it work or not, my experience say it work. For a start, we can see with the naked ping message, folks no longer seems to ping without a useful message. For the "hey guys" response, it is used in several places (see links), and I did it working yesterday at Kubecon EMEA, where a few folks changed their message after the bot reminded them. As a side note, a few people said on the conference diversity chat that that they were positively surprised by the amount of women at the conference (as attendees and speakers).

So I disagree with the fact it do not work. There is no serial "pinger" on irc from what I see, and there is more inclusivity in community that deployed it.

Now, yes, there is folks who wouldn't care or would be annoyed, but if we did listen to them, we would just have kept sysvinit in the distro.

And yes, maybe a bot shouldn't do the dirty work. But I do not see anyone doing it, just folks saying it should be done. As Linus said, "talk is cheap, show me the code". That's kinda like closing bug reports. Everybody say that it should take the context, but no one does. So yeah, the ones in charge use a script, because they are the ones doing the work, not people suggesting it should be done another way.

Anyway, I anticipated that folks wouldn't like the patch, so I just went ahead preemptively, and learned Rust just to write a bot (https://github.com/mscherer/well-actually-bot), and made it easy to run in Openshift (12 factor app, etc, etc). It is currently working fine, even if the code is ugly as I never use rust before yesterday.

ryanlerch commented 3 years ago

Just to give a little more background here, my initial suggestion above was to write an additional plugin for limnoria (aka supybot). The fedora "zodbot" bot that lives in the fedora channels on Freenode is more than just this plugin. It has all the base limnoria / supybot fuinctions, plus the functions delivered by this plugin, as well as the meetbot functions by another plugin.

If another limnoria plugin was created to specifically add the "admonishments" like for "hey guys" or pings without context, we could work getting that installed on zodbot. The added benefit here would be for other communities that use limnoria / supybot, they could use this functionality as well, since they are unlikely to want all the specific fedora-related functions this plugin delivers.

jwflory commented 3 years ago

Hi folks! This ticket came up in the Fedora D&I team meeting. I think there is a value in something like this, but we need to consider contexts and think it through, before enabling by default.

@ryanlerch @nphilipp We will circle back once we have a chance to think this through in a public community discussion. I agree for now, we shouldn't add this code into zodbot yet. To follow the discussion, here is our Pagure discussion ticket:

https://pagure.io/fedora-diversity/issue/155