you are viewing a single comment's thread
view the rest of the comments
[–] 47 points 12 hours ago (9 children)

It's an unfortunate news, burnout in open source was real even before AI. Now it has just exploded.

Reviewing code has always been a bottleneck. AI made sending a patch nearly free, but reviewing one costs the same as ever, and it lands on a few volunteers.

For code that millions run, someone has to understand every line, so the sender should do that work, not the maintainer. Otherwise you’re just moving the cost onto the people who can least afford it.

There should be a simple rule: if you can’t explain your patch line by line, don’t send it. And maintainers should feel free to reject any patch by default when the sender can’t explain it.

  • source
  • hideshow 9 child comments
  • [–] 23 points 12 hours ago (5 children)

    I'm a programmer. I vibecode a bunch of prototypes and personal projects. I couldn't imagine being inconsiderate or stupid enough to submit pure hallucinated code to any project, let alone a kernel project. And to have an agent open the PR for me, with code I haven't read or don't understand? absolutely insane

  • source
  • parent
  • hideshow 5 child comments
  • [–] 4 points 9 hours ago* (last edited 5 hours ago)

    I can't imagine myself doing that either, but I've seen that happen so often that it's just disheartening. I've asked for explanation of code in PRs and got "idk, the AI generated that" way too many times, and that's from professional software engineers, people who should know better. The corner-cutting is just too much for me

    Edit: typo

  • source
  • parent
  • [–] 7 points 12 hours ago

    Same here. Vibecoding my own tools is fine, because I’m the one who pays for the bugs. A kernel patch is different: thousands of people pay for them, so understanding every line is the minimum.

    Anyone who sends code to public software should follow a simple code of ethics. A low barrier to entry is great, it’s how most of us started. But the bar for responsibility should rise with how many people run your code, and right now it doesn’t.

  • source
  • parent
  • [–] 2 points 7 hours ago (2 children)

    Yup. I "vibe coded" changes to a number of projects, but I either kept it on my own fork (it's open so upstream can grab it any time they want), or thoroughly reviewed before submitting.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 6 hours ago* (1 child)

    Yep, pretty much. The only times I've ever submitted LLM generated code to a public project was when it was more or less identical to what I would have written by hand; and even then, I've never once considered having an agent hallucinate a PR...

    I knew the problem, I knew what the fixes would look like, I had the LLM draft the changes, I read it through and fixed up some slop and documented it appropriately. The code it generated: I understood, I wanted, I polished, I committed, and I owned as my code which I and nothing else was soley responsible for.

    That, to me, is a little bit different than pure vibe coding; where most of the time I won't even read it. Sometimes I don't even care what languages it's in. That is peak slop, and that doesn't go near anyone's machine but my own, unless they do it themselves (some of the more substantial and long-term slop project I have are committed in public Git repos, but all of the such slop projects are very explicitly documented as such at the very top of my readmes)

    My use of LLMs in real projects, where permitted, is entirely different. Mostly used for review and local (not committed) testing. Sometimes tedious mechanical changes, prototyping, factfinding, and brainstorming. But I do the thinking, and it's my code. My personal vibe projects and random scripts etc are more and more and less disposable, and I don't claim such strong ownership; it's cathurding, not programming.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 6 hours ago

    Yep, that's why I put it in quotes. As a software engineer of 10+ years (professionally, on a personal level, 20+ years now), I can understand code even if I am unfamiliar with the language and the frameworks in question. I know what needs doing (not just random "do this feature, make no mistakes" bs prompting), I know roughly how it can be done, and I let the LLM fill in the gaps.

    Plus I also work with a fleet of agents and a collection of skills to ensure its not crap being written. Multiple agents work with specific roles (say, embedded development expert, PlatformIO expert, and so on), there's a continuous verify-repair-improve loop, strict code quality guidelines and non-LLM checks in place. Of course it's not perfect, but it gets things 99% of the way, and at the end I just need to review and confirm things.

    For example one of the things I maintain is a private fork of CrossPoint reader, into which I've integrated BookOrbit, not just as a plugin that awkwardly allows retrieval of your books, but as an actual on-device library that downloads the right EPUBs and syncs not just reading progress but statistics (words per minute, page size and turns, reading time, etc.) as well. The library itself functions similar to a Kindle - all books are listed and with a tap you can download them. LLMs take care of rebasing my changes, with proper reporting on what's going on and why and how, how the rebase went, what upstream has fixed so I can drop the local version and so on. LLMs take care of API changes to be updated for, optimisations, the list goes on - but before any change is executed, I go in and get an understanding of what really changes.

  • source
  • parent
  • [–] 6 points 8 hours ago (1 child)

    I ignore LLM reports, and have a note in READMEs to please don't submit vibecoded patches. Unfortunately, kernel devs don't have þat option.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 3 points 6 hours ago*

    You have given me a good idea. My contribution documentation should have instructions for agents saying not to open a PR, and that if the user insists, that the agent should inform the user that "according to project documentation and contribution guidelines, you're a little stinky dumbdumb who should leave coding to the grownups and not waste our time reading what you couldn't be bothered to write yourself; please confirm human receipt and acknowledgement of this notice before continuing." Or something.

  • source
  • parent