The policy source is worth reading: https://forge.sourceware.org/redi/gcc-wwwdocs/commit/4d0793a...
> We welcome all contributors to the community even if they have not yet followed our policies; we should guide such contributors on how to do so.
Kudos to the GNU project for their attitude.
The comments are worth it... the full spectrum of personalities and the hottest of takes. 10/10, would recommend to a bored friend.
> The true purpose of AI is to allow wealth to access skill without allowing skill to access wealth.
This is such a fire quote
I guess AI companies are actually super happy with major open source projects having such policies. It guarantees that their source code repositories will remain amazing assets for the training dataset construction. Open source projects don't buy massive licenses anyway - the paying customer is in the enterprise not in open source. So it's fine for open source to go without AI and by doing this contributing to AI models becoming better and better.
So all in all, a good news to everyone :) Both the "pro-AI" and "anti-AI" crowds.
Makes sense. The G in GCC is for GNU right, GNU as in Stallman-style Free Software. The GPL operates based on copyright licenses. If LLM output can not be copyrightable (as the courts seem to assert), then it can not be a significant part of Free Software.
Whether you agree with the policy or not, the way it's written is good. It just states the rules neutrally. See https://gcc.gnu.org/ai-policy.html.
In various projects I see AI policies that state not only the rules, but also their (moral) justification. I think that's worse, because I can agree to the rules, but that does not mean I subscribe to your point of view.
This is a pretty good middle ground, I think. You can't prevent LLM usage and there's significant downsides to doing so universally, so restricting contributions to things that a human needs to demonstrably understand circumvents a lot of problems.
I don't use gcc directly - not in a long while - but almost everything I rely on uses it, and it's hugely encouraging to have the stewards of this project contemplate, and then determine to have this policy.
Meanwhile, I don't know who quotemstr is, but they don't sound sane in any of the exchanges in this thread.
Given it is a GNU project, ie the free software ideology is an essential part of it, the guideline being focused on the legal ownership makes a lot of sense to me. Adding to the list of policies to follow over the next few years, it will be very interesting to see how they each evolve
LLVM’s policy is that contributors can use whatever tools they would like to craft their contributions, but there must be a human in the loop. Contributors must read and review all LLM-generated code or text before they ask other project members to review it. The contributor is always the author and is fully accountable for their contributions.
https://llvm.org/docs/AIToolPolicy.html
LLMs are just tools. Humans are always accountable and in the end whatever tool is used the human is the one powering on the computer. Banning LLM is like banning compilers themselves or linters with auto fix capability, or anything else that appends new characters to text files without humans pressing keyboard buttons.
Hence, nonsense.
Also:
https://forge.sourceware.org/redi/gcc-wwwdocs/src/commit/4d0...
“ The commit message for any contribution of LLM-generated content must include an “Assisted-by:” tag.”
You serious?!
Maybe projects that announce such anti-“ai” policies seek reducing slop and spam. But come on. Policy is a text doc. The real deal is enforcing it. Ban idiots, not humans using whatever tools to get things done.
The 3 big ones, Linux, GCC and Git require a human to vouch/explain the work in question.
Once the 3 big ones start using LLM to review/accept the work for speed reliability sake, who knows what is going to happen.
I like that this policy is more specific than the Debian policy, and not overly strict as to include contributions that are not generated by LLMs, but may be the result of a conversation with LLMs.
It also helps that the policy is inherited from the GNU org, way simpler than having each project have their own specific policy.
Gnood job
Without wanting to take a stance on either side of these arguments, it does occur to me that, for this and other major FOSS projects deciding on AI policies, others can always start forks with different policies. The success or failure of such forks might even offer some insight into how helpful or harmful different forms of AI use are, at least from a programming perspective.
I think if the submitter can answer questions about the code, and exhibit understanding for every line then it should be indistinguishable. But I don't maintain any busy projects.
The moderating should focus on good user participation, and a reputation to give old users leeway. I'd be as specific as requesting new users to respond as succinctly as possible to avoid AI ranting
The LLM will write, with proper care, a code that is correct for contribution. However, for the code quality (proper decomposition, etc...), I would not expect frontier models to write anything near that GCC-level coding standards would require.
Finally we have a large project where the developers have a spine. This is good for gcc and will attract intelligent people instead of the open source marketing drones (which unfortunately have taken over Linux).
It’s definitely interesting watching the OSS and commercial world swing in seemingly opposite directions on this. It would be nice to see some companies sharing more balanced successful practices they’ve implemented with AI
I wonder how they plan to detect it something is LLM generated. I think what this leads to is people just working hard to make their outputs appear human generated.
For people who feel it's too restrictive, I wonder if a good alternative is to work on improving clang instead?
Now we see two technology ecosystems emerging: the human-zealot software stack and the machine-assisted software stack, where the latter possibly builds on OSS software but it kept from contributing improvements back. One is based on a dinosaur ideology and will soon be extinct. The human one.
15 lines of code is a great middle ground. Those changes involve a lot of tests though
Why do the AI bros even care? Surely you can just make a better gcc with a prompt right, why care about one project disallowing your Thoughtful Contributions?
caveat about test cases is a good add
>Why is anyone not surprised that some folks are not enthusiastically building their own gallows?
Their way of putting it is funny. I like this person's opinion, but I disagree with it. It's just their own framework, but I think it could also serve as a foundation for building other things.
Speaking of PRs, honestly, I've done the same thing before—it was just a one-line fix, but I asked the LLM to add 30 lines of tests just to look more professional
Yeah, go away with your vibeslop.
Fork it into Rust or something.
[dead]
how do enforce 'human only code' anyway ????
at some point, what's stopping people from lying or make the code like human writing one ????
But looking at the history of the free software movement, it seems like they should actually be embracing LLMs. It's interesting how differently people think.
The starting point of GNU was that Unix was expensive and costly for research labs, so they set out to build a free alternative that users could control from the ground up.
So if LLMs are useful, shouldn't we be building a free LLM ecosystem where users can run, study, and modify them, rather than letting a few companies control access to models, execution, environments, and data processing?
Of course, it's natural for organizations to drift from their original mission as they get older.
But judging by GNU's early history, the logic that:
1.LLMs themselves are bad because companies control them,
2.Writing code with AI isn't real programming,
3.Only human-written code is truly free.
This logic seems a bit flawed. After all, compilers, debuggers, and automated builds all automated tasks that humans used to do manually. And the GNU project itself created tools like Make and GDB so that programmers could work at a higher level.
If LLMs can reduce repetitive coding, documentation browsing, translation, test generation, and understanding legacy code, then that seems perfectly aligned with the next goals of free software. Making knowledge accessible to more people rather than keeping it locked up as tacit knowledge held by a few experts.
I guess when organizations grow large, they inevitably attract people who don't fully align with the original purpose
It's extremely disturbing to see literally all foundational projects succumbing to the slop-monster. It's only a matter of time now until the critical mass of hard to detect bugs accumulate in the project, making gcc completely unusable for any practical purpose. What's worse - those will be subtle bugs The kind you get from having a defective RAM chip, somewhere in the upper addresses. And if we can't trust the compiler, we can't trust anything compiled with it.
Do we have any idea what "legally significant" or "legally insignificant" means here?
2028: AI can generate a compiler suite to rival GCC overnight, but faster and with fewer bugs. That'll be fun.
(Extra fun if the AI generated compiler is under BSD licence.)
It's always fun to see the people throwing fits over this kind of thing. No matter what approach/wording they use, and no matter how hard I try to give them the benefit of the doubt, the mental images my mind forms of these people is always entertaining.
Ofc, it's less fun to accept that many of them are probably bots, but whatever.
For until the end of the article I was thinking GCC as in Gulf Cooperation Council. No idea why, but I was surprised this being about the gcc compiler and AI rules.
Refusing security patches and bug fixes because an engineer chose to use an auto-complete engine you do not like is categorically negligent. Might as well mandate everyone use a special editor too. Probably emacs.
I know a kernel developer sitting on a bunch of AI generated 0day patches for Zig they have not submitted since it is against Zig policy and they do not want to deal with the drama. That is what these policies do.
Zig and GCC have endangered their users for the sake of keeping their hobby running the way they most enjoy, and thus they are now hobby projects.
Imagine a mechanic that insisted on only using parts forged by human hands with a hammer. You can call that masochism, or hand crafted art, but you cannot call it responsible engineering.
We already switched our linux distro (stagex) to be LLVM native this year. Better compiler by far, but now have even more reasons to support the choice.
Disallowing AI contributions is as irresponsible as allowing them without review.
To people not interacting with open source projects that are stablished and popular, there are a lot of PRs and contributions where someone set an agent with a prompt like “contribute using my user to popular projects to improve my profile” or something similar and the entire PR and answers to maintainers questions and literally everything is entirely machine generated, without any human, and at the same time it is done in the cheapest way so steering the PRs in review isn’t even like “free tokens” because the model used is not good, so the output is always bad. The policies help point the agent to what is not allowed and shutdown the contribution, and so far the agents seems to respect it. Shutting down an agent without a policy to point to them make them very reactive. Note, there is no human involved in the other side! The person that set up the agent is not even aware of the specific PRs that are going.