5 ms·
Rust-lang/rust is adopting an LLM policy
- andsoitis 2mo agoIn a nutshell: It's fine to use LLMs to answer questions, analyze, distill, refine, check, suggest, review. But not to create.
- ares623 2mo agoHmm, that doesn't sound too bad. So you basically get to use a tool to help with the tedious parts, without being allowed to use the same tool to pass off said tedium to others. This closes the gap. A key insight. A load bearing difference. Now, is writing code considered tedium, for a project like Rust?
- seanhunter 2mo agoYes, and I think the reasons set out in TFA are interesting, which on my reading are: 1) Code is the least interesting bit in some ways - they’re trying to build not only rust but a community of experts around rust which is able to maintain and improve it in the long term and the authors of prs need to understand the code deeply and show a willingness to be part of that long run. Llm-generated code even if it looks polished doesn’t indicate a human author who deeply understands it and is willing to be part of that long term maintenance. 2) They don’t have (and don’t want to enforce) a community consensus that llms are good or llms are bad. They just want some rules written down so everyone knows where they stand and people of either camp (and none) can get on with it. Seems a pretty reasonable approach to me although I don’t really use rust much so don’t have a vested interest.
- nirbendavid 2mo ago[flagged]
- incrudible 2mo agoNo codebase worth being deeply invested in is deeply understood by anyone, including the original authors. The eternal maintenance argument is tiresome. If there is a problem in need of fixing, you figure it out, you do not depend on some author being available, and LLMs are exceptionally helpful in this regard as well. Then, if the LLM has trouble figuring out, so will another human. It is a code smell.
- zahlman 2mo agoThere are all kinds of projects out there that have had significant impact on the world, which were written and maintained over the course of years by a single, highly capable developer. The way people talk about code nowadays, just because they have more powerful authoring tools, is frankly disgraceful. Imagine if modern construction techniques had become a reason to stop caring about the natural beauty of wood grain.
- incrudible 2mo agoPeople are reading this as a slight against single authors, but it is a slight against the belief that anyone deeply understands complex code they wrote even a week ago. It is just a bullshit belief. Yes, you build an intuition about it, but you need to constantly refresh your understanding. That is just how the brain works. Now, if you have program that is highly complex, written by a single author who is not you, hinging on the ongoing goodwill and capability of that single author, that is a liability you do not want to have, operationally. Again, that is just how it is.
- seanhunter 2mo agoStrongly disagree. The obvious counterexample is in the foss world is ffmpeg, which I would submit is deeply understood by Fabrice Bellard. As a sibling points out, there are also various worthwhile single author projects. Outside the world of foss there are for example multiple games that are highly respected that were all entirely or largely developed by a single developer. Rimworld, Songs of Syx, Dwarf Fortress, Ostranauts and many others. In a proprietary context I have myself deeply understood codebases and worked with others who have also. That being said, you are arguing against a straw man that neither I nor the rust article propose. They are not saying maintainers need to understand all the code they are saying the person submitting a pr needs to deeply understand that pr. Why? Because they want to build a community who deeply understand various aspects of rust so when things need maintenance there are experts around who even if they don’t know a particular piece are invested in the success of the project and know enough to get up the curve and fix whatever needs to be fixed.
- socalgal2 2mo agoSounds like the beginning of the end of rust to me AI is a jet engine - Banning is for creation is like saying "we require you to go by ship/car/propeller-plane" Yes, a policy that says AI slop PRs will not be tolerated. But I've had AI track down real hard to find bugs in several projects and provide correct fixes. I've also had AI build new features and new products. The project that ignores this acceleration will eventually fall behind the ones that embrace it.
- ares623 2mo agoyou're free to fork and improve it with your favorite harness. Go get 'em tiger.
- happyweasel 2mo ago"AI is a jet engine " and rust just wants to ensure you are a capable pilot that can actually steer a plane before stealing everyone else's attention
- imtringued 2mo agoWhy does a language need higher developer velocity? Why is acceleration needed? Acceleration makes sense for end user applications, where you're allowed to break whatever you see fit, but I don't see how it helps with core infrastructure like a programming language, where every mistake is multiplied a million fold.
- Cthulhu_ 2mo agoExactly this. There's plenty of boring software out there where writing the actual code is a chore. That's where AI works pretty well, as long as the people at the controls understand and can explain the problem and non-functionals. For projects like Rust, coding velocity is not the bottleneck, speed / productivity is not a priority.
- Cthulhu_ 2mo agoI love how your analogy actually works with the real world. You can't fly a jet plane until you've got all the various licenses and logged flying hours in prop planes first.
- duskdozer 2mo agoCreation is still allowed: >Pre-arranged, non-critical, high-quality, well-tested, and well-reviewed code changes that are originally created by an LLM are allowed, with disclosure.
- matheusmoreira 2mo agoIt's technically an experiment, but it's definitely good to see they're keeping an open mind about this. > Experiment: LLM-created code changes intended for review > We leave space open to experiment with LLMs to inform future policies. > This experiment is meant to inform future non-experimental policy, not to serve as the perpetual LLM usage policy.
- thunky 2mo agoThis implies that "create" is the hard part that we should not offload to machines. But IME all of the other things are the hard part. So basically it's fine to get the LLM to think for you and give you the answers as long as you understand Rust syntax well enough to type it all out yourself? This also seems like it will produce worse code, because it's preventing the LLM from doing the easy/boring part that it's good at.
- cbarnes99 2mo agoThey explicitly say that "create" is not the hard or valuable part. I suggest you actually read their policy instead of just the headline and then reacting to comments.
- minimaxir 2mo ago> Harassment is not allowed. You may not harass people for using an LLM, regardless of whether or not their use is banned by the policy. You must follow the Code of Conduct at all times when interacting with the Rust project. This policy I like.
- feverzsj 2mo agoYou know rustaceans hate anything LLM when mods have to make this a rule.
- LoganDark 2mo agoIt's not "rustaceans" as one whole. It's a very vocal minority (both rustacean and not) that make it everyone else's problem that they don't agree with the AI industry as a whole. I've had people try to convince me that I'm destroying the planet by using LLMs just because the process of creating the LLM was harmful to the climate. But that's like saying software piracy harms sales. Maybe the argument has more merit for models hosted in the cloud, but I use local ones too. There's a shameboard that curates a list of projects that don't explicitly and unconditionally ban all use of generative AI. Their term for projects that have a policy other than a total ban is "permissive" and it is treated as a sign to avoid that project/community. It's such a mess. Cancel culture is never the answer. I believe it is the right move to ban this completely unproductive and toxic kind of behavior.
- duskdozer 2mo agoIf you can understand that some behavior is toxic and should be banned, then you should understand the people behind "cancel culture." Alternatively, if you see "cancelling" "cancel culture" as not "cancel culture", then you can understand the paradox of tolerance, and why an idealistic fully tolerant approach is not possible either way.
- matheusmoreira 2mo agoBanning someone is not the same as canceling them though. Banishment is just enforcement of boundaries. It gets rid of a problematic person in a specific space where their behavior is not tolerated. It's about the community, not the banished. Once the troublemaker is gone, that's the end of it. Everyone goes back to their normal activities. Cancel culture consists of people going out of their way to get a person banned everywhere else and even fired by their employers. People launch entire campaigns against the problematic person and make a concerted effort to ruin their life. Not that different from the Kiwi Farms. Assertiveness and aggression.
- satvikpendem 2mo agoGood rules but Rust already has AI code in its codebase now.
- Cthulhu_ 2mo agoNobody's denying that, what is your point? Or are you assuming they're banning LLM code wholesale based on just the headline?
- matheusmoreira 2mo agoThe exact rules on LLM generated code submission live here: https://forge.rust-lang.org/policies/llm-usage.html https://forge.rust-lang.org/policies/llm-usage.html https://rustc-dev-guide.rust-lang.org/llm-guidance/writing.html https://rustc-dev-guide.rust-lang.org/llm-guidance/writing.h... > Pre-arranged, non-critical, high-quality, well-tested, and well-reviewed code changes that are originally created by an LLM are allowed, with disclosure. They clearly put a lot of thought into this and it shows. Huge respect. > New contributors cannot create a PR using an LLM unless they first talk with a reviewer. New contributors do not have community connections. I don't know any rust-lang/rust reviewer. What is the correct procedure for this? > Harassment is not allowed. > You may not harass people for using an LLM, regardless of whether or not their use is banned by the policy. Refreshing take. Not a fan of heavy handed moderation, but I'm still very happy to see that they have this stance given the racism-tier insults I've gotten on forums without it. I especially like this rule: > Don’t try to be the police for whether someone has used an LLM. You are not required to “actively look” for whether an LLM was involved.
- pas 2mo ago> What is the correct procedure for this? in general to work on something that will get "into the rust compiler" it needs at least an RFC and then a Major Change Proposal [0] in practice it starts with asking on zulip [1] [0] https://forge.rust-lang.org/compiler/proposals-and-stabilization.html https://forge.rust-lang.org/compiler/proposals-and-stabiliza... [1] https://forge.rust-lang.org/how-to-start-contributing.html https://forge.rust-lang.org/how-to-start-contributing.html
- panstromek 2mo agoAsking on zulip is the good first step, yes. But RFC or MCP is only needed for bigger changes. Majority of changes will not need that, especially the ones contributed by newcomers.
- Cthulhu_ 2mo ago> What is the correct procedure for this? Get involved with the project before submitting PRs, participate in discussions, etc. But if it's a change you want to contribute, don't use an LLM to write it.
- piokoch 2mo agoThe question is: is such policy even enforceable? If someone is "clever" enough to drop em-dashes and some bold highlights how one would know if something is AI generated or not?
- duskdozer 2mo ago> Some parts of the policy are unenforceable. This is not a bug. The goal is not to catch every violation, but to create a clear bright-line rule: Disclosure is required for all public LLM text, unless specifically exempted by the policy. This allows moderators to identify violations based on actions, not on intent, and only consider intent when deciding how to respond.
- weli 2mo agoI really dislike every kind of rule that says something along the lines "if it's LLM generated you must self-disclose otherwise it is against the rules". Because this quickly leads to witch hunting and easy persecution of IC's under the pretense "it looks generated by an LLM" or they just investigate you and put you on cooldown from being able to contribute while they check for signs of "LLM-generated code". It's no different than laws giving any officer the right to violate your rights based on flaky probable cause "you have slurred speech therefore I will search your car to see any open containers". This can lead to a soft coup by anti-llm individuals which will make communities slowly drift towards a group of elitists that gatekeep any newcomer.
- matheusmoreira 2mo agoI don't disagree with you. I too hate disclosing LLM usage. I hate giving free advertising to trillion dollar corporations. There's also the fact people will probably look down on me for it and assume I'm incompetent because I used an LLM, and I've actually ended up sitting on reviewed and tested patches to open source projects because of this. However, we should be polite and respect their house rules. They are being reasonable and even made an effort to preempt these exact objections: > Harassment is not allowed. > You may not harass people for using an LLM, regardless of whether or not their use is banned by the policy. > Don’t try to be the police for whether someone has used an LLM. You are not required to “actively look” for whether an LLM was involved.
- orphea 2mo ago> I hate giving free advertising to trillion dollar corporations. Are you required to tell you used Anthropic™ (or whichever your AI provider of the month is) to generate this code, and not only that *an LLM* was involved?
- matheusmoreira 2mo agoA project I wanted to contribute to requried git trailers in the commit message. Generated-by: Claude Fable 5
- luciana1u 2mo ago[flagged]
- lukasco 2mo agoI think LLM policies which ban usage are ultimately self-defeating. They neatly switch concerns about quality of contributions to concerns about "AI slop". These two things are not the same. But the biggest problem is that they ignore the (unevenly distributed) future. The future: SWEs will no longer write code by hand. The era of hand coding is over. We only saw that for sure in the last 6 - 9 months. But it's over. Many coders have not yet made this transition, true, but it's happening regardless. You may not like it, but as a coder, you will not be hired if you refuse these tools. You will look as ridiculous as an accountant that refuses to use spreadsheets. For now, we're not there yet. As a profession, we are learning how to deal with the massive influx of review work that occurs because of LLMs. The bottleneck has moved. And as of now, there aren't good answers. But there will be. We will figure it out, like we figured out CI/CD and agile. So personally, I'd focus my policies much more on dealing with the issues that this new era presents, and how to make LLM contributions work, and I'd avoid banning LLMs.
- cbarnes99 2mo agoYou clearly didn't read the actual policy if you think they're banning llms.
- lukasco 2mo agoThanks, but I did read the policy. This is what they say: "It's fine to use LLMs to answer questions, analyze, distill, refine, check, suggest, review. But not to create." And later: "There are very strict guidelines on LLM-generated code changes: Pre-arranged, non-critical, high-quality, well-tested, and well-reviewed code changes that are originally created by an LLM are allowed, with disclosure." That's a pretty limited wedge of allowed cases in my opinion.
- stillpointlab 2mo ago> We have long had the problem that there are more people who want to write code than people willing to review it. I think this is an important thing to mull over. The world is going to be a different place for those who wanted to write code but not review it compared to those who are willing to carefully review code.