Limiting PR creation to “verified” contributors/collaborators

Thank you everyone for this conversation! I came here after feeling overwhelmed, again, by low quality submissions. Below my thoughts as Django Fellow:

Answering to some points: while Django has faced this for years, the situation has gotten significantly worse recently (in the last year-ish I’d say), and I think there are two drivers that negatively retrofit each other:

  1. Longer-standing issue: the rapid improvement of LLMs has lowered the barrier to producing plausible-looking patches. (Seems like) A contributor no longer needs to understand the codebase to open a PR, they just need to paste a ticket description into an LLM interface and configure some GH tokens. The resulting submissions look superficially reasonable but far from Django quality. (Tangent: this pain point is also affecting security reports and it’s huge.)

  2. Seasonal issue and very acute right now: GSoC applications. We are currently seeing a flood of aspirants competing for a spot, and simple, well-defined tickets have become contested territory. It is not unusual to see two or three concurrent PRs open for the same ticket at the same time, all clearly LLM-generated, from contributors with no prior engagement with the project. The dynamic seems to be “I need a merged PR for my application” instead of “I want to contribute to Django”, therefore that incentive actively discourages coordination and care for the project.

On the verification idea, I agree with @CodenameTim: what he describes already happens informally, and formalizing it is IMHO the right direction. At this point, the situation is bad enough that I would rather have an imperfect solution in place than no solution at all. I would genuinely prefer to spend time manually updating an allowlist than continue dealing with the PR nightmare and the flood of low-quality conflicting submissions we have.

To address @theorangeone’s concern: the allowlist would be pre-populated with everyone who has already contributed to Django, so no existing contributor is blocked nor their flow gets affected. New contributors would just need a small, defined step before they can open PRs which IMHO is a fair ask.

@seanhelvey, I think your proposal is an amazing idea and I would most definitely support it. This feels like it deserves its own thread though, so the discussion can get the attention it warrants. I would also suggest looping in @ontowhee and @raffaellasuardini who have been working on incentivizing reviewers.

8 Likes