From 8802f664ec6d1c797f10d16e8b407aeea082ab53 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Tue, 24 Mar 2026 15:16:44 +0800 Subject: [PATCH 1/9] Add an AI and Autonomous code contribution policy. --- .github/pull_request_template.md | 3 ++ AI_POLICY.md | 89 ++++++++++++++++++++++++++++++++ CONTRIBUTING.md | 43 +++------------ 3 files changed, 100 insertions(+), 35 deletions(-) create mode 100644 AI_POLICY.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 594cca4..bc574f1 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -2,9 +2,12 @@ + + ## PR Checklist: - [ ] All new features have been tested - [ ] All new features have been documented - [ ] I have read the **CONTRIBUTING.md** file - [ ] I will abide by the code of conduct +- [ ] I have disclosed the use of any autonomous coding tooling diff --git a/AI_POLICY.md b/AI_POLICY.md new file mode 100644 index 0000000..6a418c1 --- /dev/null +++ b/AI_POLICY.md @@ -0,0 +1,89 @@ +# AI and Autonomous Code Contribution Policy + +BeeWare is a complex project. It involves code that needs to run on a range of operating systems and hardware configurations. It has interfaces that must maintain a robust user experience for developers with a wide range of levels of experience. It is important that BeeWare software has high standard of quality and maintainability. There are a small number of people on the BeeWare core team, and we seek to use our time and resources effectively. + +Generative AI and Large Language Models (as seen in tools such as ChatGPT, Codex, Claude, and Copilot) have become an unavoidable detail of modern software development. While we recognize that some people find these tools to be useful aids for software development, they also make it very easy to generate contributions without the submitter fully understanding how the code works, or the consequences of specific implementation choices. It is also possible for these tools to operate autonomously, without any human involvement or oversight. + +The overhead associated with managing contributions that have been generated by autonomous coding tools, with little or no effort on the part of the human contributor, is not an effective use of the core team's limited time and resources. This policy describes the conditions under which autonomous coding tools may be used when contributing to BeeWare projects. + +## 1. Accountability + +We neither encourage nor prohibit the use of autonomous coding tools when contributing to BeeWare projects. However, if you've used an autonomous coding tool to support your work processes, all contributions are you make are ultimately **your** responsibility. + +**The human contributor is the sole party responsible for the contribution.** + +If you submit a pull request that includes code, documentation, or comments that has been generated by an automated tool: + +- You must fully understand every line of code in the submission. +- You must be able to fully explain your implementation during the review process. + +"The AI generated it" is *never* an acceptable answer to a reviewer's question. If a maintainer suspects you do not understand your PR, it will be closed immediately. + +If you use an autonomous code review tool to assist with the review of a pull request: + +- You must fully understand the content that has been reviewed. +- You must be able to justify your review comments if they are questioned. + +"The AI said this was a problem" is *never* an acceptable review response. + +Copy-and-pasting content to and from a chatbot during the process of code review is not acceptable, unless this is being used for translation to and from English. + +If you allow an autonomous agent to post an issue, pull request or code review on your behalf, **you** are responsible for the content that is posted. If the content generated by the autonomous agent fails to follow BeeWare's documented contribution processes, **you** are responsible for that failure. + +Autonomous agents may be used to initiate an action (e.g., submit a pull request, or provide a code review), but should not be empowered to engage in ongoing "conversations" with other participants. Humans will take time to review code, and we expect a human contributor to make the same commitment in handling their submissions. Discussions on the BeeWare repositories should be between humans. + +## 2. Disclosure + +If autonomous coding tools were used to generate a significant portion of your contribution (i.e. beyond simple autocomplete), we require you to **disclose the tools used** in the pull request description. + +Transparency helps maintainers calibrate their review focus. Please add a trailer to your pull request message in the following format: + +```text +Assisted-by: Name of AI +``` + +Examples: + +```text +Assisted-by: ChatGPT 5.2 +Assisted-by: Claude Opus 4.5 +Assisted-by: Google Gemini 3 +``` + +A template for this is included in the default BeeWare pull request template. The template also includes a checkbox that requires you to confirm that you have disclosed the use of any autonomous coding tools. This checkbox *must* be checked. + +## 3. Intentionality + +BeeWare is a project written by humans with interfaces designed by humans - for everyone. It is not a testing ground for tool experimentation. + +We do not accept pull requests or issues that result from running an autonomous tool over the code base to find improvements without prior context or alignment with the project. + +The expectations of contributions generated by autonomous coding tools are no different to those generated by humans. Work generated using autonomous coding tools must follow the same contribution guidelines and procedures that a human contributor is expected to follow. Pull request and issue templates must be filled out as provided, not replaced with generated content. + +## 4. Copyright & Legal + +By submitting a contribution to BeeWare, you represent and warrant that: + +1. You have the legal right to submit the contribution under the project's licence. +2. The contribution does not violate the intellectual property rights of any third party. +3. If autonomous coding tools were used, the resulting code does not violate the terms of service of the tool provider, and does not include "regurgitated" code from libraries with licenses that are incompatible with the repository you’re submitting it to. + +If you cannot guarantee the provenance and legal safety of code you contribute - regardless of whether it is autonomously generated - **do not submit it**. + +## 5. Prohibited Uses + +The following are strictly prohibited, and will result in immediate closure of a pull request or issue, and a report being made under our Code of Conduct: + +- **Ignoring code contribution procedures:** Using autonomous tooling to write issues or pull request descriptions that ignore or overwrite default project templates. +- **Unvetted boilerplate:** Submitting verbose autonomously-generated summaries in place of a succinct explanation of the contribution. If you don't understand what the code does well enough to explain it in your own words, don't submit the PR. +- **Conflicts with reality:** For example, submitting pull requests that resolve issues that don't exist, or code that uses APIs that don't exist. Contributions must be grounded in reality. + +## 6. Enforcement + +BeeWare project maintainers reserve the right to close any issue or pull request that appears to be a low-effort contribution from an autonomous tool, without providing a detailed technical critique. We are a small team supporting a large project. Our time is best spent working with contributors who understand the project's technical requirements and are interested in working with the maintainers to advance the project. + +Any such action will be reported to the BeeWare Code of Conduct Response Team. Repeated violations may result in a ban from BeeWare Project spaces. + +### Acknowledgement + +This policy is based on the [Mastodon AI Contribution Policy](https://github.com/mastodon/.github/blob/main/AI_POLICY.md). That policy was based on the the [CloudNativePG AI Contribution Policy](https://github.com/cloudnative-pg/governance/blob/main/AI_POLICY.md), which was inspired by the [Ghostty AI Usage Policy](https://github.com/ghostty-org/ghostty/blob/main/AI_POLICY.md) and the Linux Foundation's [Generative AI Policy](https://www.linuxfoundation.org/legal/generative-ai). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 92d1144..8a8b775 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,44 +1,17 @@ # All Contributions Welcome -It's not just about code. A successful software project requires documentation, design skills, feedback and bug reports. The BeeWare community acknowledges that all contributions are important - not just the ones that come as a pull request on GitHub. +It's not just about code. A successful software project requires documentation, design skills, feedback and bug reports. The BeeWare project recognizes that all contributions are important - not just the ones that come as a pull request on GitHub. -## First-time Contributors +## Code of Conduct -If you're new to the project (or even entirely new to open source in general), the best place to start is with our [first-time contributors guide](https://beeware.org/contributing/how/first-time/). Everyone can contribute to open source, and we're here to show you how. +BeeWare operates under a [Code of Conduct](https://beeware.org/community/behavior/code-of-conduct/). -## Code Contributions +## How to contribute -Your code contributions are welcome! Please familiarize yourself with our [Development Process](https://beeware.org/contributing/how/process/). +If you'd like to contribute to a BeeWare project, our [contribution guide](https://beeware.org/contributing) has details on how to pick a way to contribute, how to set up a development environment, and other requirements we have as part of our contribution process. -If you're looking for something to work on, and don't know where your effort would be welcome, try looking at the ticket tracker for a project of interest. There will usually be a couple of tickets with known problems; any ticket is a candidate for being fixed. Some tickets in particular will be tagged [up-for-grabs](https://github.com/search?q=user%3Abeeware+label%3Aup-for-grabs+is%3Aissue+is%3Aopen&type=) +## AI contributions -- this indicates that they are areas of particular interest where the project -would like contributions. +We neither encourage nor prohibit the use of autonomous coding tools when contributing to BeeWare projects. However, if you've used an autonomous coding tool to support your work processes, all contributions are you make are ultimately **your** responsibility. -If you're a first time contributor, some tickets are also tagged as [first-timers-only](https://github.com/search?q=user%3Abeeware+label%3Afirst-timers-only+is%3Aissue+is%3Aopen&type=). These are special issues that have been selected because they're relatively simple introductions to the project, and the BeeWare team will mentor any first time contributor in committing a patch for one of these issues. - -## Platform Usage - -Do you use Windows or various flavours of Linux? Are you able to install a project or application on your system? Did you run into any problems? - -If so, please update the documentation to show how you were able to get it to work, or log an issue if you've found a bug that you can't fix. - -## Documentation - -Is the documentation up to date? Do you think things could be worded differently? Are there missing sections? Do you have an idea for a tutorial that could be written? Please submit a Pull Request! - -## Help translate and update our Website - -Is there anything wrong or missing from our website? Please feel free to make edits and submit a pull request! - -Want to help translate or update the content of this website? Visit the translations section. - -## Build a real application! - -Ultimately BeeWare is a set of tools for building applications. One of the best ways to evaluate our progress is to see people build real-world applications with the BeeWare tools. So if you've got an idea for an application you've always wanted or needed - try to build it! - -In the process of building that application, you'll likely find bugs, missing features, or friction in the development process. Those problems can then be turned into bug reports or patches. - -## Something else - -If you've got your own idea for something, or if you don't see any tickets, or you want to be mentored on a ticket, or you aren't sure how to proceed, contact the project maintainers on Twitter or Discord. The project maintainers love collaborating, especially with new contributors, and will gladly answer any questions or walk you through any problems you may encounter. +Our [AI and Autonomous Code Contribution Policy](./AI_POLICY.md) has the full details of your obligations if you choose to use an automous coding tool when contributing to BeeWare. From 6f32da4214fb3c78f605ba29de6316a700dbba21 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Tue, 31 Mar 2026 12:29:00 +0800 Subject: [PATCH 2/9] Improve PR template. --- .github/pull_request_template.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index bc574f1..bbca1d8 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -2,12 +2,12 @@ - - ## PR Checklist: - [ ] All new features have been tested - [ ] All new features have been documented - [ ] I have read the **CONTRIBUTING.md** file - [ ] I will abide by the code of conduct -- [ ] I have disclosed the use of any autonomous coding tooling +- [ ] This PR was generated or assisted using an AI tool + +Assisted-by: From 7c8f197ea1c0cc9879e4c2270c296aacfe7a60db Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Tue, 31 Mar 2026 13:27:39 +0800 Subject: [PATCH 3/9] Update AI policy to include a preamble, and more direct usage of the term 'AI tools' --- AI_POLICY.md | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/AI_POLICY.md b/AI_POLICY.md index 6a418c1..9c447ce 100644 --- a/AI_POLICY.md +++ b/AI_POLICY.md @@ -1,25 +1,29 @@ -# AI and Autonomous Code Contribution Policy +# AI Policy + +The BeeWare project neither encourages nor prohibits the use of AI tools when making contributions. However, if you do use an AI tool to support your work processes, this policy describes the conditions governing that tool use. + +The one paragraph summary of this policy: **The human contributor is the sole party responsible for any contribution.** That human is responsible for understanding all contributions they make, declaring the usage any tools used, and ensuring compliance with any project guidelines and processes. + +## Introduction BeeWare is a complex project. It involves code that needs to run on a range of operating systems and hardware configurations. It has interfaces that must maintain a robust user experience for developers with a wide range of levels of experience. It is important that BeeWare software has high standard of quality and maintainability. There are a small number of people on the BeeWare core team, and we seek to use our time and resources effectively. Generative AI and Large Language Models (as seen in tools such as ChatGPT, Codex, Claude, and Copilot) have become an unavoidable detail of modern software development. While we recognize that some people find these tools to be useful aids for software development, they also make it very easy to generate contributions without the submitter fully understanding how the code works, or the consequences of specific implementation choices. It is also possible for these tools to operate autonomously, without any human involvement or oversight. -The overhead associated with managing contributions that have been generated by autonomous coding tools, with little or no effort on the part of the human contributor, is not an effective use of the core team's limited time and resources. This policy describes the conditions under which autonomous coding tools may be used when contributing to BeeWare projects. - -## 1. Accountability +The overhead associated with managing contributions that have been generated by autonomous or semi-autonomous AI tools, with little or no effort on the part of the human contributor, is not an effective use of the core team's limited time and resources. -We neither encourage nor prohibit the use of autonomous coding tools when contributing to BeeWare projects. However, if you've used an autonomous coding tool to support your work processes, all contributions are you make are ultimately **your** responsibility. +When this document refers to "AI tools", it encompasses *any* tool that is able to generate significant content, or can operate autonomously or semi-autonomously, based on limited input from a human. It does not matter what term or terms the tool uses to describe itself. It is the existence of autonomous or semi-autonomous behavior in the tool that triggers the requirements of this policy, not the specific name of the tool. -**The human contributor is the sole party responsible for the contribution.** +## Accountability -If you submit a pull request that includes code, documentation, or comments that has been generated by an automated tool: +If you submit a pull request that includes code, documentation, or comments that has been generated by an AI tool: - You must fully understand every line of code in the submission. - You must be able to fully explain your implementation during the review process. "The AI generated it" is *never* an acceptable answer to a reviewer's question. If a maintainer suspects you do not understand your PR, it will be closed immediately. -If you use an autonomous code review tool to assist with the review of a pull request: +If you use an AI tool to assist with the review of a pull request: - You must fully understand the content that has been reviewed. - You must be able to justify your review comments if they are questioned. @@ -32,9 +36,9 @@ If you allow an autonomous agent to post an issue, pull request or code review o Autonomous agents may be used to initiate an action (e.g., submit a pull request, or provide a code review), but should not be empowered to engage in ongoing "conversations" with other participants. Humans will take time to review code, and we expect a human contributor to make the same commitment in handling their submissions. Discussions on the BeeWare repositories should be between humans. -## 2. Disclosure +## Disclosure -If autonomous coding tools were used to generate a significant portion of your contribution (i.e. beyond simple autocomplete), we require you to **disclose the tools used** in the pull request description. +If AI tools were used to generate a significant portion of your contribution (i.e. beyond simple autocomplete), we require you to **disclose the tools used** in the pull request description. Transparency helps maintainers calibrate their review focus. Please add a trailer to your pull request message in the following format: @@ -50,17 +54,17 @@ Assisted-by: Claude Opus 4.5 Assisted-by: Google Gemini 3 ``` -A template for this is included in the default BeeWare pull request template. The template also includes a checkbox that requires you to confirm that you have disclosed the use of any autonomous coding tools. This checkbox *must* be checked. +A template for this is included in the default BeeWare pull request template. The template also includes a checkbox that requires you to confirm that you have disclosed the use of any autonomous coding tools. This checkbox *must* be checked if you used an AI tool to produce your contribution. -## 3. Intentionality +## Intentionality BeeWare is a project written by humans with interfaces designed by humans - for everyone. It is not a testing ground for tool experimentation. We do not accept pull requests or issues that result from running an autonomous tool over the code base to find improvements without prior context or alignment with the project. -The expectations of contributions generated by autonomous coding tools are no different to those generated by humans. Work generated using autonomous coding tools must follow the same contribution guidelines and procedures that a human contributor is expected to follow. Pull request and issue templates must be filled out as provided, not replaced with generated content. +The expectations of contributions generated by AI tools are no different to those generated by humans. Work generated using autonomous coding tools must follow the same contribution guidelines and procedures that a human contributor is expected to follow. Pull request and issue templates must be filled out as provided, not replaced with generated content. -## 4. Copyright & Legal +## Copyright & Legal By submitting a contribution to BeeWare, you represent and warrant that: @@ -70,20 +74,20 @@ By submitting a contribution to BeeWare, you represent and warrant that: If you cannot guarantee the provenance and legal safety of code you contribute - regardless of whether it is autonomously generated - **do not submit it**. -## 5. Prohibited Uses +## Prohibited Uses The following are strictly prohibited, and will result in immediate closure of a pull request or issue, and a report being made under our Code of Conduct: -- **Ignoring code contribution procedures:** Using autonomous tooling to write issues or pull request descriptions that ignore or overwrite default project templates. +- **Ignoring code contribution procedures:** Using AI tools to write issues or pull request descriptions that ignore or overwrite default project templates. - **Unvetted boilerplate:** Submitting verbose autonomously-generated summaries in place of a succinct explanation of the contribution. If you don't understand what the code does well enough to explain it in your own words, don't submit the PR. - **Conflicts with reality:** For example, submitting pull requests that resolve issues that don't exist, or code that uses APIs that don't exist. Contributions must be grounded in reality. -## 6. Enforcement +## Enforcement -BeeWare project maintainers reserve the right to close any issue or pull request that appears to be a low-effort contribution from an autonomous tool, without providing a detailed technical critique. We are a small team supporting a large project. Our time is best spent working with contributors who understand the project's technical requirements and are interested in working with the maintainers to advance the project. +BeeWare project maintainers reserve the right to close any issue or pull request that appears to be a low-effort contribution from an AI tool, without providing a detailed technical critique. We are a small team supporting a large project. Our time is best spent working with contributors who understand the project's technical requirements and are interested in working with the maintainers to advance the project. Any such action will be reported to the BeeWare Code of Conduct Response Team. Repeated violations may result in a ban from BeeWare Project spaces. -### Acknowledgement +## Acknowledgements This policy is based on the [Mastodon AI Contribution Policy](https://github.com/mastodon/.github/blob/main/AI_POLICY.md). That policy was based on the the [CloudNativePG AI Contribution Policy](https://github.com/cloudnative-pg/governance/blob/main/AI_POLICY.md), which was inspired by the [Ghostty AI Usage Policy](https://github.com/ghostty-org/ghostty/blob/main/AI_POLICY.md) and the Linux Foundation's [Generative AI Policy](https://www.linuxfoundation.org/legal/generative-ai). From 9dca8a4a8acf93ce7c57064818116b13fdc09616 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Tue, 31 Mar 2026 13:28:03 +0800 Subject: [PATCH 4/9] Update CONTRIBUTING.md and PR template. --- .github/pull_request_template.md | 6 ++---- CONTRIBUTING.md | 34 +++++++++++++++++++++++++------- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index bbca1d8..81f461f 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -4,10 +4,8 @@ ## PR Checklist: -- [ ] All new features have been tested -- [ ] All new features have been documented -- [ ] I have read the **CONTRIBUTING.md** file -- [ ] I will abide by the code of conduct +- [ ] I will abide by the BeeWare Code of Conduct +- [ ] I have read and have followed the **CONTRIBUTING.md** file - [ ] This PR was generated or assisted using an AI tool Assisted-by: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8a8b775..9bd7e8a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,16 +2,36 @@ It's not just about code. A successful software project requires documentation, design skills, feedback and bug reports. The BeeWare project recognizes that all contributions are important - not just the ones that come as a pull request on GitHub. -## Code of Conduct +## How to contribute -BeeWare operates under a [Code of Conduct](https://beeware.org/community/behavior/code-of-conduct/). +If you'd like to contribute to a BeeWare project, our [contribution guide](https://beeware.org/contributing/guide) has details on how to pick a way to contribute, how to set up a development environment, and other requirements we have as part of our contribution process. -## How to contribute +### Code of Conduct + +BeeWare operates under a [Code of Conduct](https://beeware.org/community/behavior/code-of-conduct/). All participation the BeeWare community is governed by this code. + +### AI contributions + +We neither encourage nor prohibit the use of autonomous coding tools when contributing to BeeWare projects. However, if you have used an autonomous coding tool to support your work processes, all contributions are you make are ultimately **your** responsibility. + +Our [AI Policy](./AI_POLICY.md) has the full details of your obligations if you choose to use an AI tool when contributing to BeeWare. + +### Issues + +We have a [process and requirements for creating new issues](https://beeware.org/contributing/guide/how/new-issue/). + +### Code style guide + +We have a [code style guide](https://beeware.org/contributing/guide/style/code-style-guide/) all code must follow. This is partially enforced by automated pre-commit checks; our guide on [setting up a development environment](https://beeware.org/contributing/guide/how/dev-environment/) decribes how to configure these automated checks. + +### Testing + +We require that all new code is exercised by automated tests. Our contribution guide describes [how to run the project test suite](https://beeware.org/contributing/guide/how/write-code/). -If you'd like to contribute to a BeeWare project, our [contribution guide](https://beeware.org/contributing) has details on how to pick a way to contribute, how to set up a development environment, and other requirements we have as part of our contribution process. +### Documentation -## AI contributions +We require that all new features have full user documentation. We have a [documentation style guide](https://beeware.org/contributing/guide/style/docs-style-guide/) that all documentation should follow. Our contribution guide has details on [how to build and preview project documentation](https://beeware.org/contributing/guide/how/build-docs/). -We neither encourage nor prohibit the use of autonomous coding tools when contributing to BeeWare projects. However, if you've used an autonomous coding tool to support your work processes, all contributions are you make are ultimately **your** responsibility. +### Pull Requests -Our [AI and Autonomous Code Contribution Policy](./AI_POLICY.md) has the full details of your obligations if you choose to use an automous coding tool when contributing to BeeWare. +We have a [process for submitting a PR](https://beeware.org/contributing/guide/how/submit-pr/) that all contributions must follow. From e77c0b5e480ef2f2f66e12930087bdce1cd84c62 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Thu, 9 Apr 2026 10:00:20 +0800 Subject: [PATCH 5/9] Minor cleanups following feedback. --- AI_POLICY.md | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/AI_POLICY.md b/AI_POLICY.md index 9c447ce..19796e3 100644 --- a/AI_POLICY.md +++ b/AI_POLICY.md @@ -8,7 +8,7 @@ The one paragraph summary of this policy: **The human contributor is the sole pa BeeWare is a complex project. It involves code that needs to run on a range of operating systems and hardware configurations. It has interfaces that must maintain a robust user experience for developers with a wide range of levels of experience. It is important that BeeWare software has high standard of quality and maintainability. There are a small number of people on the BeeWare core team, and we seek to use our time and resources effectively. -Generative AI and Large Language Models (as seen in tools such as ChatGPT, Codex, Claude, and Copilot) have become an unavoidable detail of modern software development. While we recognize that some people find these tools to be useful aids for software development, they also make it very easy to generate contributions without the submitter fully understanding how the code works, or the consequences of specific implementation choices. It is also possible for these tools to operate autonomously, without any human involvement or oversight. +Generative AI and Large Language Models (such as Claude, ChatGPT, Copilot and Gemini) have become an unavoidable detail of modern software development. While we recognize that some people find these tools to be useful aids for software development, they also make it very easy to generate contributions without the submitter fully understanding how the code works, or the consequences of specific implementation choices. It is also possible for these models to be used in autonomously frameworks, without any human involvement or oversight. The overhead associated with managing contributions that have been generated by autonomous or semi-autonomous AI tools, with little or no effort on the part of the human contributor, is not an effective use of the core team's limited time and resources. @@ -30,9 +30,7 @@ If you use an AI tool to assist with the review of a pull request: "The AI said this was a problem" is *never* an acceptable review response. -Copy-and-pasting content to and from a chatbot during the process of code review is not acceptable, unless this is being used for translation to and from English. - -If you allow an autonomous agent to post an issue, pull request or code review on your behalf, **you** are responsible for the content that is posted. If the content generated by the autonomous agent fails to follow BeeWare's documented contribution processes, **you** are responsible for that failure. +If you allow an autonomous agent to post an issue, pull request or code review on your behalf, or you use an autonomous tool to generate a response, **you** are responsible for the content that is posted. If the content generated by the autonomous agent fails to follow BeeWare's documented contribution processes and standards for communication, **you** are responsible for that failure. Autonomous agents may be used to initiate an action (e.g., submit a pull request, or provide a code review), but should not be empowered to engage in ongoing "conversations" with other participants. Humans will take time to review code, and we expect a human contributor to make the same commitment in handling their submissions. Discussions on the BeeWare repositories should be between humans. @@ -40,7 +38,7 @@ Autonomous agents may be used to initiate an action (e.g., submit a pull request If AI tools were used to generate a significant portion of your contribution (i.e. beyond simple autocomplete), we require you to **disclose the tools used** in the pull request description. -Transparency helps maintainers calibrate their review focus. Please add a trailer to your pull request message in the following format: +Transparency helps maintainers calibrate the areas of focus for a review, and the style of feedback that will be helpful in a review. Please add a trailer to your pull request message in the following format: ```text Assisted-by: Name of AI @@ -60,7 +58,7 @@ A template for this is included in the default BeeWare pull request template. Th BeeWare is a project written by humans with interfaces designed by humans - for everyone. It is not a testing ground for tool experimentation. -We do not accept pull requests or issues that result from running an autonomous tool over the code base to find improvements without prior context or alignment with the project. +We do not accept unsolicited pull requests or issues that result from running an autonomous tool over the BeeWare code base. If you believe a specific tool will be beneficial to BeeWare's code, ask the core team for permission before submitting any issues or pull requests with that tool. The expectations of contributions generated by AI tools are no different to those generated by humans. Work generated using autonomous coding tools must follow the same contribution guidelines and procedures that a human contributor is expected to follow. Pull request and issue templates must be filled out as provided, not replaced with generated content. @@ -70,13 +68,13 @@ By submitting a contribution to BeeWare, you represent and warrant that: 1. You have the legal right to submit the contribution under the project's licence. 2. The contribution does not violate the intellectual property rights of any third party. -3. If autonomous coding tools were used, the resulting code does not violate the terms of service of the tool provider, and does not include "regurgitated" code from libraries with licenses that are incompatible with the repository you’re submitting it to. +3. If autonomous coding tools were used, the resulting code does not violate the terms of service of the tool provider. If you cannot guarantee the provenance and legal safety of code you contribute - regardless of whether it is autonomously generated - **do not submit it**. ## Prohibited Uses -The following are strictly prohibited, and will result in immediate closure of a pull request or issue, and a report being made under our Code of Conduct: +The following are strictly prohibited: - **Ignoring code contribution procedures:** Using AI tools to write issues or pull request descriptions that ignore or overwrite default project templates. - **Unvetted boilerplate:** Submitting verbose autonomously-generated summaries in place of a succinct explanation of the contribution. If you don't understand what the code does well enough to explain it in your own words, don't submit the PR. @@ -84,7 +82,7 @@ The following are strictly prohibited, and will result in immediate closure of a ## Enforcement -BeeWare project maintainers reserve the right to close any issue or pull request that appears to be a low-effort contribution from an AI tool, without providing a detailed technical critique. We are a small team supporting a large project. Our time is best spent working with contributors who understand the project's technical requirements and are interested in working with the maintainers to advance the project. +BeeWare project maintainers reserve the right to close any issue or pull request that violates this policy, without providing a detailed technical critique. We are a small team supporting a large project. Our time is best spent working with contributors who understand the project's technical requirements and are interested in working with the maintainers to advance the project. Any such action will be reported to the BeeWare Code of Conduct Response Team. Repeated violations may result in a ban from BeeWare Project spaces. From d07e388459fc241599b726b375af9c060ad80f5a Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Thu, 9 Apr 2026 10:19:17 +0800 Subject: [PATCH 6/9] Add presumptive adoption date. --- AI_POLICY.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/AI_POLICY.md b/AI_POLICY.md index 19796e3..d9dc4f4 100644 --- a/AI_POLICY.md +++ b/AI_POLICY.md @@ -89,3 +89,9 @@ Any such action will be reported to the BeeWare Code of Conduct Response Team. R ## Acknowledgements This policy is based on the [Mastodon AI Contribution Policy](https://github.com/mastodon/.github/blob/main/AI_POLICY.md). That policy was based on the the [CloudNativePG AI Contribution Policy](https://github.com/cloudnative-pg/governance/blob/main/AI_POLICY.md), which was inspired by the [Ghostty AI Usage Policy](https://github.com/ghostty-org/ghostty/blob/main/AI_POLICY.md) and the Linux Foundation's [Generative AI Policy](https://www.linuxfoundation.org/legal/generative-ai). + +## Changes + +Major substantive changes are listed here; for a complete list of changes see the GitHub commit history. + +* **April 24, 2026:** Initial AI policy adopted. From aa16b1bb1046c17c9a719abe5e876b40c73c3316 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Thu, 9 Apr 2026 10:44:15 +0800 Subject: [PATCH 7/9] Correct linting issue. --- AI_POLICY.md | 14 +++++++------- pyproject.toml | 3 ++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/AI_POLICY.md b/AI_POLICY.md index d9dc4f4..9db7000 100644 --- a/AI_POLICY.md +++ b/AI_POLICY.md @@ -18,15 +18,15 @@ When this document refers to "AI tools", it encompasses *any* tool that is able If you submit a pull request that includes code, documentation, or comments that has been generated by an AI tool: -- You must fully understand every line of code in the submission. -- You must be able to fully explain your implementation during the review process. +* You must fully understand every line of code in the submission. +* You must be able to fully explain your implementation during the review process. "The AI generated it" is *never* an acceptable answer to a reviewer's question. If a maintainer suspects you do not understand your PR, it will be closed immediately. If you use an AI tool to assist with the review of a pull request: -- You must fully understand the content that has been reviewed. -- You must be able to justify your review comments if they are questioned. +* You must fully understand the content that has been reviewed. +* You must be able to justify your review comments if they are questioned. "The AI said this was a problem" is *never* an acceptable review response. @@ -76,9 +76,9 @@ If you cannot guarantee the provenance and legal safety of code you contribute - The following are strictly prohibited: -- **Ignoring code contribution procedures:** Using AI tools to write issues or pull request descriptions that ignore or overwrite default project templates. -- **Unvetted boilerplate:** Submitting verbose autonomously-generated summaries in place of a succinct explanation of the contribution. If you don't understand what the code does well enough to explain it in your own words, don't submit the PR. -- **Conflicts with reality:** For example, submitting pull requests that resolve issues that don't exist, or code that uses APIs that don't exist. Contributions must be grounded in reality. +* **Ignoring code contribution procedures:** Using AI tools to write issues or pull request descriptions that ignore or overwrite default project templates. +* **Unvetted boilerplate:** Submitting verbose autonomously-generated summaries in place of a succinct explanation of the contribution. If you don't understand what the code does well enough to explain it in your own words, don't submit the PR. +* **Conflicts with reality:** For example, submitting pull requests that resolve issues that don't exist, or code that uses APIs that don't exist. Contributions must be grounded in reality. ## Enforcement diff --git a/pyproject.toml b/pyproject.toml index 229910b..4980454 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,9 +3,10 @@ exclude = [".github/*.md"] respect-gitignore = true # MD007: List leading spaces - CoC nested lists only render on both GitHub and website with 5 spaces. -# MD033: No inline HTML - Used in CoC for header anchors. +# MD033: No inline HTML - Used for header anchors. [tool.rumdl.per-file-ignores] "CODE_OF_CONDUCT.md" = ["MD007", "MD033"] +"AI_POLICY.md" = ["MD033"] [tool.rumdl.MD013] # Line length line_length = 999999 From 210368d5d9188ac1461c946a109f667d88a2f4fa Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Fri, 10 Apr 2026 10:40:43 +0800 Subject: [PATCH 8/9] Cleanups and improvements from review. Co-authored-by: Kattni --- AI_POLICY.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/AI_POLICY.md b/AI_POLICY.md index 9db7000..f8a078a 100644 --- a/AI_POLICY.md +++ b/AI_POLICY.md @@ -6,9 +6,9 @@ The one paragraph summary of this policy: **The human contributor is the sole pa ## Introduction -BeeWare is a complex project. It involves code that needs to run on a range of operating systems and hardware configurations. It has interfaces that must maintain a robust user experience for developers with a wide range of levels of experience. It is important that BeeWare software has high standard of quality and maintainability. There are a small number of people on the BeeWare core team, and we seek to use our time and resources effectively. +BeeWare is a complex project. It involves code that needs to run on a range of operating systems and hardware configurations. It has interfaces that must maintain a robust user experience for developers with a wide range of levels of experience. It is important that BeeWare software has a high standard of quality and maintainability. There are a small number of people on the BeeWare core team, and we seek to use our time and resources effectively. -Generative AI and Large Language Models (such as Claude, ChatGPT, Copilot and Gemini) have become an unavoidable detail of modern software development. While we recognize that some people find these tools to be useful aids for software development, they also make it very easy to generate contributions without the submitter fully understanding how the code works, or the consequences of specific implementation choices. It is also possible for these models to be used in autonomously frameworks, without any human involvement or oversight. +Generative AI and Large Language Models (such as Claude, ChatGPT, Copilot and Gemini) have become an unavoidable detail of modern software development. While we recognize that some people find these tools to be useful aids for software development, they also make it very easy to generate contributions without the submitter fully understanding how the code works, or the consequences of specific implementation choices. It is also possible for these models to be used in autonomous frameworks, without any human involvement or oversight. The overhead associated with managing contributions that have been generated by autonomous or semi-autonomous AI tools, with little or no effort on the part of the human contributor, is not an effective use of the core team's limited time and resources. @@ -30,7 +30,7 @@ If you use an AI tool to assist with the review of a pull request: "The AI said this was a problem" is *never* an acceptable review response. -If you allow an autonomous agent to post an issue, pull request or code review on your behalf, or you use an autonomous tool to generate a response, **you** are responsible for the content that is posted. If the content generated by the autonomous agent fails to follow BeeWare's documented contribution processes and standards for communication, **you** are responsible for that failure. +If you allow an autonomous agent to post an issue, pull request, or code review on your behalf, or you use an autonomous tool to generate a response, **you** are responsible for the content that is posted. If the content generated by the autonomous agent fails to follow BeeWare's documented contribution processes and standards for communication, **you** are responsible for that failure. Autonomous agents may be used to initiate an action (e.g., submit a pull request, or provide a code review), but should not be empowered to engage in ongoing "conversations" with other participants. Humans will take time to review code, and we expect a human contributor to make the same commitment in handling their submissions. Discussions on the BeeWare repositories should be between humans. @@ -38,7 +38,9 @@ Autonomous agents may be used to initiate an action (e.g., submit a pull request If AI tools were used to generate a significant portion of your contribution (i.e. beyond simple autocomplete), we require you to **disclose the tools used** in the pull request description. -Transparency helps maintainers calibrate the areas of focus for a review, and the style of feedback that will be helpful in a review. Please add a trailer to your pull request message in the following format: +Transparency helps maintainers calibrate the areas of focus for a review, and the style of feedback that will be helpful in a review. + +Please add a trailer to your pull request message in the following format: ```text Assisted-by: Name of AI @@ -82,7 +84,7 @@ The following are strictly prohibited: ## Enforcement -BeeWare project maintainers reserve the right to close any issue or pull request that violates this policy, without providing a detailed technical critique. We are a small team supporting a large project. Our time is best spent working with contributors who understand the project's technical requirements and are interested in working with the maintainers to advance the project. +BeeWare project maintainers reserve the right to close any issue or pull request that violates this policy, without providing a detailed technical critique. Any such action will be reported to the BeeWare Code of Conduct Response Team. Repeated violations may result in a ban from BeeWare Project spaces. From fadf0103d4fecc750d19efe38c7222b3250dd102 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Fri, 10 Apr 2026 10:42:18 +0800 Subject: [PATCH 9/9] Lint cleanups. --- AI_POLICY.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AI_POLICY.md b/AI_POLICY.md index f8a078a..4fd959c 100644 --- a/AI_POLICY.md +++ b/AI_POLICY.md @@ -38,7 +38,7 @@ Autonomous agents may be used to initiate an action (e.g., submit a pull request If AI tools were used to generate a significant portion of your contribution (i.e. beyond simple autocomplete), we require you to **disclose the tools used** in the pull request description. -Transparency helps maintainers calibrate the areas of focus for a review, and the style of feedback that will be helpful in a review. +Transparency helps maintainers calibrate the areas of focus for a review, and the style of feedback that will be helpful in a review. Please add a trailer to your pull request message in the following format: @@ -84,7 +84,7 @@ The following are strictly prohibited: ## Enforcement -BeeWare project maintainers reserve the right to close any issue or pull request that violates this policy, without providing a detailed technical critique. +BeeWare project maintainers reserve the right to close any issue or pull request that violates this policy, without providing a detailed technical critique. Any such action will be reported to the BeeWare Code of Conduct Response Team. Repeated violations may result in a ban from BeeWare Project spaces.