7 ms·
LLM-generated code must not be committed without prior written approval by core
- jack_riminton 2y agoHow is this enforceable?
- Madmallard 2y agoyeah doesn't make any sense lol if you remove comments and shift it to your own style then it's not going to be distinguishable except for sufficiently complex code where your own codebase's unique idioms may show through and the AI doesn't use them
- Almondsetat 2y agoSufficiently complex code is the one most susceptible to coming from a proprietary solution
- speedgoose 2y agoBut are coding large language models in the wild trained on proprietary code bases?
- Almondsetat 2y agoIf you don't know, it's a yes
- speedgoose 2y agoI don’t believe in unicorns, but maybe they exist.
- simion314 2y ago>But are coding large language models in the wild trained on proprietary code bases? There are source availleble projects on GitHub but BSD license is not compatible with GPL and for sure there is ton of GPL code in the LLMs. The only solution I can think of is too train LLMs on BSD compatible code to be used on BSD projects, GPL compatible code to be used on GPL projects etc. See below link were copilot was caught stealing code and prove that it is memorizing and reproducing rather then learning concepts and then generating original code. https://news.ycombinator.com/item?id=27710287 https://news.ycombinator.com/item?id=27710287
- Smaug123 2y agoCome now, you can have guidelines that aren't enforceable but which you expect people to adhere to. After all, you asked them to adhere to them, and they're (hopefully) not arseholes.
- mlinhares 2y agoI doubt the people that think it’s fine to not respect NetBSD ethos are even capable of contributing anything to it so I’d say the project is fine.
- squarefoot 2y agoSeems impossible to me, although it seems more of some sort of protection in case of legal problems should someone add AI-generated code that turns out to contain copyrighted code by someone else. They must show they're doing something against that, even if that something turns out to be probably useless.
- stusmall 2y agoIn the same way a lot of the other rules on that list are. How are they going to know you are familiar with the code you are committing? How are they going to know it is tested? Sometimes rules are established to set up a common community base line. You are trusted to follow them in good faith. If over time, through code review, questioning or testing, it shows you aren't following the rules then you can't claim you didn't know it wasn't okay.
- nicklecompte 2y agoThe headline of this HN post is misleading, it isn't really a "ban" as such and doesn't have to be "enforceable." These are guidelines whose target audience is good-faith developers who want to make positive contributions to NetBSD. The comments saying "heh, those stoopid NetBSD maintainers would never know if I slipped a bit of AI into their codebase" are missing the point. The point of the guideline is to say that people who use Copilot/etc for NetBSD development are dumb assholes, so don't be a dumb asshole.
- ekianjo 2y agoits not about enforceability its simply about covering their ass
- johnisgood 2y agoThis is what people do not seem to understand. It is all about legalities; copyright, licensing issues, whatever.
- throw78311 2y agoThis stance is CYA. There's no way to enforce it but by stating explicitly like this, they save themselves possible legal pain.
- MaxBarraclough 2y agoThey seem to have stopped just short of a total ban. > Code generated by a large language model or similar technology, such as GitHub/Microsoft's Copilot, OpenAI's ChatGPT, or Facebook/Meta's Code Llama, is presumed to be tainted code, and must not be committed without prior written approval by core.
- trashburger 2y agoDoes this include single-line suggestions from Copilot, I wonder? Those are pretty nice because it just finishes what I already intended to type.
- ekianjo 2y agoit specifically says Copilot
- refactor_master 2y agoShould we grant them the benefit of doubt and believe it’s just poor wording? Surely if an AI writes “foo” it’s because it’s learnt that everyone else writes that. It’s different from asking “suggest me an implementation of FFT”, and then pasting that in wholesale. It’s similar to how research literature works. Eventually concepts like “computer” and “DNA” become so common that we don’t have to reference 1800s literature unless very pertinent to the question.
- rjsw 2y ago> Should we grant them the benefit of doubt and believe it’s just poor wording? As a NetBSD developer, I don't think it is poor wording. There is GPL code in the NetBSD tree already, such as GCC, but how it gets used is carefully controlled. If someone proposed adding something AI generated in a way that it was kept separate from everything else then it could potentially get approved.
- MaxBarraclough 2y agoI'm sceptical of the implication that there's no downside there, even if it's a more limited use of the technology. If it introduced a subtle mistake (e.g. wrong variable) there's a chance the programmer could miss it, but would not have made the same mistake themselves. There's also a chance the machine-generated code might lack a bug that the programmer would have introduced if writing it themselves. Overall though, I get the impression these tools are generally harmful to code quality. edit As ekianjo points out, they specifically mention Copilot as unacceptable.
- Kuinox 2y agoDupe: https://news.ycombinator.com/item?id=40375029 https://news.ycombinator.com/item?id=40375029
- jasoneckert 2y agoEvery time I hear about AI-generated code, I'm reminded of this comment from Linus Torvalds (taken out of context, of course): "You copied that function without understanding why it does what it does, and as a result your code is GARBAGE. AGAIN."
- vips7L 2y agoEveryday life at my company.
- nequo 2y agoCopying functions and not understanding or getting told that it’s garbage?
- MurizS 2y agoFor context: https://lkml.iu.edu/hypermail/linux/kernel/2401.3/04208.html https://lkml.iu.edu/hypermail/linux/kernel/2401.3/04208.html HN discussion (4 months ago): https://news.ycombinator.com/item?id=39191899 https://news.ycombinator.com/item?id=39191899
- Madmallard 2y agoOr, more appropriately, for people that aren't novices using AI "I copied the code because it looks just like what I'd do and oh it knew the library calls I couldn't remember off the top of my head. Let me just fix some of the hallucination here and... all good. That saved me like 30 minutes :)"
- mhh__ 2y agoAlthough I do agree anyway (there are more insidious reasons, mainly in how it destroys thinking) but this is a pretty useless working model of AI.
- mort96 2y agoI don't think the analogy is that AI is just copy/pasting code, but rather that getting an AI to generate code for you and directly using the output is like copy/pasting code.
- hurril 2y agoWhile I understand the concepts of derivatives and tainted code, this AI/human-dichotomy is not as good as that reasoning requires it to be. Every statement of code I commit is in fact a derivative of work that potentially had an incompatible license.
- whatevaa 2y agoYou can ingest millions of line of code in minutes/hours? If AI can ignore copyright, why can't a human? Are we already inferior to machines just because of our copyright system?
- hurril 2y agoThat is my point right there.
- zarzavat 2y agoI agree. For the people who think that every tiny piece of code has copyright, have you never written the same code for two different projects? There are some utility functions that I have written dozens of times, for different projects. Am I supposed to be varying my style each time so that each has its own unique copyright? I do not believe any court would interpret copyright to work in this way.
- chrisjj 2y ago> have you never written the same code for two different projects? But note this prohibition is of "code that was not written by yourself" rather that written by yourself twice.
- johnisgood 2y agoI am pretty sure that I have implemented a lot of functions before that would be almost (or completely) identical (not including variable names, indentation, etc.) to that of someone else's work. The smaller the function, the more likely it seems to be true, and some programming languages encourage you to write concise functions.
- jimmoores 2y agoThey're still using CVS?
- flohofwoe 2y agoIf it works for them why not, and compared to rcs it's really not too bad ;) In some aspects the old centralized versioning systems are superior to distributed systems like git (for starters, they give you a single linear history with incremental revision numbers).
- joveian 2y agoOne of the NetBSD developers is a Mercurial developer and I think the general plan for a while has been to switch to Mercurial once a few technical issues have been fixed. I'm not sure if that has fully happened now and it is just waiting on the right people having enough time or what the status is. I think NetBSD and OpenBSD are the last two actively maintained open source projects that use CVS, at least as far as I am aware. However, at least for NetBSD (don't know about OpenBSD) there is an official mirror on Github and you can submit pull requests there if you want (I'm fairly sure this will stay the case even after a switch to Mercurial). Some of the main developers mostly use git until a commit is almost ready. I think the main practical difference from the project using git as the main repository for anyone who doesn't have commit access is that while commit messages will mention the contributor I don't think it is linked on github to the contributor in the same way it would usually be with an accepted pull request. At most there might be a tiny number of extremely minor issues with the repository conversion left, and I think those might have been fixed by now as well.
- apienx 2y ago“Automation has always helped people write code, I mean, this is nothing new at all [..] I see that as tools that can help us be beer better at what we do.” — Linus Torvalds’ on LLM code generation/review (https://m.youtube.com/watch?v=VHHT6W-N0ak https://m.youtube.com/watch?v=VHHT6W-N0ak). NetBSD still has an edge with its memory hardening, NPF, kernel-level blacklist, and “legacy support”. But I fear that this out-of-touch policy might eventually tip it into irrelevance.
- bayindirh 2y agoCurrent generation of AI code generators are loaded with ethics and copyright problems. Plus, there's the issue of "copying something without understanding" angle. The most advanced tools were template based generators and real-time static checkers plus language servers. AI makes things way more complicated than it is. It's not only bleed of GPL into MIT. It's also bleeding of source-available licensed corpus to AI models. These things leak their training data like crazy. Ask the right question and get functions from training sets verbatim. When everything is combined, this is a huge problem. It's not that these problems are individually OK. They're huge already. The resulting problem is a sum of huge problems.
- fallingknife 2y agoEveryone in the industry has been copying code from Stack Overflow (and also generally shitting on the concept of IP altogether) for years and nobody cares, but suddenly LLMs come out everybody is a copyright stickler. Give me a break.
- bayindirh 2y agoThe code on Stack Overflow is already licensed with Creative Commons, plus people put their code there with the intent of being shared and used. There are GPL projects which provide people their livelihoods, because they get grants to develop that code with a GPL license. Ingesting the same code to a model sans it’s license not only infringes on the license, but allows this code to seep to places where it shouldn’t (by design), and puts this man’s livelihood in jeopardy. Companies frowned upon GPL for years because of its liability, and now they can feast over this code with these models. Same is for source available repositories. These companies put their code out for eyes only, not for reproduction and introduction to other code bases. These systems also infringe on these licenses, and attacking to the business models of these companies. I’m not a copyright stickler. I just respect people and their choices they made with their code. P.S.: I can share the tweets of that researcher if you want.
- oliverpk 2y agoGood call, AI-Gen code is the same as most copied code, it might work, but you won't know why, which means that further development will be more difficult.
- chrisjj 2y agoDup of https://news.ycombinator.com/item?id=40376858 https://news.ycombinator.com/item?id=40376858
- caesil 2y agoThat ship has sailed, sunk, and sat on the ocean floor for a century. There is no way to enforce this and there never will be.
- rdlecler1 2y agoLet’s go back to writing in assembly because if you’re writing in python you don’t understand what you’re doing (this is sarcasm of course). AI has decoupled code design from fabrication. We’re just going to need to improve our design language and fabs to get better yield.
- he0001 2y agoI think AI would be a better to use for explaining code. I’d use that instead, of creating code.
- deleted 2y ago[deleted]
- qwerty456127 2y agoDo even slightly competent programmers ever actually commit LLM-generated code as is rather than using it as a clue for ideas on how to possibly do something? I thought only people with zero coding skills would just copy paste, everyone else would want to change a lot.
- amazingman 2y agoOf course not. I'm not sure why this scenario is such a popular straw man. GenAI in the programming domain is augmentative. There's a whole bunch of cognitive work that isn't necessarily _reasoning_ that nonetheless needs to be done for a given task. GenAI is fantastic at yak shaving. Used skillfully, GenAI is good for shortening the distance to understanding. Is this worth the energy costs and downstream environmental and social impact of the technology? I ... I'm not sure. Probably not. But it's here, it's useful, and it's not going back into the bottle.
- Rosemarypeter 2y ago[dead]