While I'm not surprised by Linus using AI, I am a bit surprised Linus used Claude and not one of the open weights models. I know he's always been much more pragmatic than Richard but using a fully closed, proprietary system that is actively attempting to lock out the (more) open competition seems to go against his general history and preferences for free software.
Did you consider he would have thoroughly evaluated the top contenders objectively and gone with the one producing the best results? Honestly I wouldn't expect anything else.
Didn't Linus say he stopped coding a while ago, or at least coding the kernel, and mainly reviews and manages the codebase now? Whether the code comes from a machine or a human, perhaps it matters little to how he's been working for a while.
It's interesting that although I guess he reviewed this LLM generated code, the human review found a race condition.
Putting my takeaways aside for now, I was curious about the details of how the LLM was used (Claude in this case):
> The code, the test programs, the review behind the list above and the
first draft of this text were done with an LLM coding assistant (Claude
Code) under my direction. The measurements were run on my machine.
It's not really clear what this response has to do with the parent comment, or even what point you're making. Are you saying that if we use AI in core infrastructure projects that it's going to cause the downfall of civilization?
Outperform? Where would those GPUs have been without Linus' prompting? Driving a car consists of brutally simple movements critically orchestrated. This isn't a GPU outperforming Linus Torvalds, it's Linus Torvalds engaging with yet another higher cybernetic order.
I think a lot of people are stuck in 2023 when thinking about AI quality. It's gotten so much better that it's basically a totally different product now.
A couple of days ago we had these flow of Rust based "reimplementation" of Adobe and Microsoft applications. A lot of people couldn't get past the "yeah but it's full of bugs, it's just SlopWare" opinion.
These people couldn't see the forest. The writing is on the wall, that Slopware is the WORST it will ever be. 1 year ago that was unimaginable. Next year, the quality of the developed software will be way better.
Selling "code" or "apps" is dead. My wife works in Workday and I've told her to sell as much stock as she can, because there will be an "inflection point" where ALL software based companies will collapse. The same way as Silicon Graphics, Sun , DEC and similar companies collapsed (along with a bit of IBM and HP, who pivoted) with the rise of PC power. Salesforce, SAP, Workday and all smaller companies that sell generic software will fall down.
Its just inertia of people refusing to update their priors. Two years ago, most LLMs were producing absolute garbage. Even the 70b Llama 3 model would produce nonsense that wouldn't compile, make up completely imaginary API endpoints, and fail to write basic syntax. Then a year ago with Sonnet 4, we actually had something that actually worked, but needed a lot of hand holding for complex tasks. Today, they can be run with minimal supervision. By this time next year, we're going to see the hockey-stick part of the singularity really take off.
Fork all of them, work on those manually and compare in a few years. It'll be like mining Bitcoin before you know if it'll take off. If it doesn't, waste of time, if it does, they'll come begging asking you to make machine go again :P
First you'd have to define what an anti-AI person is. I'm quite bearish on AI, still use it myself, and I say "big whoop." Is this supposed to be some resounding, decisive shot in the pro-AI, anti-AI war?
I use AI like most software people do nowadays, but I have to admit that I'm a little surprised that Linus is onboard with it. He always felt like one of the last "old school" developers...he wouldn't even touch C++!
Linus's policy on patch acceptance covers the LLM problem: it must still be audited by a maintainer before acceptance (and thus, actually be decent code), but also, because of LLMs, be significantly produced by a human, as machine written code cannot be Copyrighted, thus, cannot be Open Source, and thus, cannot be in the kernel because it isn't open source.
Nobody is really against LLMs producing, for example, exploits for novel security bugs to assist security researchers in patching those bugs. The exploit itself does not need to be Copyrightable nor Open Source. Nor is anybody against LLMs accelerating debugging, and helping find the location and root cause of the bug; again, that is not producing the end product code, thus does not need to be Copyrightable nor Open Source.
> because of LLMs, be significantly produced by a human, as machine written code cannot be Copyrighted, thus, cannot be Open Source, and thus, cannot be in the kernel because it isn't open source.
...that's not how copyright works. You can't poison an open source project with code that's fully and unreservedly in the public domain, if that precedent stands for much longer and if that precedent is applied to software in a way that's even vaguely analagous to how it's applied to things that judges sorta kinda understand.
If I'm not mistaking, you can put public domain or at least BSD/MIT code into the Linus kernel which is licensed under GPLv2. Other people are then free to use that specific code under that specific license instead of GPLv2.
Also, Linus Torvalds wrote long time ago (before v2.6.12) some simple assembly routines in linux/include/asm-i386/string.h [1] which are public domain:
NO Copyright (C) 1991, 1992 Linus Torvalds,
consider these trivial functions to be PD.
It will poison it if you replace all of your code with public domain code.
A small patch here and there of uncopyrightable code doesn't really matter. Years of small patches, on the other hand, could end up replacing most or all the code.
If you have the policy that all contributions have to be significantly written by a human, and thus copyrightable, you don't have to worry about whether certain files or modules or the entire project are copyrightable in the future.
He didn't refuse to add C++ to the kernel because he is "old school". He had a list of valid criticisms. Your comment makes it sound like his refusal to use C++ was ideology-driven and not technically-sound, and that therefore he is vulnerable to making other not technically-sound decisions such as a complete refusal to use AI.
>
C++ is a horrible language. It's made more horrible by the fact that a lot
of substandard programmers use it, to the point where it's much much
easier to generate total and utter crap with it. Quite frankly, even if
the choice of C were to do nothing but keep the C++ programmers out,
that in itself would be a huge reason to use C.
This kind of technically-sound and valid criticism ? ;)
C++ leads to really really bad design choices. You invariably start using
the "nice" library features of the language like STL and Boost and other
total and utter crap, that may "help" you program, but causes:
- infinite amounts of pain when they don't work (and anybody who tells me
that STL and especially Boost are stable and portable is just so full
of BS that it's not even funny)
- inefficient abstracted programming models where two years down the road
you notice that some abstraction wasn't very efficient, but now all
your code depends on all the nice object models around it, and you
cannot fix it without rewriting your app.
I want to keep this parallel between C++ and LLM and replace in this quote
> LLM is a horrible tool. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it. Quite frankly, even if the choice of not allowing LLM were to do nothing but keep the vibe programmers out, that in itself would be a huge reason not to use LLM
I recently attended an academic computer science conference. Several people I have looked up to my entire life were there, which also gives you an idea of their age (I am 40). They're all using AI. They are not mindless boosters about it, but clearly find it a useful tool in the toolbox.
On the flip side my nephews who don’t really code (i try to teach them but they are kids with everything that comes with that) go around stating things like ‘do you use ai lol!? It’s so bad!!’.
The ai discourse is reasonably fine on HN but as soon as you go outside of actual developer circles keep in mind that my young nephews and their ilk are posting memes and criticisms without real understanding. I hope they’ll catch on soon but for now be prepared to see a whole lot of ‘Linus using vibe code Linux going to crash lololol’ type of posts in the non-developer communities for a while.
I would guess Linus has reviewed more code than anyone else in the world, so in that sense I'm not that surprised.
I also don't think the C++ thing was out of a stubbornness for the old way of doing things, but had concrete reasons to reject it. I guess it was a little of both maybe 20 years ago.
Stephen Wolfram also looks favorable to using AI in programming and he has been programming a lot. I guess the context of how these tool are used is the important part here.
Given a lot of the starry-eyed reactions on HN, I’ve come to suspect that a lot of the devs here were/are primarily working on CRUD apps. That would also track with the amount of attention that Ruby articles get around here.
I looked at the diffs, they are moderately sized and well readable.
Nothing like the 2k loc people tend to commit with LLMs.
One can work with commits and MRs like that.
While I'm not surprised by Linus using AI, I am a bit surprised Linus used Claude and not one of the open weights models. I know he's always been much more pragmatic than Richard but using a fully closed, proprietary system that is actively attempting to lock out the (more) open competition seems to go against his general history and preferences for free software.
Because the code complexity/quality claude vs open-models can currently write is day and night. I like open-source too, but it's just not there yet.
Did you consider he would have thoroughly evaluated the top contenders objectively and gone with the one producing the best results? Honestly I wouldn't expect anything else.
Didn't Linus say he stopped coding a while ago, or at least coding the kernel, and mainly reviews and manages the codebase now? Whether the code comes from a machine or a human, perhaps it matters little to how he's been working for a while.
It's interesting that although I guess he reviewed this LLM generated code, the human review found a race condition.
Yes.
He is now the leader of a cabal of maintainers, and the only coding he does now is minor fixups for branch merging.
I suspect he still codes his own pet projects in his off time though, that's how we got git after all.
we got git 21 years ago.
git was good to get got. I hope something is annoying Linus as much these days as source control was then. I appreciate the way he solves problems.
He's doing music pedal thingies. The latest LTT video was when we all "noticed"
I believe his last one was scuba diving software
e
Putting my takeaways aside for now, I was curious about the details of how the LLM was used (Claude in this case):
> The code, the test programs, the review behind the list above and the first draft of this text were done with an LLM coding assistant (Claude Code) under my direction. The measurements were run on my machine.
(From the empty commit message put at the top of the draft LLM branch: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...)
So what would many anti-AI people say, now that critical infrastructure (Linux, OpenSSL, systemd, MariaDB, and so on) is AI-assisted?
There were many civilizations in the past that eagerly dug their own graves, to great success.
It's not really clear what this response has to do with the parent comment, or even what point you're making. Are you saying that if we use AI in core infrastructure projects that it's going to cause the downfall of civilization?
Like which? Name some civilizations that eagerly dug their own graves
Pretty much all of the no longer existing empires. Roman empire, perhaps.
I, too, have this question for the anti-AI people.
What is the game plan? Use an OS version older than 2023? Stop using tech?
Those are valid options.
Some people have a hard time admitting a that a few GPUs can outperform them.
I was one of those people. Weren't we all?
Outperform? Where would those GPUs have been without Linus' prompting? Driving a car consists of brutally simple movements critically orchestrated. This isn't a GPU outperforming Linus Torvalds, it's Linus Torvalds engaging with yet another higher cybernetic order.
I think a lot of people are stuck in 2023 when thinking about AI quality. It's gotten so much better that it's basically a totally different product now.
It isn't perfect, but it's certainly useful.
A couple of days ago we had these flow of Rust based "reimplementation" of Adobe and Microsoft applications. A lot of people couldn't get past the "yeah but it's full of bugs, it's just SlopWare" opinion.
These people couldn't see the forest. The writing is on the wall, that Slopware is the WORST it will ever be. 1 year ago that was unimaginable. Next year, the quality of the developed software will be way better.
Selling "code" or "apps" is dead. My wife works in Workday and I've told her to sell as much stock as she can, because there will be an "inflection point" where ALL software based companies will collapse. The same way as Silicon Graphics, Sun , DEC and similar companies collapsed (along with a bit of IBM and HP, who pivoted) with the rise of PC power. Salesforce, SAP, Workday and all smaller companies that sell generic software will fall down.
Certain people are easily outperformed.
Its just inertia of people refusing to update their priors. Two years ago, most LLMs were producing absolute garbage. Even the 70b Llama 3 model would produce nonsense that wouldn't compile, make up completely imaginary API endpoints, and fail to write basic syntax. Then a year ago with Sonnet 4, we actually had something that actually worked, but needed a lot of hand holding for complex tasks. Today, they can be run with minimal supervision. By this time next year, we're going to see the hockey-stick part of the singularity really take off.
Move to OpenBSD or even more not "AI", NetBSD :)
They would say that it occurs at the behest of the Linux Foundation and get flagged.
“Anti-AI” is anyone who reads code nowadays apparently so it’s about as relevant as if an IDE was used to edit the source code.
Fork all of them, work on those manually and compare in a few years. It'll be like mining Bitcoin before you know if it'll take off. If it doesn't, waste of time, if it does, they'll come begging asking you to make machine go again :P
There's always GNU Hurd and Emacs...
First you'd have to define what an anti-AI person is. I'm quite bearish on AI, still use it myself, and I say "big whoop." Is this supposed to be some resounding, decisive shot in the pro-AI, anti-AI war?
I use AI like most software people do nowadays, but I have to admit that I'm a little surprised that Linus is onboard with it. He always felt like one of the last "old school" developers...he wouldn't even touch C++!
Linus's policy on patch acceptance covers the LLM problem: it must still be audited by a maintainer before acceptance (and thus, actually be decent code), but also, because of LLMs, be significantly produced by a human, as machine written code cannot be Copyrighted, thus, cannot be Open Source, and thus, cannot be in the kernel because it isn't open source.
Nobody is really against LLMs producing, for example, exploits for novel security bugs to assist security researchers in patching those bugs. The exploit itself does not need to be Copyrightable nor Open Source. Nor is anybody against LLMs accelerating debugging, and helping find the location and root cause of the bug; again, that is not producing the end product code, thus does not need to be Copyrightable nor Open Source.
* should be everyone's policy
> as machine written code cannot be Copyrighted, thus, cannot be Open Source, and thus, cannot be in the kernel because it isn't open source.
This is wrong.
> Nobody is really against LLMs producing [...]
This is also wrong. There are very vocal people against that.
> Nor is anybody against LLMs accelerating debugging [...]
And this too.
Who is against using LLMs to find root causes of bugs?
> as machine written code cannot be Copyrighted, thus, cannot be Open Source
Including CC0 works as parts of works licensed in other ways is perfectly fine iirc? It's like WTFPL after all.
> because of LLMs, be significantly produced by a human, as machine written code cannot be Copyrighted, thus, cannot be Open Source, and thus, cannot be in the kernel because it isn't open source.
...that's not how copyright works. You can't poison an open source project with code that's fully and unreservedly in the public domain, if that precedent stands for much longer and if that precedent is applied to software in a way that's even vaguely analagous to how it's applied to things that judges sorta kinda understand.
If I'm not mistaking, you can put public domain or at least BSD/MIT code into the Linus kernel which is licensed under GPLv2. Other people are then free to use that specific code under that specific license instead of GPLv2.
Also, Linus Torvalds wrote long time ago (before v2.6.12) some simple assembly routines in linux/include/asm-i386/string.h [1] which are public domain:
[1]: https://github.com/torvalds/linux/blob/v2.6.12/include/asm-i...It will poison it if you replace all of your code with public domain code.
A small patch here and there of uncopyrightable code doesn't really matter. Years of small patches, on the other hand, could end up replacing most or all the code.
If you have the policy that all contributions have to be significantly written by a human, and thus copyrightable, you don't have to worry about whether certain files or modules or the entire project are copyrightable in the future.
He didn't refuse to add C++ to the kernel because he is "old school". He had a list of valid criticisms. Your comment makes it sound like his refusal to use C++ was ideology-driven and not technically-sound, and that therefore he is vulnerable to making other not technically-sound decisions such as a complete refusal to use AI.
https://harmful.cat-v.org/software/c++/linus
> C++ is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it. Quite frankly, even if the choice of C were to do nothing but keep the C++ programmers out, that in itself would be a huge reason to use C.
This kind of technically-sound and valid criticism ? ;)
This sounds like one:
I want to keep this parallel between C++ and LLM and replace in this quote
> LLM is a horrible tool. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it. Quite frankly, even if the choice of not allowing LLM were to do nothing but keep the vibe programmers out, that in itself would be a huge reason not to use LLM
That actually sounds right ! ;)
I recently attended an academic computer science conference. Several people I have looked up to my entire life were there, which also gives you an idea of their age (I am 40). They're all using AI. They are not mindless boosters about it, but clearly find it a useful tool in the toolbox.
On the flip side my nephews who don’t really code (i try to teach them but they are kids with everything that comes with that) go around stating things like ‘do you use ai lol!? It’s so bad!!’.
The ai discourse is reasonably fine on HN but as soon as you go outside of actual developer circles keep in mind that my young nephews and their ilk are posting memes and criticisms without real understanding. I hope they’ll catch on soon but for now be prepared to see a whole lot of ‘Linus using vibe code Linux going to crash lololol’ type of posts in the non-developer communities for a while.
I would guess Linus has reviewed more code than anyone else in the world, so in that sense I'm not that surprised.
I also don't think the C++ thing was out of a stubbornness for the old way of doing things, but had concrete reasons to reject it. I guess it was a little of both maybe 20 years ago.
But there's Rust in the kernel now too.
Stephen Wolfram also looks favorable to using AI in programming and he has been programming a lot. I guess the context of how these tool are used is the important part here.
He could have at least written the commit messages himself. That llm yapping is annoying to read.
Srsly
So many people's take away from this story is that Linus used Claude to improve the Kernel therefore anyone can.
Don't know why you're getting hammered here. There's a clear skill factor in piloting LLMs.
Anything pro LLM but anti RSI gets hammered here lol. SPY is giving a little wake up call
Given a lot of the starry-eyed reactions on HN, I’ve come to suspect that a lot of the devs here were/are primarily working on CRUD apps. That would also track with the amount of attention that Ruby articles get around here.
When you do it, its slop. When I do it? Its craftsmanship.