Hi,

time passed and I had the holidays to think about this. In the meanwhile, our group had a member reacting quite blunt to the (perceived?) influx of AI assisted issues.

Things are not "terribly different", but it has a point of divergence, or, better, a GCC addresses a pain point I am trying to bring up again and again.
It tries to address the "amount" of work done with LLMs that is acceptable.

The wording "/legally significant/" is used. While it is clearly lawyer-speak, I think it is understandable in its core. It also uses the word "/good faith/".

Personally, I came up with the parallel of "what is copyrightable" or "what needs FSF attribution".

What is "big" or "small". Gregory in some chats and emails used the example "not code a whole class". SLOC is not significant anymore - I could make hundreds of skeletons autogenerated : lots of stuff, little real content. I could use AI to write one single method of a class long hundreds of lines which is critical and core to the class. It would pass the definition of "legally significant".

I had some chats with people and was displeased by the counter-examples. In core, they were putting the committer in bad faith, which is something beyond control and only testable on analysis.

In sum: I think we should update our Policy by incorporating this concept and perhaps the easiest way is to adopt the same wording.

The paragraph of Transparency and Accountability is also an interesting part worth of mentioning. I like it and extend it also to tests and issues, that is, any kind of contribution.

Riccardo

Gregory Casamento wrote:
GCC released their AI-Policy... it is not terribly different from ours and aligns pretty closely.  There are a few areas of divergence:

Their policy follows...  this is available at https://forge.sourceware.org/redi/gcc-wwwdocs/raw/commit/4d0793a6a14bf9bfe9e92ac1599840780355199d/htdocs/ai-policy.html


  GNU Compiler Collection - AI Policy


    Community First

First, all contributors should be treated with respect and kindness <https://gcc.gnu.org/conduct.html>. There are strongly held and widely varying opinions regarding large language models (LLMs) and everyone should be presumed to be contributing in good faith. 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.


    Acceptable Contributions

For the time being, the GNU Compiler Collection (GCC) policy is to decline any legally significant <https://www.gnu.org/prep/maintain/maintain.html#Legally-Significant> contributions which include LLM-generated content or are derived from LLM-generated content.

The GCC maintainers are free to accept legally insignificant <https://www.gnu.org/prep/maintain/maintain.html#Legally-Significant> contributions generated by an LLM as long as they meet the usual prerequisites <https://gcc.gnu.org/contribute.html> for any contribution and the contribution is clearly marked.

As an exception, the GCC maintainers are free to accept /legally significant/ <https://www.gnu.org/prep/maintain/maintain.html#Legally-Significant> contributions to *test cases*, generated in whole or in part by an LLM.

This policy does not apply to code which does not primarily belong to the GCC project, but is imported from other projects for convenience or to satisfy prerequisites (e.g. libsanitizer).


    Transparency & Accountability

The commit message for any contribution of LLM-generated content must include an “Assisted-by:” tag.

All contributions must be submitted by a human who understands the changes and is prepared to answer questions about them. The decision to include the contribution in the project must also be made by a human. Only a human may provide the “Signed-off-by:” tag certifying the Developer Certificate of Origin (DCO) <https://developercertificate.org/>. An LLM may not commit code to the project repository.


    Personal Use

This policy does not apply to a contributor's other uses of AI including the use of these tools to enable them to work with their own computing devices e.g. screen readers, text-to-speech, direct translations, spelling or grammar assistance, where the contributor verifies the output of the tool.

This policy does not apply to a contributor's use of AI for the purposes of research, analysis, bug discovery and reporting (output should not be sent verbatim without due consideration), patch review (supporting human review, not replacing it) and debugging, so long as the output is not included in the contributions to the project. If the output is included in the contributions to the project then this policy would apply.


    Next Steps

This policy is expected to evolve with the community or as the overall GNU Project position is updated. At the latest the policy will be reviewed at the start of 2027.

This work is marked CC0 1.0 Universal <https://creativecommons.org/publicdomain/zero/1.0/>

To Summarize:

GNUstep's approach is outcome-based: contributions are judged on licensing, provenance, quality, correctness, maintainability, and human review regardless of the tools used to create them. GCC's approach is process-based for legally significant contributions: AI-generated code is declined because of legal and provenance concerns, even if the resulting code would otherwise satisfy the project's technical standards.

This seems fairly closely aligned with our approach with the exception of code that is wholly generated by an LLM.  Our approach emphasizes caution in this case and, during our discussion, I recommended not accepting this kind of contribution.  We are not bound by GCC's policy, and I recommend we review ours as it becomes necessary as well.

Yours, GC

On Sat, Jul 18, 2026 at 12:23 PM Gregory Casamento <[email protected] <mailto:[email protected]>> wrote:

    Lars,

    I don't know how the GNU Project is arriving at its policy or
    whether individual GNU projects have an opportunity to provide
    input. I have written to RMS about our policy and given him a link
    to it.  I hope it can inform any decision they make.

    I don't think the discussion should become a witch hunt either. AI
    is a tool, and like any tool, it can be used well or poorly.
    Regardless of how code is produced, I believe our responsibility
    as maintainers remains the same: to ensure that contributions meet
    our standards for licensing, provenance, quality, correctness,
    maintainability, and review.

    Ultimately, those standards are what determine whether code
    belongs in GNUstep, not the particular tools used during its
    development.

    I'm hoping the GNU Project reaches a thoughtful and balanced
    conclusion.

    Yours, Greg


    On Sat, Jul 18, 2026 at 5:00 AM [email protected]
    <mailto:[email protected]>
    <[email protected]
    <mailto:[email protected]>> wrote:

        Hi Greg,

        just one question in this regard: Do we have a voice in GNU’s
        discussion on that topic (I hope, there is a discussion an not
        just a decision by one person, namely RMS)? If so, I hope, we
        make our standpoint clear and don’t go onto a witch-hunt
        against AI (which would be like a witch hunt against compilers
        and linkers in the times when UNIX was still written in
        assembler). In my opinion AI is just a (very sophisticated)
        tool which you need to know, how to use it and its
        limitations. Then we can use it sanely and to our advantage.

        Hoping for the best outcome,

        Lars

        Am 18.07.2026 um 10:23 schrieb Gregory Casamento
        <[email protected] <mailto:[email protected]>>:

        David,

        Sorry for the late reply; work has been very demanding
        lately.  Of course, any policy they issue will apply to us. 
        I think this is a reasonable approach for EMACS if they are
        waiting for guidance from the GNU Project.

        Until that policy is published, however, I don't think it
        gives us any basis for changing GNUstep's existing approach.
        Once the GNU Project has issued its guidance, we can evaluate
        it on its merits, determine whether and how it applies to
        GNUstep, and discuss whether any changes are warranted.

        I believe our current policy provides a practical balance as
        it focuses on licensing, provenance, code quality, review,
        and maintainability rather than the specific tools
        contributors use.

        As mentioned in previous emails, I have set a clear line on
        what is acceptable, and this was reflected in the discussion
        a few weeks ago.

        Yours, GC


        On Wed, Jul 15, 2026 at 4:31 AM David Chisnall
        <[email protected]
        <mailto:[email protected]>> wrote:

            On 14 Jul 2026, at 22:48, Gregory Casamento
            <[email protected]
            <mailto:[email protected]>> wrote:
            >
            > Based on the discussion, I do not see sufficient
            consensus or justification to replace our existing AI
            policy with a "No-AI" policy for the GNUstep core
            libraries. Accordingly, the existing policy will remain
            in effect.

            Most of the arguments have been covered in other places
            and it’s quite surprising that most of the folks in this
            thread seem unfamiliar with them, but I would add one thing:

            This week, EMACS paused ‘AI’ contributions because the
            GNU project is expected to provide an explicit policy
            soon. I presume that policy will apply to GNUstep as well.

            David





Reply via email to