Live data from Hacker News

AI assistance when contributing to the Linux kernel

github.com

401–410 of 464 posts

Re: AI assistance when contributing to the Linux kernel

#401

Earlier quoted context omitted.

Almost all the productivity enhancement provided by an AI coding assistant is provided by circumventing the copyright laws, with the remaining enhancement being provided by the fact that it automates the search-copy-paste loop that you would do if you had direct access to the programs used during training. (Much of the apparent gain of the automatic search-copy-paste is wasted by skipping the review phase that would…

> The reason is that it is absolutely impossible to write any kind of program that is not a derivative of earlier programs. And that's why copyright has exceptions for humans. You're right copyright was the wrong tool for code but for the wrong reasons. It shouldn't be binary. And the law should protect all work, not just creative. Either workers would come to a mutual agreement how much each contributed or the court…

> And that's why copyright has exceptions for humans.

Why would the exceptions be only for humans?

"Only human works can get copyright" makes plenty of sense. "Only humans can have fair use" doesn't make sense. Why would we disallow a monkey video having a clip of something as part of the monkey reviewing it? Why would we allow a human to caption something for accessibility but not a computer?

Grammar and idioms should be outside the realm of copyright entirely, not something you get an exception to use anyway.

> It's impossible to satisfy everyone but every person has a concept of fairness (it has been demonstrated even in toddlers). Many people probably even have an internally consistent theory of fairness. We should base laws on those.

A lot of people seem to default to thinking they should get permanent and total control over any idea they have, so I think it's a bad idea to rely on intuition here.

Re: AI assistance when contributing to the Linux kernel

#402

Earlier quoted context omitted.

A piece of wood is either cut to spec or not. You don’t have to try and convince the table saw with a prompt that it is a table saw. These tools are nothing alike and the reductionism of this metaphor isn’t helpful.

But how do you know it's cut to spec if you don't measure it? Maybe someone bumped the fence aw while you were on a break, or the vibration of it caused the jig to get a bit out of alignment. The basic point is that whether a human or some kind of automated process, probabilistic or not, is producing something you still need to check the result. And for code specifically, we've had deterministic ways of doing that fo…

I guess that the point being made by GP is that most software are a high-dimensional model of a solution to some problem. With traditional coding, you gradually verify it while writing the code, going from simple to complex without loosing the plot. That's what Naur calls "The theory of programming", someone new to a project may take months until they internalize that knowledge (if they ever do).

Most LLM practices throw you in the role of that newbie. Verifying the solution in a short time is impossible. Because the human mind is not capable to grapple with that many factors at once. And if you want to do an in depth review, you will be basically doing traditional coding, but without typing and a lot of consternation when divergences arise.

> And for code specifically, we've had deterministic ways of doing that for 20 years or so.

And none of them are complete. Because all of them are based on hypotheses taken as axioms. Computation theory is very permissive and hardware is noisy and prone to interference.

Re: AI assistance when contributing to the Linux kernel

#403

Earlier quoted context omitted.

A piece of wood is either cut to spec or not. You don’t have to try and convince the table saw with a prompt that it is a table saw. These tools are nothing alike and the reductionism of this metaphor isn’t helpful.

But how do you know it's cut to spec if you don't measure it? Maybe someone bumped the fence aw while you were on a break, or the vibration of it caused the jig to get a bit out of alignment. The basic point is that whether a human or some kind of automated process, probabilistic or not, is producing something you still need to check the result. And for code specifically, we've had deterministic ways of doing that fo…

> And for code specifically, we've had deterministic ways of doing that for 20 years or so.

And those ways all suck!

It's extremely difficult to verify your way to high quality code. At lower amounts of verification it's not good enough. At higher amounts the verification takes so much longer than writing the code that you'll probably get better results cutting off part of the verification time and using it to write the code you're now an expert on.

Re: AI assistance when contributing to the Linux kernel

#404

Earlier quoted context omitted.

> The reason is that it is absolutely impossible to write any kind of program that is not a derivative of earlier programs. And that's why copyright has exceptions for humans. You're right copyright was the wrong tool for code but for the wrong reasons. It shouldn't be binary. And the law should protect all work, not just creative. Either workers would come to a mutual agreement how much each contributed or the court…

> And that's why copyright has exceptions for humans. Why would the exceptions be only for humans? "Only human works can get copyright" makes plenty of sense. "Only humans can have fair use" doesn't make sense. Why would we disallow a monkey video having a clip of something as part of the monkey reviewing it? Why would we allow a human to caption something for accessibility but not a computer? Grammar and idioms shou…

> Why would the exceptions be only for humans?

For starters because you can't own humans. If it's possible to launder copyrighted work through something which can be owned, then rich people get an advantage because they can own more of it.

> so I think it's a bad idea to rely on intuition here

Yep, that's why I said we should only concern ourselves with those which are internally consistent. If people want to apply rules to others which they don't intend to or cannot follow themselves, they lose the right to be taken seriously.

Re: AI assistance when contributing to the Linux kernel

#405

Earlier quoted context omitted.

You can refuse to use AI personally, but why would you not help yourself when you can? … my dad is 86 and only after I signed him up to Claude could he write Arduino code without a phone call to me after 5 minutes of trying himself. So now, he’s spending 4+ hours at a time focused writing code and building circuits of things he only dreamt about creating for decades. Unless you’re doing something for the personal lov…

Nah. I'm only interested in the bits it doesn't know. Why would someone else's regurgitated whatever be what I wanted, why would that be help in any way?

My dad isn’t a programmer but he’s done ho by electronics for his whole life. It’s now helping him reach way beyond what he’s ever been able to do himself. And he’s never been so excited about anything for at least the past 20 years!

Re: AI assistance when contributing to the Linux kernel

#406

Earlier quoted context omitted.

> And that's why copyright has exceptions for humans. Why would the exceptions be only for humans? "Only human works can get copyright" makes plenty of sense. "Only humans can have fair use" doesn't make sense. Why would we disallow a monkey video having a clip of something as part of the monkey reviewing it? Why would we allow a human to caption something for accessibility but not a computer? Grammar and idioms shou…

> Why would the exceptions be only for humans? For starters because you can't own humans. If it's possible to launder copyrighted work through something which can be owned, then rich people get an advantage because they can own more of it. > so I think it's a bad idea to rely on intuition here Yep, that's why I said we should only concern ourselves with those which are internally consistent. If people want to apply r…

> For starters because you can't own humans. If it's possible to launder copyrighted work through something which can be owned, then rich people get an advantage because they can own more of it.

If it's actually 'laundering' then it's invalid to begin with.

If it's a proper new thing then how do rich people get an advantage? If anything AI code is cheap enough to even things out.

> Yep, that's why I said we should only concern ourselves with those which are internally consistent. If people want to apply rules to others which they don't intend to or cannot follow themselves, they lose the right to be taken seriously.

I think a lot of those people are consistent! The issue is they have way too little respect for the public domain and are overprioritizing property against freedom.

Re: AI assistance when contributing to the Linux kernel

#407
post #336

Earlier quoted context omitted.

People have measurably lower levels of ownership and understanding of AI generated code. The people using GenAI reap a major time and cognitive effort savings, but the task of verification is shifted to the maintainer. In essence, we get the output without the matching mental structures being developed in humans. This is great if you have nothing left to learn, its not that great if you are a newbie, or have low conf…

While I agree with this intuitively, I also just can't get past the argument that people said the same thing when we switched from everyone using ASM to C/Fortran etc.

The HLL-to-LLM switch is fundamentally different to the assembler-to-HLL switch. With HLLs, there is a transparent homomorphism between the input program and the instructions executed by the CPU. We exploit this property to write programs in HLLs with precision and awareness of what, exactly, is going on, even if we occasionally do sometimes have to drop to ASM because all abstractions are leaky. The relation between an LLM prompt and the instructions actually executed is neither transparent nor a homomorphism. It's not an abstraction in the same sense that an HLL implementation is. It requires a fundamental shift in thinking. This is why I say "stop thinking like a programmer and start thinking like a business person" when people have trouble coding with LLMs. You have to be a whole lot more people-oriented and worry less about all the technical details, because trying to prompt an LLM with anywhere near the precision of using an HLL is just an exercise in frustration. But if you focus on the big picture, the need that you want your program to fill, LLMs can be a tremendous force multiplier in terms of getting you there.

Re: AI assistance when contributing to the Linux kernel

#408

Earlier quoted context omitted.

> I work with the agent to create plans first and refine them, and the author of a PR who couldn’t do that adds nothing. As someone who has been using AI extensively lately, this is my preferred way of doing serious projects with them: Let them create the plan, help them refine it, let them rip; then scrutinize their diffs, fight back on the parts I don't like or don't trust; rinse and repeat until commit. Yet I assu…

I don’t have a problem working with contributors who use AI like you described. But this thread is about working with people who could not do the work on their own. So they cannot do what you described, and they cannot save me any time, they can only waste it.

Fair enough, that makes sense. I wish more (on both sides of the aisle) were open-minded to the difference.

Re: AI assistance when contributing to the Linux kernel

#409

Earlier quoted context omitted.

People have measurably lower levels of ownership and understanding of AI generated code. The people using GenAI reap a major time and cognitive effort savings, but the task of verification is shifted to the maintainer. In essence, we get the output without the matching mental structures being developed in humans. This is great if you have nothing left to learn, its not that great if you are a newbie, or have low conf…

> The people using GenAI reap a major time and cognitive effort savings, but the task of verification is shifted to the maintainer. The people using GenAI should be the ones doing the verification. The maintainer's job should not meaningfully change (other than the maintainer using AI to review on incoming code, of course). Why does everyone who hears "AI code" automatically think "vibe-coded"?

Because that's what they're seeing? If only a small fraction of submissions can use the tool correctly, that's on the tool.

Re: AI assistance when contributing to the Linux kernel

#410

Earlier quoted context omitted.

Maybe. DCOs haven’t been tested. But you can at least say that the person who did this committed fraud and that you had no reasonable way to know they would do that. LLMs can and do regurgitate code without the user’s knowledge. That’s the problem, the user has no way to mitigate against it. You’re telling contributors “use this thing that has a random chance of creating infringing code”. You should have foreseen tha…

If someone sent you some code and said “it’s all good bro, you can put it in the kernel with your name on it”, would you? If you don’t feel comfortable about where some code has come from, don’t sign your name. The fact LLMs exist and can generate code doesn’t change how you would behave and sign your name to guarantee something.

Are you being purposely obtuse?
Post reply on HN