Loupe no longer allows generative AI contributions

I just merged an addition to Loupe’s contribution guidelines that bans the use of AI generated content in contributions.

For now, I came up with the following text. I’m in favor of adopting a similar policy for all official GNOME software.

Use of Generative AI

This project does not allow contributions generated by large languages models (LLMs) and chatbots. This ban includes tools like ChatGPT, Claude, Copilot, DeepSeek, and Devin AI. We are taking these steps as precaution due to the potential negative influence of AI generated content on quality, as well as likely copyright violations.

This ban of AI generated content applies to all parts of the projects, including, but not limited to, code, documentation, issues, and artworks. An exception applies for purely translating texts for issues and comments to English.

AI tools can be used to answer questions and find information. However, we encourage contributors to avoid them in favor of using existing documentation and our chats and forums. Since AI generated information is frequently misleading or false, we cannot supply support on anything referencing AI output.

This text is inspired by Servo’s contribution guidelines. However, I wanted to keep it more concise for the contribution guidelines.

At the same time, there are many more reasons why I am in favor of avoiding AI. They go far beyond the often cited environment cost and the ethical issues of companies capitalizing on Open Source work and the work of many artists and other creators, without permission or compensation. Basing a lot of what a society does on AI, will also cement many structures of oppression against marginalized people. While these aspects might be more relevant in areas where AI is deciding on who gets a job, what medical diagnosis someone will get, or who is a criminal suspect, I think it’s important to take a categorical stance against the use of AI, except for areas where AI is helping people immediately with their life.

17 Likes

As requested, I’m releasing the statement about “Use of Generative AI,” quoted above, under the CC0 license.

Note that the above statement has been written quite quickly. I’m happy to get feedback about what could make it better. Also, I’m curious to know which other projects have adopted this or a similar statement :slight_smile:

4 Likes

How do you plan to enforce this or is it an on your honor type rule? An experienced programmer could use a LLM to assist writing code, but the end result may be identical to if they did it with no LLM since they have the experience to know what a good design looks like and ensure it’s tested. They could also write text for an issue and ask a LLM to help polish it, but once again it would be unlikely that you would be able to tell that a LLM was involved.

I agree with the problems you mentioned with LLMs, however, I’m also concerned that banning it entirely may make projects less accessible to contributors. Stackoverflow has fallen of a cliff and I agree that contributors should read the docs, but we need to ensure this doesn’t give off RTFM vibes.

1 Like

Added it in:

Thanks!

That’s not a question specific to AI contributions. You generally have to assume that if people submit something, they do follow the rules of the project and for example do actually own the copyright to the things they submit.

If you do your contribution by letting ChatGPT generate your code, you aren’t in any form closer to having access to a project. No one will even accept you into internships based on this. And again, just on the basis of copyright, accepting generated code is incredibly sketchy.

In this case, I’m not sure, how you can still end up with some “the end justifies the means.”

I wasn’t trying to make a point that the ends justify the means. I was making a point that:

  1. AI is being used heavily, including with people learning to code. If we say that zero usage of LLMs is allowed, I fear that many of those people will go contribute to other projects instead.
  2. Usage of AI is much more nuanced than “generate code without thinking.” I gave some examples above, but also someone could ask a LLM to brainstorm ideas to solve a problem with prompt input of the errors and other context. If then I code a solution using one of those ideas, IANAL but I own the copyright of that creative work.

I understand the skepticism around any use of a LLM, I am also pretty skeptical about their ability to generate code without thinking. However, I want to make sure that these other more nuanced usages are discussed.

2 Likes

People that are learning to code should never use LLMs to begin with. It’s like copy-pasting from StackOverflow, except actively worse, because StackOverflow answers at least come with an explanation and some human validation.

The only people that end up using LLMs are people that are not learning to code, but want to submit something anyway, which ends up in an additional maintenance burden for the people reviewing the code, who now have to deal with utter nonsense or subtly wrong nonsense.

5 Likes

I still don’t understand what your problem is. The text is explicitly stating: “AI tools can be used to answer questions and find information.”

Agree.

Here is a reference MR which has random unrelated code changes wasting maintainer’s time.

2 Likes

This ban of AI generated content applies to all parts of the projects, including, but not limited to, code, documentation, issues, and artworks.

My issue is except translating text and answer questions, it sounds like using any AI at all is completely forbidden. As we have discussed this, I think you are saying that this is acceptable:

  • Using AI to brainstorm approaches to a problem (not generating the actual code)
  • Getting explanations about error messages or concepts
  • Asking AI to help understand documentation

Things that are not acceptable:

  • Directly generating and submitting code without understanding it
  • Using AI to write documentation or issues wholesale
  • Relying on AI-generated solutions without verification

What wasn’t so clear to me is this middle ground, would this be acceptable?

  • Use AI as a learning tool and idea generator when you’re stuck
  • Write your own code/text based on your understanding
  • Verify everything against official documentation
  • Be transparent about your process
1 Like

I believe you’re specifically referring to people who use LLMs to generate and submit code without understanding it, correct? This distinction seems important, as there are many experienced developers who use LLMs as supplementary tools while still writing and understanding their own code. The concern about non-learners submitting AI-generated code makes sense, but it might be an overstatement to suggest that all LLM usage comes from those not learning to code.

1 Like

I’m in favor of the policy in general, because the last thing I want is for my fellow maintainers to deal with more AI slop nonsense.

That said, I very much wonder how we’ll be able to detect this in the future, as the kind of crowd who would use such tools as a way to compensate their programming inexperience (rather than something to give them a starting point in their own research before making their own code) is not going to disclose that they’re using a LLM to do their work. I mean, we can put up the rules/policy, but I bet that won’t stop that crowd.

I also wonder how this would play out considering that even Red Hat wants to add AI “code assistance” to GNOME:

Thanks to IBMs Granite effort we know have an AI engine that is available under proper open source licensing terms and which can be extended for many different usecases. Also the IBM Granite team has an aggressive plan for releasing updated versions of Granite, incorporating new features of special interest to developers, like making Granite a great engine to power IDEs and similar tools.

We been brainstorming various ideas in the team for how we can make use of AI to provide improved or new features to users of GNOME and Fedora Workstation. This includes making sure Fedora Workstation users have access to great tools like RamaLama, that we make sure setting up accelerated AI inside Toolbx is simple, that we offer a good Code Assistant based on Granite and that we come up with other cool integration points.

Presumably that “Code Assistant” integration would be in GNOME Builder (where else?), but I don’t know what that would entail, as the linked blog post is annoyingly sparse on details.

I suspect that this is pretty obviously noticeable. Luckily I stopped TAing uni courses right in time to miss ChatGPT, but from what I’ve been hearing from my peers that stuck around: AI-powered cheating is pretty obvious.

And I think that makes sense. Inexperienced programmers make certain types of mistakes, and LLMs make certain different types of mistakes. Basically, an inexperienced programmer would have to:

  1. Be able to set up a development and MR submission pipeline
  2. Coax the LLM into doing what they want it to do
  3. Get the output of the LLM to compile, despite their inexperience
  4. Have the MR they submit actually make any sense. AI slop is often complete nonsense
  5. Stand up to pressure and outright lie when the maintainer inevitably hits them with the “is this MR AI-generated?” question.
  6. Be able to explain the technical decisions the LLM made when the maintainer questions them.

An inexperienced programmer doesn’t have enough experience to do all of those things and trick an experienced maintainer into merging AI-generated code. Conversely, an experienced programmer is probably not relying on LLMs to straight up generate code for them, and is mostly using them as super-powered-autocomplete

So, I wouldn’t be too concerned about it.

Yeah that’s a great question… I guess we’ll have to wait and see what exactly their plan actually is. Maybe the LLM hype bubble bursts before we need to reckon with this and priorities (both RedHat’s and the community’s) will change by then

1 Like