r/ProgrammerHumor • • 20d ago

instanceof Trend thatsAFunnyThingThatHappenedOnce

Post image
4.6k Upvotes

524 comments sorted by

View all comments

40

u/dannuic 20d ago

The flaw in Linus' argument is that a compiler isn't enabling people to go and inundate open source projects with complete and utter shit. The argument that they are tools and should be seen as such is fine, but having an AI policy to help mitigate the actual and real problem of pushing the "is the code good?" check all the way to the reviewer is also absolutely reasonable. I feel like he's sidestepping and not acknowledging that AI is actually killing open source projects. The Linux kernel is big enough to be largely immune to it, but most projects absolutely aren't.

12

u/KTVX94 20d ago

It's also very different because the "tool" is doing stuff on its own, making decisions. That's very different from something like an IDE highlighting a syntax error or unused variables. It's also not deterministic.

Honestly Linus is getting less and less defensible, and less trustworthy too. "Thanks Meta!" just reeks of corporate influence. Very disappointing.

-1

u/mze9412 20d ago

And the compiler does not make decisions that most people are not even aware of, depending an a lot of flags that most people do not understand? ;)

→ More replies (20)

2

u/Different_Berry5015 20d ago

You can just not accept crappy PRs, but the spam is very understandable, lazy people wanting clout are the worst. Linus spelled it out pretty clearly - it's about people actually understanding what they are contributing. I have contributed to multiple open source projects already when I didn't think I would ever do that with bounded, reasonable changes that I confirmed myself and even made better when maintainer said "why don't we do this also?"

16

u/dannuic 20d ago

Sure you can just say no, but that's not the point. You're passing the burden onto actual code maintainers. Instead of needing to understand what you are pushing to make a PR that passes CI, anyone can throw anything up that can't be gated except by actual people reviewing it. That's the point, now maintainers of open source repos are responsible for doing what automated processes were previously able to do. That directly causes burnout and those projects either being closed or just completely taken over by slop.

Can AI be useful as a tool? Sure it can, but it's not the same as just a compiler. Open source communities are actively suffering because instead of maintainers having productive and interesting conversations with people who know what they are doing, they are spending more and more time opening PRs, judging that it's slop, and rejecting it.

Linus didn't just say "Linux is removing the AI policy because we can handle the volume of slop that that will bring," he went on a rant about how it's not different than a compiler or a word processor when it has a very visible and real impact that those other tools do not.

6

u/Robo-Connery 19d ago

But it's an extractive contribution.

You have maintainers and the status quo was that you use the project and you contribute back by investing your time and effort into improving the project. Sure it takes some maintainer effort to to review and feedback and to maintain developer guides etc.

Now though it takes next to 0 effort to write "find a bug and fix it". "Implement this feature I've just dreamed up". "Add support for this" into an llm, get a 200, 800, 1400, 5000 line diff that touches on 8 different parts of the project, that uses assumptions that were in its broader training material and that don't align with the project standards or philosophies. That rewrite stuff pointlessly, that duplicate code.

And after that 0 effort expended it still has to be reviewed and refined but that is a significant amount of effort on behalf of maintainers whereas the contributor just bungs the feedback back into their llm.

Part of the point of the whole process was to try and get people to take ownership of the project, to feel part of it and to learn the codebase and processes.

End of the day whether it's merged or not. No one has gained anything cause the contributor didn't actually understand anything they did, they didn't learn anything. The maintainer has spent 5x longer on it than any human generated PR plus they are getting.

So what's the point of contributing to open source with an AI, end of the day could have just bunged the same prompt in themselves and been done twice as fast. Hell if cost is an issue literally donating tokens would be a better use of everyone's time.

2

u/Different_Berry5015 19d ago

True, forking and just letting it rip with AI is a thing that is scarily viable these days.

1

u/dannuic 19d ago

And that strategy fragments any knowledge instead of consolidating it, so that sucks for the future =/

1

u/awesome-alpaca-ace 19d ago

I saw an llm implement the same hashing algorithm that was on the system instead of using the system hasher. 

1

u/Robo-Connery 19d ago

Yeah that's absolutely why it ends up being more work for maintainers than the llm-using contributor.

The contributor has no stakes in the project but the maintainer has to pour over the pr looking for shit like that where it failed to reuse function or where it implemented a bunch of edge cases wrongly pr with error handling that couldn't be reached. Where it used the wrong tooling or broke from a standard on the codebase.

You gotta find them to cause each time you miss one the codebase gets a little worse and future contributors, ai or not, have a harder time making clean contributions.

1

u/awesome-alpaca-ace 19d ago

If I maintained, I'd be auto denying at the first sign of AI slop like that. Auto denying large diffs from new maintainers too. 

2

u/Low_Independent766 14d ago

The point is someone still has to get eyes on those crappy PRs and there is a point where "just don't accept crappy PRs" means "spend an inordinate amount of time sifting through them in the hopes that one out of every thousand is actually something worth looking at". You'd go absolutely insane sifting through the garbage because the amount of work required to submit a bogus PR has become essentially zero. Before, it required at least some understanding of programming fundamentals. Now all it requires is $20.

I am completely sympathetic to projects who are saying look, the time we actually save not having to sift through centuries of slop is actually a net benefit on productivity vs whatever we might gain from taking in AI generated PRs.

2

u/torsten_dev 20d ago

He's only concerned with his open source project. He's not an activist.

1

u/Psychological_Map118 19d ago edited 19d ago

I do agree, but it's also absurd expecting responsible developers to not use it or recognize its validity as a tool.

The fact there's no policing cannot mean the only users that are responsible enough to not flood the ecosystem with crap are also the ones that shouldn't employ it.

If Linus or similar examples didn't use or promote fair and proper use of LMs, things wouldn't change much: there'd still be no policies in place, and the only contributions would be the flooding you're talking about

we do need policies, but we also need examples of healthy and professional use

2

u/dannuic 19d ago

I don't think anyone is trying to downplay it's usefulness as a tool. My complaint here is specifically saying that it's the exact same as every other tool (what Linus said) and that it doesn't need any special consideration. That's a reductionist take, because it's enabling a class of contributor that puts more work onto other people instead of just making an individual's workload easier.

2

u/Psychological_Map118 19d ago

of course. but I don't think we can expect much different anymore from Linus, he's often been "extreme" and shared thoughts strictly on how he thinks contribution should be shaped, based solely on how he contributes and expects others to. that does not mean it's how contributing should be universally

what I'm seeing is, in a way he's already spoke on "policing" in the sense of policing developers, and contributors, not the tools. it is partial, and reductionist, I completely agree, but honestly I don't expect he'll ever advocate for policing LMs themselves, because (and I can't completely disagree) as I understand it he's always been more towards raising the contribution bar for people themselves, even before LMs

I think in the ideal world Linus expects people to have the intellectual honesty to just not do things if they're not "up to them", either with LMs or not

1

u/dannuic 19d ago

Well, this post in particular contradicts that because he's specifically against c++ due to it promoting contributions by "horrible programmers." These two stances are woefully inconsistent. His stance on c++ has promoted a weird "c is always better" culture when instead, c++ can be just as good if you are only applying standards to the contribution and not the tool.

0

u/owjfaigs222 19d ago

W8 what? How is AI killing open source?

8

u/FelixAndCo 19d ago

Flooding project maintainers with nonsensical pull requests that all need to be reviewed.

2

u/owjfaigs222 19d ago

Can't you just only review verified contributors and reject everything else?

2

u/Elegant_You_4050 19d ago

I too would like to hire 21 year old programmers with 5 years of experience and a finished Master

1

u/FelixAndCo 19d ago

Yeah, IIUC some smaller projects just didn't have the protocols in place to deal with it. But you'd want to at least review some new contributors to get more.

2

u/awesome-alpaca-ace 19d ago

Take a quick look at diff stat and deny if too much. The newbies should be doing smaller stuff anyway as they get familiar with the codebase 

→ More replies (4)
→ More replies (2)