Pull request limits are cutting down the noise
56 points
5 days ago
| 7 comments
| github.blog
| HN
CodesInChaos
2 hours ago
[-]
The primary spam problem isn't that a single account opens many pull requests on a single repo, but that spammer accounts open many pull requests spread across many repositories. So limiting accounts to a couple of open PRs on my repository won't help much.

I'd rather enforce a limit based on the number of PRs that account opened across all public repositories it doesn't have write access to within the last week. And PRs that were closed without getting merged should be held against the account somehow (perhaps via a "close as unwelcome" option for the maintainer).

reply
jdxcode
17 minutes ago
[-]
Your proposal wouldn't help me at all. I wouldn't say that the problem I'm having is even "spam" per se. (For context I receive hundreds of PRs each week across my OSS projects like mise)

In my case I sometimes get a flurry of PRs from over-exuberant contributors, not necessarily low quality even! Using this I can at least put some back-pressure on that and help keep things more fair across my contributors.

reply
QuantumNoodle
28 minutes ago
[-]
Good point. I've (even with agents) never made more than like 5 PRs in one day internal to a company and if I have they typically included accompanying proto or submodule changes. Heck give a factor of safety of 2x and cap at 10 daily PRs per account for repos that youre "untrusted"
reply
freedomben
1 hour ago
[-]
> And PRs that were closed without getting merged should be held against the account somehow

That strikes me as a bad solution. I've sent plenty of PRs over the last two decades that were things I wasn't sure if upstream wanted or not, but I did the work and wanted to offer it to them. If you get penalized for not having a PR merged, it's going to incentivize selfishness

reply
CodesInChaos
1 hour ago
[-]
That's why I suggested an explicit "close as unwelcome" option (label to be bikeshed). And the impact of the rejection should decay over time.

In any case, my proposal is a rough sketch of how I'd approach the problem, not a production ready algorithm. But I'd expect even that basic approach to work a lot better than github's approach.

reply
danuker
19 minutes ago
[-]
Really it should be a "report as spam" option
reply
dleeftink
1 hour ago
[-]
Hence the cooldown period? I think the mechanism proposed here should be perfectly fine for targeted PRs, while mitigating those that sit above baseline.
reply
trjordan
2 hours ago
[-]
If you didn't take the time to write it, why should I take the time to read it?

This is a band-aid. Maybe even a good band-aid, because it'll keep individual contributors from flooring the zone. But the core problem is Github's model that assumes code is worth reading.

I'm much rather see the agent logs stapled to PRs. Make it easy to understand if there's a brain behind the suggested changes before engaging.

reply
cameldrv
1 hour ago
[-]
> If you didn't take the time to write it, why should I take the time to read it?

This is the fundamental problem. You have to look at the equilibrium. When you submit a PR, you're asking for some of my time. I have to figure out if it's likely to be worth it for me. If you have a track record of producing useful software that I have merged before, you're putting your reputation at risk when you submit a new PR, so it's probably good. If you start sending AI slop, I'm going to downgrade your reputation.

If you have no track record though, I'll probably at least take a glance since even if I'm not sure, at least you had to spend some time to write the code and put together the PR. Now that's not true.

My guess is we're going to have to create some new systems for reputation, maybe bond posting, maybe "sponsored" PRs, where someone trusted vouches for it, etc.

Incidentally, this doesn't just apply to PRs. It's emails, all kinds of other messages, reports, etc.

reply
frankfrank13
3 hours ago
[-]
I think this is a really solid move. This gives OSS contributors a lot of flexibility. You could set the limit to 0, and manually add contributors. You could set it to 1-3 to allow people to get their foot in the door. But the de facto limit today is infinite, which is spammed. Imagine if GMail did this! If I don't whitelist or reply within `n` emails, youre done. I would KILL for that.
reply
SoftTalker
2 hours ago
[-]
I get a lot of emails that I want to get but never reply to. I would not want to have to remember to whitelist all of those.
reply
frankfrank13
2 hours ago
[-]
Yeah fair, then you could set it higher, even 100. Or default it off.
reply
jasonpeacock
2 hours ago
[-]
HEY email service does something like that:

https://www.hey.com/features/the-screener/

reply
Unfunkyufo
2 hours ago
[-]
I don't often give GitHub credit, because I work with it every day and I encounter something frustrating or broken nearly every day ending in "day", but kudos to them for working on addressing the some of the big problems.

I also like the other features mentioned in the blog post. It won't make a difference to me and my daily work, but I'm glad that they are taking the criticisms seriously.

Though I have to admit that I'm a bit conflicted about this. Part of me also wants more people to move off of GitHub to help break their monopoly on code on the web, but I also don't want the people making and maintaining open source to give up their projects due to burnout and slop spam.

reply
esafak
2 hours ago
[-]
We should have agents to triage PRs. Their "smarter bypass signals" is already implemented by Mitchell Hashimoto's Vouch system: https://github.com/mitchellh/vouch
reply
cyanydeez
2 hours ago
[-]
also, close all issues and open them as you plan to work on them.
reply
righthand
3 hours ago
[-]
Oh stop, the noise is apart of your business model to stay relevant.
reply
MeetingsBrowser
3 hours ago
[-]
how so?
reply
righthand
50 minutes ago
[-]
How else would it appear as a popular platform without bots everywhere?

If there’s even any minor truth to dead internet theory then it extends to Github most certainly.

reply