Skip to content

[RFC]: Add guidance concerning AI usage #9347

@batpigandme

Description

@batpigandme

Description

This RFC proposes we add guidelines regarding the usage of AI/LLMs in the project as a whole, and in making contributions to the codebase. This could appear in brief in CONTRIBUTING and point to a longer, more explicit policy, or simply exist as its own entity.

Guiding principles

  1. Maintainer capacity is a limiting resource in open source. All contributions should respect the time and effort maintainers put into reviewing contributions.
  2. Indiscriminate use of AI to generate code can lead to low-quality contributions that can impose significant maintainer burden.
  3. This project is licensed under the Apache-2.0 License, and is subject to its terms--including the disclosure of any copyrighted materials included in submissisions. All contributions are subject to the Developer's Ceritifcate of Origin already in our contributing guidelines.
  4. Regardless of whether or not AI is used, contributors should should understand and be able to explain the code they are submitting.
  5. There are beneficial, permissible uses of AI in contributing to this project. For example, use AI to do R&D, learn to navigate the codebase, or suggest potential improvements to your code (including things like spelling and adherence to project guidelines).
  6. If contributors do use AI to assist in their contribution, they must disclose this in their pull request or issue. This should include a description of how AI was used and what specific contributions it made.
  7. The legal landscape around AI-generated content is still evolving, and (6) will allow the project to adapt to future changes.
  8. Using AI to resolve issues marked as good first issue is not permitted (i.e. we want you to build a mental model of the codebase yourself, and get familiar with the mechanics of how the process works).

Short-version polcy

Adapted from Matplotlib's Restriction on Generative AI Usage, and not inclusive of all the items listed in guiding principles:

We expect authentic engagement in our community.

  • Do not post output from Large Language Models or similar generative AI as comments on GitHub or Zulip, as such comments tend to be formulaic and low-value.

  • If you use generative AI tools as an aid in developing code or documentation changes, ensure that you fully understand the proposed changes and can explain why they are the correct approach, and disclose how AI was used in your pull request.

Make sure you have added value based on your personal competency to your contributions. Just taking some input, feeding it to an AI and posting the result is not of value to the project, or your growth as a developer.

Inspired by/useful resources

Related Issues

No response

Questions

No. I'd like feedback (of course), and will draft a PR with a more substantive policy, but thought the issue would be a more useful place for preserving the broader discussion.

Other

No.

Checklist

  • I have read and understood the Code of Conduct.
  • Searched for existing issues and pull requests.
  • The issue name begins with RFC:.

Metadata

Metadata

Assignees

No one assigned

    Labels

    GovernanceIssue or pull request related to project governance.Needs DiscussionNeeds further discussion.RFCRequest for comments. Feature requests and proposed changes.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions