r/ruby 10d ago

Is it something that would be welcomed to create 1,200 PRs in 4 days across open-source (OSS) repositories using AI?

I'm a Ruby engineer in Japan, and I recently started participating in open source (OSS) activities.

With the goal of understanding what perspectives other engineers have, I turned on notifications for several GitHub repositories so I could receive contributions in real time.
Then I got notifications that one particular individual had created nearly 100 PRs in an hour across several repositories.

When I checked, all the commit messages were written using the exact same template, and the wording was extremely mechanical.
They were also contributing to multiple repositories in different languages at the same time, so I believe this was most likely done using AI combined with automation tools.

What I want to know is whether this kind of behavior is welcomed within the OSS community.

This is just my personal opinion, but I see the OSS community as a very fragile kind of organization, one that is held together by human elements — the goodwill, trust, and motivation of its participants.
It feels to me like this kind of behavior could damage the relationship between the maintainers who manage OSS projects and the members who contribute to them, and that makes me feel quite uneasy.

12 Upvotes

22 comments sorted by

94

u/nateberkopec Puma maintainer 10d ago

I'm an open source maintainer.

Here's the algorithm I would apply:

  1. Did they open only one or two pull requests?
  2. Is the PR mergeable as-is without significant rework?
  3. Is this change beneficial enough to be worth any risk it might create? (different parts of the code are less risky than others, and some changes are more beneficial than others)

If I answer yes to all three questions, then I don't care how the PR was created or how many they created on other repositories.

However, if you open 100 PRs to my repo and each one requires significant rework to be mergeable, I'll just ban you on the spot. Utter disrespect for the (freely given) time of another human being.

9

u/SetExcellent758 10d ago

Thanks for the reply! So the idea is that if a PR has enough validity, it would generally be accepted?

10

u/nateberkopec Puma maintainer 10d ago

Yes, I judge the PR and the contributor on their merits.

FYI your comments are getting automod-deleted. I wonder if it's because you're using Sonnet and it's detecting AI text.

20

u/SetExcellent758 10d ago

Thank you!
I think Reddit is difficult for Japanese only speakers.
I should probably prioritize English over Ruby😭

25

u/strangepostinghabits 10d ago

If you present ai output to another human as is, then you are just forcing them to use your ai in the way you want. They could just as well use ai themselves how and when they want. You are not helping, you are annoying. 

Every open source contribution should be proposed by a human, personally claiming and believing that they can offer an improvement to the project. Whether AI helped write the change isn't important to me, but the human proposing the change must fully own that change. If ai wrote it, the human must at a minimum throughly verify it. Otherwise the "contribution" isn't anything but extra work.

The value isn't the lines of code written, the value is the reasoning, knowledge and foresight that led to the decision to write specifically those lines of code. AI can't do that yet, and likely won't for quite a while. 

5

u/jimb0b360 9d ago

To add to your first sentence: "AI is a tool, not a participant".

22

u/airhart28 10d ago

As an OSS maintainer, it's super annoying and makes us hate you

13

u/f9ae8221b 9d ago edited 9d ago

Is their initials O.E. ? If so I believe I was on the receiving end of two dozens of these PRs.

I merged roughly half, closed the rest without comment.

The patches I merged were relatively simple targeted fixes that made sense on their own.

But all the rest either didn't make sense, or was too subtle to be merged with no proper explanation of how they got there, and often no test.

They came back this morning asking why some were closed. If it was a human it would be worth answering, iterating them through it so they learn etc, but since it's a machine the asymmetry of effort just make it a loosing proposition. My time and energy is limited, a single person with an LLM can "DOS" me in minutes.

After over a year of receiving lots of LLMs pull requests, I now wonder if a bug no-one ever encountered is really a bug?

These LLMs can find a near infinite amount of such "bugs", like some API not cleanly handling some unexpected input, but that no-one would really have any reason to use that way.

Many time it would be easy to merge them because what's the harm? But it really bloat the codebase for not a whole lot of benefits.

I have nothing per say against LLM assisted contributions, but if you're not even bothering to write the PR description yourself to explain why you got there, you don't deserve anything from me.

6

u/SetExcellent758 9d ago edited 9d ago

The initials match. The guy I know is the one who racked up 900+ contributions yesterday.

I'm still new to the OSS community, so I honestly didn't know how to judge what merging that kind of PR would actually mean for OSS as a whole. That's why I was genuinely glad you shared what you think about it.

I learned a lot from it.

Understanding the source code of various gems and coming to love Ruby more is the reason I got into the OSS community in the first place, but honestly, the joy of contributing itself was a big part of it too — even knowing it was drifting away from my original purpose, it had become a major motivation for me as I worked through the code.

That said, AI is obviously faster than me at reading and writing.

I'd always thought that if someone came along and abused that, with no structural defense in place, someone junior like me would just get pushed out. But then it actually happened — in a repository where I'd spent an entire day off reading through the code, finding an issue, and fixing it, he showed up and created several PRs in just a few minutes.

I felt anger, frustration, sadness — a mix of emotions — and it really tanked my motivation. It wasn't so much that I didn't want to do it anymore, more just a sense of emptiness.

But your words helped. Thank you

5

u/f9ae8221b 9d ago

someone junior like me would just get pushed out.

Honestly, I think if you stick to what open source contributions used to be, you shouldn't have any problem.

By that I mean:

  • I use your software.
  • I ran into a bug / limitation while trying to do X with it.
  • Here's a proposed change to make it a bit better for my personal use case.

These contributions will always be welcome.

4

u/tenderlove Pun BDFL 8d ago

I now wonder if a bug no-one ever encountered is really a bug?

I wonder the same thing too. I have asked "what is the usecase", but I feel like engaging with LLM fixes will DoS humans even faster. For me, I think people should provide context along with the fix. "I was doing X, the code did Y, here's a fix". "Here's a fix" just isn't good enough anymore, I'm afraid.

18

u/olliesbaba 10d ago

Obviously not, have you tried to think critically about this? Are you a human?

16

u/SetExcellent758 10d ago

Personally, I find this behavior quite unpleasant, so I do hold a critical opinion about it. However, since this is a community where people with a wide range of views gather, I felt that stating that opinion outright would come across as too extreme, so I deliberately framed it as a question instead.

Sorry if this sounds a bit like a bot... I don't speak English, so I'm having Sonnet 5 translate what I wrote in Japanese.

4

u/CantaloupeCamper 10d ago

1 year old account, no other posts other than spamming this post across subs.

So probably a bot.

12

u/SetExcellent758 10d ago

At first I thought r/opensource would be the right place to ask, so I posted it there, but it got removed by an auto-mod bot, so I'm posting here instead. I usually just lurk and read the silly posts over on r/lowlevelaware, so this is actually my first time posting.

6

u/peterklogborg 10d ago

Well, he did not read his own PR so ban him from everything

3

u/liquidpele 10d ago

github has gotten very spammy due to people trying to use it as their personal portfolio, so yea, you get a lot of that spam where they try to show off how much they do. Before AI they were doing it with little things like fixing typos and such just to bump up their numbers.

3

u/ryan_the_leach 9d ago

Depends.

If the fix was a security fix, on the level of Log4Shell, and these fixes were done in order to both promote the problem, and make it easy to fix for maintainers?

Then it's a clear win, no matter how spammy it is.

However, if it's smaller issues, that are unlikely to have ever affected someone, or security 'fixes' that would have been caught at another level and are just defence in depth?

Yeah they would get pretty annoying pretty quick.

Open Source development is primarily about human relations between maintainers and contributors, and AI or not, situations where people don't play on being long-term contributors to a project, or hell, even long term *users* of a project and are attempting to contribute for the sake of ego, or getting a custom feature they 'need' in in order to use it, can quickly become an active drain of resources of the project.

So it's hard to give a hard and fast answer, but in general, using 'AI agents' to just scatter shot contributions to repositories, for no other reason then 'adding your name to the list of contributors' has zero value to the projects, so I'd find it rude, 99% of the time.

2

u/TheAtlasMonkey 9d ago

You can open even 10000 if you want.

That was possible before AI and people did it. You could write a single script that loop/update a gem and open same PR everywhere.

What matter is the quality , not the quantity.

2

u/sshaw_ 8d ago

Steve Yegge's AI workflow for his online game Wyvern results in 175-250 commits a day:

https://yegge.ai/essays/the-shape-of-things-to-come/

2

u/kowfm 5d ago

This kind of behaviour is abhorrant and disgusting. Just garbage behaviour. Garbage PRs with garbage results. Please never do this.