During peer review a race condition was found in his code. Would he have spotted it himself when writing the code manually? Maybe, maybe not. He's only human, and the AI is only AI.
I'm in the "AI is great!" optimist camp myself, which is how I felt in the very early days of "this little crappy hobbyist Linux kernel thing that'll never go anywhere important" minix-list flamewars.
Once again, Linus demonstrating that those who understand the code, own the code.
I think this says way more about the industry being completely out of touch and less about Linus leading the pack.
There are intelligent arguments against using AI, your comment is not referring to any of them.
In short: Linus feels responsible for the quality of the Kernel, he expects the same of other devs. He does not care about the tools used to generate the code. He (or some other human) will call out submitted slop, whether LLM generated or human generated.
The kernel developers are probably a bit further in their thinking then some developers. They've been dealing with many thousands of contributors for decades. Git was invented by Linus Torvalds specifically to deal with ensuring only the best patches make it into the kernel.
Somebody posted a video with Greg Kroah-Hartman last week or so commenting on how he's been dealing with all the AI generated security bug reports. His key point is that AI generated reports are meaningless unless they come with a suggested fix as well. If you are going to generate the report, you might as well generate the fix. And it's a lot easier for him to review if the fix fixes anything worth fixing then to piece together a fix from a lengthy report. The larger the report, the less likely it is to get any attention. If the person contributing can't articulate why the fix is needed or how it works, they just reject the change and toss it back. That strikes me as very pragmatic. Judge a change on its merits. Not on how it was created. A report without a suggested fix is relatively meaningless.
And it can read all of the logs in the backend and browser simultaneously and understand what is causing issues. I’ve used that a few times and it is such a game changer for weird bugs.
The answer to this issue is not to equate any code generated by LLMs to slop. It is just not true. As you say, the latest models often flag things that I would definitely miss, or they simplify my code significantly with a just-released feature. I see benefits to code quality all day from using LLMs.
I'm just saying (not to you but to comments below): Lets keep it constructive, which means: lets keep it real, as in close to truth. Yes vibe coding exists, and it has it's place (ie in prototyping?). But not in the kernel, and also not in my own line of works. LLMs do have a place there though.
slop is slop.
Human slop is equally as bad, but this is not what Linus chose in this case, he chose to accept the higher risk of almost 2x as much more bugs using LLMs which lead to the introduction of LLM slop.
I don't care if it is Linus or anyone else, slop is slop human or not, with LLMs it is far worse.
I force all work to be split up into chunks, properly investigated, spiked, and planned out, and then implemented via TDD (with only system-boundary mocking permitted). It's not perfect, but I've seen regression bugs very much cut so far.
Beyond that, if it's a GUI app, I also require the TDD cycle to require GUI tests with screenshot evidence, and proper assert statements.
He didn't even review the code. [0] Someone else did.
[0] https://lwn.net/ml/all/as6vBoWQGglxXxb0@thinkstation/
This is what happens when you use LLMs and this is far more irresponsible of Linus because he is vibe coding C code in the kernel.
You know it won't be properly reviewed and understood.
Using LLMs to review code is much more useful imo but it can also cause problems due to the natural lazyness of a person.
You wouldn't want the OS you are using to be developed by a dilligent but a low IQ and mediocre skill level programmer.
I'm not saying other people can't possibly use LLMs to generate code effectively but it seems super suspicious from my experience as it triggers laziness and reluctance to put effort into understanding every piece of code.
Do you now?
> You wouldn't want the OS you are using to be developed by a dilligent but a low IQ and mediocre skill level programmer.
So you also know that people using LLMs to produce code are diligent but low IQ and mediocre skill?
> it triggers laziness and reluctance to put effort into understanding every piece of code.
Linus has been mostly reviewing code for what... decades? The rest of the contributors have been his LLM in some way. Would you say that he has gotten "reluctant to put effort into understanding every piece of code" he reviews?
And then somehow consider that because LLMs can make bad programmers worse, it has to mean that it will make all programmers worse. And therefore Linus Torvalds using LLMs will necessarily make Linux worse.
Something like this?
This reads a bit weird in hindsight but what I meant was it just feels like that to me.
> I'm not saying other people can't possibly use LLMs to generate code effectively but it seems super suspicious from my experience as it triggers laziness and reluctance to put effort into understanding every piece of code.
This part is my personal experience with trying to use LLMs for code review and sometimes to write a bit of code via opencode.
> diligent but low IQ and mediocre skill
This is how I see LLMs.
In my personal experience, it is not worth to make it write code because then reviewing the code becomes more work than actually writing myself and get LLM review + fix and review again myself.
It can be very good at writing code but the instances where it messes up just cost too much for me to disentangle and making it write things I don't understand doesn't work because I can't review.
I can't judge Linus Torvald's ability but this is my perspective so if I had to guess, I would guess that it isn't necessarily efficient for him to generate code with an LLM because he is spending more time reviewing it compared to him writing the code.
> In my personal experience, it is not worth to make it write code
Sure, totally fine with that! I am completely okay with people not using LLMs, just like I am completely okay with people using an IDE instead of vim. Do what works for you.
> I would guess that it isn't necessarily efficient for [Linus Torvalds] to generate code with an LLM
It seems like he disagrees: sometimes it makes him more efficient. But in any case, I think it is his choice. I won't judge him for using an LLM, or an IDE, or even if he wanted to develop on Windows. Why should I care? I care about his contributions.
My problem is that many people say "I don't like working with LLMs, so I don't want other to use them". If you don't like working with LLMs, just don't. And let others use the tools they want.
Except if it is philosophical: something like "I believe LLMs are bad for society because X and Y, and I don't want to be related to them". Similar to "I don't want to work with weapons" or "I refuse to open source my code because it could be used to build weapons". Sure, I respect such ideas. I don't respect the "I don't like this tool so I think people who use that tool are unprofessional".