Ricky Rigatoni@piefed.zipEnglish
1 monthAll it takes is one person using an LLM tainted with proprietary code which then just gives them that code line for line to undo decades of courtroom defense.
- 1 month
Not only that, but AI output can’t be licensed/copyrighted. The GPL license no longer covers the kernel in legal terms.
- 1 month
The GPL license no longer covers the kernel in legal terms.
The uncopyrightability of AI-written code only applies to the actual strings of code generated by an AI, not to the entire project.
A person could ignore the GPL if they only copied the AI-written portions. But, how could they know for sure which lines were AI generated and which were not? A wrong choice would leave them civilly liable for copyright violation and all they stand to gain would be tiny portions of the Linux kernel code which are worthless by themselves.
There’s no reason to steal the AI generated portions and risk a lawsuit, when you can just generate your own code.
- 1 month
Whoever combines LLM generated code with GPL licensed code is required to license the result under the GPL. Can they do that if the LLM code isn’t copyrightable?
- 1 month
Essentially yes.
The GPL license is a way to take things that can be copyrighted and grant those rights to others with limitations (the limitations being the terms of the license).
However, the AI generated portions of the code are not copyrightable and so they’re considered public domain and remain so no matter what. Once something is public domain it is always public domain, no matter where it is used.
In practice, if someone wrote a function by hand and then the AI added some error handling code, then that person has a copyright to the lines that they wrote while the lines that the AI wrote are public domain. The entire function can still be licensed under the GPL but the copyright owner would not be able to pursue you for violation of the license if you used the error handling code in another non-GPL work as that portion is public domain.
From a legal standpoint, since the code isn’t annotated as to which parts were human written (protected by copyright/GPL) and which parts were not (and fall under public domain), it would be unwise to attempt to violate the GPL license terms by taking arbitrary parts of the code and releasing them without a GPL license.
The Free Software Foundation, the creators of the GNU GPL, has an FAQ that covers a lot of the details: https://www.gnu.org/licenses/gpl-faq.en.html#CombinePublicDomainWithGPL
- Franconian_Nomad@feddit.orgEnglish1 month
There seems to be legal discussions about that. It’s not quite as simple as you say:
However, there may be cases in which a different assessment is justified, namely when users use and operate the LLM as a tool that merely implements their personal creative intent. This could be compared somewhat more vividly to using a paintbrush. If the brush merely rolls over the paper, for example because it is dropped, no copyright-protected work is created, even if paint remains on the paper. However, if a painter deliberately swings the brush in a certain way, a protected painting can be created. If AI is used in a comparable way a copyright-protected work can indeed be created.
https://kpmg-law.de/en/ai-and-copyright-what-is-permitted-when-using-llms/
The_Decryptor@aussie.zoneEnglish
1 monthYeah any decision would be on a case by case basis, which is normally something you’d want to avoid.
I’ve seen a couple of Linux devs talk about how they just give a prompt to claude and walk away leaving it alone to spit out the code, none of which can be licensed as GPL. But good luck working out what specific lines of what specific patches of theirs used an LLM vs. were re-written or such.
- Franconian_Nomad@feddit.orgEnglish1 month
I’ve seen a couple of Linux devs talk about how they just give a prompt to claude and walk away leaving it alone to spit out the code
While I share Linus opinion on LLMs, I think doing this shit is extremely stupid and lazy.
TeamAssimilation@infosec.pubEnglish
1 monthAnd extremely abusive, since they don’t review the code fully, but a human must review the whole commit before accepting it. They save their time but consume that of others.
- 1 month
yeah and the paintbrush somehow has abstracted access to millions of proprietary and copyleft licensed source code in forms of weight.
this is a clear misuse and abuse of any fair use rights, and clear push to centralisation of copyright to only a few companies with big budgets that can defend themselves.
i mean, can you really challenge and win against openai, a company backed by the govt, that your copyleft source code are misused as training data?
- SirActionSack@aussie.zoneEnglish1 month
Best to not believe anything KPMG says about AI.
Actually if KPMG say the sky is blue you should probably go outside and check and also make sure you still have your wallet.
- 1 month
But if there are proprietary lines of code that end up in a project with an open license, you get a violation. 🤷♂️
- 1 month
what is a proprietary line of code? how do you look at a for loop or uf statement and say “i own that”. i can tell you that in all the huge applications i have worked on in the last 27 years, there isnt special proprietary code. there is proprietary data but not code.
the only time you really have proprietary codeis specialized code talking to a specialized device. so maybe a closed source driver.
- 1 month
I have worked at two companies back-to-back for a total of about 8 years, so significantly less time, that both definitely had proprietary code.
It is code that does things that nobody else is doing, or able to do, and patented, I believe(?).
But nice anecdote. 👍
- Franconian_Nomad@feddit.orgEnglish1 month
Ist that a common thing that LLMs using proprietary code for coding tasks?
Because I don’t think so.
- 1 month
They use everything for everything, that’s the big issue. Also gpl code. Anything they can trawl through they use. And replicate, in part or in full.
- Franconian_Nomad@feddit.orgEnglish1 month
They take code snippets and copy and paste them? Or do they create own code based on what they’ve learned by trawling?
- 1 month
LLMs don’t “create”. Under the hood, they’re tokenizing the queries, looking for “clouds” of tokens that are similar to the query, then returning a sequence of tokens (with some random noise thrown in) that match what their training data says the answer should be.
In short: all LLM code is an amalgamation of their training data by definition. If there’s nothing similar in there, it’s literally not possible for it to be part of any response.
- Franconian_Nomad@feddit.orgEnglish1 month
You’re exactly right. I should have used „generate“ instead of „create“.The point is I don’t think LLMs normally use copyrighted code in a way that would hurt open source projects.
Under the hood, they’re tokenizing the queries, looking for “clouds” of tokens that are similar to the query, then returning a sequence of tokens (with some random noise thrown in) that match what their training data says the answer should be.
Lol, so how do humans code in comparison?
- 1 month
Lol, so how do humans code in comparison?
By copy pasting from Stack Overflow
- 1 month
You’re exactly right. I should have used „generate“ instead of „create“
Did you purposely respond like an AI?
- 1 month
The point is I don’t think LLMs normally use copyrighted code in a way that would hurt open source projects.
I don’t know. I’m not a lawyer, and copyright for code was a hot mess even before LLMs got involved. With how many opportunistic copyright/patent trolls there are and how easily convinced judges have been in the past, it could go either way.
Lol, so how do humans code in comparison?
The good programmers normally code by breaking down the problem into constituent parts and logically working through the problem, step by step. What differentiates this from tokenization is that instead of just looking for code that is similar for a similar problem, programmers can usually understand the effects of each line of code, visualize what the state of each variable will be in that step (or dump out the variables to look directly if unsure), and then move on to the next step. This logical problem-solving approach is fundamentally different from a tokenization+noise looking for a similar-looking problem approach. For one thing, you can solve problems that haven’t been solved before.
- 1 month
Human programmers at least can tell you where they got a snippet they copied, whether it was in the docs, stack overflow or elsewhere, and you can try to keep attribution if you care about compliance. Not only that, but most of our skills are related to designing stuff and recognizing which pattern to use, the specific implementation isn’t necessary the same unless we go look for whatever we saw in the past, as our memories don’t just record everything and repeat it word by word. And after picking up a new language or framework I only need to look around when using a third party library or some API I’m less familiar with, or when something breaks.
- ikidd@lemmy.dbzer0.comEnglish1 month
Yah, before AI there’s never been a chance of proprietary code entering the Linux ecosystem and they have no defences against it at all.
- 1 month
I personally think both pro LLM and anti LLM are wrong. One group think they are gods. The other think they are demons. LLMs can be useful for programming to some extent. But they will create a disaster if you don’t know what are you doing. I have recently published a post about the matter on me blog. I think the best part is:
I strongly believe that LLMs are useful for programming to some extent. Imagine you have a shop and you get a robot to do the moves for you. So you instead focus on the main business concerns.
So if you want to make some changes to the code which don’t require intelligence, that is they are just mechanical tasks, LLMs are good. If you want the LLMs to understand semantics of your code, you have chosen the wrong tool. Maybe in future we’ll have new AI software and tools which also understand semantics to some extent. But I highly doubt a transformer will be able to do it. They just predict the next likely token.
There is something I haven’t yet added to the post. So I am writing it here. Our computers are Universal Turing Machines. There are some fundamental limits to what a turing machine can’t do. Those are called undecidable problems. For instance a turing machine can never check if two pieces of code are semantically equivalent[1]. But that’s what human programmers can do. That’s why I emphasize on tasks which require no intelligence.
[1] That’s about the general case. Sure there are exceptions. But as we say “exception is not the rule”.
- 1 month
LLMs can program, to some extent. But (not having read your linked post) you only focus on its capabilities, not its implications beyond “can it do the task?”.
- 1 month
Currently I’m not using any LLM. I want to have it locally and haven’t found a time to launch it yet. But I am not interested about their current state, but also their future state. Surrounded by a big hype “LLMs will replace human programmers”, I want to emphasize what an LLM is fundamentally not capable of, no matter how much advanced and how many billion billion of parameters.
- 1 month
But that’s what human programmers can do
I don’t think humans can solve the undecidable problems. If I understand them correctly, they’re like a law of nature; extends into mathematics, logic, and any formal system (e.g. Godel’s Incompleteness Theorem).
- 1 month
I didn’t mean humans can solve ALL undecidable problems. As I have written in me reply to wicked, a programmer usually writes loops and the turing machine cannot decide their halting, for a vast majority of them.
- 1 month
LLMs are just tools, the problem is managers who all think they’re god machines and it causes hell on earth
- 1 month
Most of the “undecidable” are only undecidable for a subset of the problem instances, while a vast number of instances can be even trivially decidable. For example in the undecidable halting problem, both you and a computer can trivially deduce that
while(true)will not halt. In the same way a computer can deduce that many instances of two pieces of code are semantically equivalent.I’d like to see an instance of the problem where a human could decide it and the computer could not.
- 1 month
Hey. The number of problems which can are decidable are infinite as are those which are not. But as soon as there is a backward jump in your code, a Turing machine most likely won’t be able to decide if it’ll halt or not. The
while(true)is an exception. In the real world we have a great number of programs whose loops cannot be decided by a Turing machine. But the programmer who has written the code knows when the loop will terminate.If we see the machine code, if there is a conditional backward jump(unlike
while(true)which is unconditional), in the general case it’s undecidable.- 1 month
Backwards jumps are equally decidable for turing machines as for humans. Compiler and static code linters can trace through very complicated code and know that it will or will not halt, and optimize or warn based on the result.
I believe there’s nothing special about human computation abilities. Anything that is decidable by a human will be also decidable by a computer.
Please prove me wrong by showing a counter example.
- 1 month
I don’t have to prove anything to anyone. Nor I’ve got the time for this. It’s up to you to do your research. I have done mine and shared the results. You can take it or leave it.
- 1 month
I admit I may be wrong so I asked you to show me an example, since you talk with such certainty.
In fact this is an open question so nobody knows, even though most of the researchers believe human computation is equal as far as I know.
- 1 month
Yes! And the problem with decidability is you don’t which problem will be undecidable. You can only just try and they it’s like “well couldn’t find a solution, so it might be undecidable”. So we’ll need to put limits on how many tokens an AI should use before giving up, put limits on what it tries to do or we’ll be burning thousands of dollars on tokens and coming up with nothing. There will need to be a lot of judgement used on where we apply the algorithm.
Judging when to use an algorithm and when not to use an algorithm based around how expensive it will be in terms of resources? That’s just another day for a software engineer.
- 1 month
You have a valid point. I think currently there are assists which we know an LLM definitely can do for us. Like mechanical tasks. And tasks which we know LLM can never do. In between there is a gray area. I think we will learn about the gray area over time.
Also I would like automatic generation of programs. But I don’t think an LLM is the last stop for it. I personally research in the field of Genetic Programming. I strongly believe in future we could have tools which generate or optimize programs when guided by a human. Currently we have Evolutionary Art and Music which do the same. Tho they are far from being actually usable, this is the same with every technology in the beginning.
Also see this talk: https://cr.yp.to/talks/2015.04.16/slides-djb-20150416-a4.pdf
- 1 month
AI is a tool, just like other tools we use.
This argument has, to me, always reeked of naivety. Heroin is a tool, but it has clear ethical implications, and we make attempts as a society to manage those. So is nuclear, and a particularly relevant one, since many leading AI figures have officially and explicitly stated AI is as dangerous as nuclear weapons. There are countless other examples of “tools” that require moral judgement (all of them, really).
I think Linus is being naive, and given his position of power, irresponsible.
And no, AI isn’t perfect.
I could write an essay about how much of an understatement, to the point of being wrong, this is. Many, far more capable than me, already have.
This is NOT some kind of “social warrior” project, never has been, and never will be.
No, of course it’s not, but he seems to be treating it like ethics and context are for children.
It makes me worried for the Linux project. Not that he’s willing to use AI, but that this is how he sees it. This is a learning experience for me.
I’m reminded of this quote that, to be honest I don’t really understand, but feels relevant
Our conventional response to all media, namely that it is how they are used that counts, is the numb stance of the technological idiot. For the ‘content’ of a medium is like the juicy piece of meat carried by the burglar to distract the watchdog of the mind…The effects of technology do not occur at the level of opinions or concepts, but alter sense ratios or patterns of perception steadily and without any resistance.
– Marshall McLuhan, Understanding Media
- ulterno@programming.devEnglish1 month
The effects of technology do not occur at the level of opinions or concepts, but alter sense ratios or patterns of perception steadily and without any resistance.
This is a nice one.
And I see it happening right in front of my eyes at work. ‘How it is used’ will defer by the individual and specially for new tools, there will always be a generation of suffering.
Project Management, Jira/scrum etc had one (I’d say, still ongoing for most workplaces, that haven’t figured out the correct match). This one will too; probably more of it.- 1 month
oh I thought this “one generation of suffering” only happens in me country! It happens in here for non technical stuff. When some new stuff gets widespread in me country for the first time, a lot of people misuse or abuse it. An example is telephone. Another is Internet itself. And lately, coffee has become widespread in here(Iran) and people don’t know when to have an espresso and how many espressos per day is fine. There was a guy “I take 5-6 espressos per day and I’m fine”.
In a similar way, many people spend too much time on social media rather than doing something productive.
- ulterno@programming.devEnglish30 days
There was a doctor who said to me, “computer games can be addictive”. This was after I told her I play games, so she was pretty much implying that I was getting addicted. This was when I hadn’t played for over a month due to lack of time from my 9 to 6:30 job.
The same doctor bragged about how she couldn’t go about her day without drinking coffee right after waking up.She said those 2 things within the same 5 minutes.
- 29 days
What’s the problem with addiction? An addiction is bad if it harms you. I am addicted to espresso, me family, me little cousins, me dear close friend, the spaghetti me mother makes and so on.
- 1 month
Friendly reminder that many drugs like heroin and morphin can be life savers if used correctly. Either directly or by changing some of its chemicals. For instance, when people have heavy surgeries, morphin is a life saver to evade the insane pain. Needless to say that many of such these or a production of them are used as meds for mental illnesses.
- 1 month
Once again, Linus steps in and delivers a reasonable take that cuts through the whole argument. It’s hard to imagine what Linux culture will be like without him.
- 1 month
Yeah without a single strong voice with implicit authority there’s really no telling what will happen i think
- 1 month
Restricting discourse to a single realm makes it by definition a monoculture, which then intrinsically debases it to a fragile and brittle construct.
LLMs may well be useful and/or effective from narrowly myopic perspectives, but I’m yet to identify any which could legitimately be framed as justifiable or ethical.
It’s particularly galling given a fundamental aspect of how LLMs function is to incorporate myriad dimensions of input, yet to arrive at anything resembling a defence requires cherry picking arguments.
- 1 month
Human written code these days feels equivalent to a unique and soulful artisan made item whereas AI code is like a soulless and defected factory made imitation. I’d much, much, much, rather support artisans over factory made slop and even before AI, artisan work has been well known to be significantly higher quality than factory made stuff. For something as foundational and important as a kernel, I really think AI has no place in it.
- hirihit640@sh.itjust.worksEnglish1 month
All I care about is whether it works and is secure. Bonus points for cheaper and faster development. If artisan code gets us there, sure. If AI code gets us there, great. I trust Linus to know what works and what doesn’t.









