This policy I like.
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.
https://forge.rust-lang.org/policies/llm-usage.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.
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-stabiliza...
[1] https://forge.rust-lang.org/how-to-start-contributing.html
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.
Assertiveness and agression.
What I'm talking about is the practice of following people around for using AI, rooting around for evidence that a project doesn't fully ban AI, etc. and publicly shaming them, harassing them, attacking them. People who do this don't accept neutrality or even mere skepticism, they demand full unconditional bans or else they make themselves a huge nuisance and try to harm you. That's cancel culture, plain and simple.
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.
The rules I quoted say LLM code generation is allowed should the developer contact a reviewer first and they agree to review it.
My question was about the exact procedure and etiquette for contacting these reviewers. For example, Linux has a get_maintainer.pl people can use to figure out who to email should they want to contribute something.
andsoitis•2h ago
ares623•1h ago
This closes the gap. A key insight. A load bearing difference.
Now, is writing code considered tedium, for a project like Rust?
seanhunter•1h ago
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.
incrudible•1h ago
zahlman•32m ago
socalgal2•1h ago
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.
happyweasel•1h ago
and rust just wants to ensure you are a capable pilot that can actually steer a plane before stealing everyone else's attention
ares623•1h ago
imtringued•1h ago
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_•36m ago
For projects like Rust, coding velocity is not the bottleneck, speed / productivity is not a priority.
duskdozer•47m ago
>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•40m ago
> 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.