-
Notifications
You must be signed in to change notification settings - Fork 11
Add an AI and Autonomous code contribution policy. #328
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
freakboy3742
wants to merge
9
commits into
main
Choose a base branch
from
ai-policy
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
8802f66
Add an AI and Autonomous code contribution policy.
freakboy3742 6f32da4
Improve PR template.
freakboy3742 7c8f197
Update AI policy to include a preamble, and more direct usage of the …
freakboy3742 9dca8a4
Update CONTRIBUTING.md and PR template.
freakboy3742 e77c0b5
Minor cleanups following feedback.
freakboy3742 d07e388
Add presumptive adoption date.
freakboy3742 aa16b1b
Correct linting issue.
freakboy3742 210368d
Cleanups and improvements from review.
freakboy3742 fadf010
Lint cleanups.
freakboy3742 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
freakboy3742 marked this conversation as resolved.
Show resolved
Hide resolved
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,99 @@ | ||
| # 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. | ||
freakboy3742 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
freakboy3742 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| ## 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 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 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. | ||
freakboy3742 marked this conversation as resolved.
Show resolved
Hide resolved
freakboy3742 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| 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. | ||
freakboy3742 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| ## Accountability | ||
|
|
||
| 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 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. | ||
|
|
||
| "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. | ||
|
|
||
| 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. | ||
|
|
||
| ## Disclosure | ||
|
|
||
| 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: | ||
|
|
||
| ```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 if you used an AI tool to produce your contribution. | ||
freakboy3742 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| ## 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 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. | ||
|
|
||
| ## Copyright & Legal | ||
|
|
||
| By submitting a contribution to BeeWare, you represent and warrant that: | ||
freakboy3742 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| 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. | ||
|
|
||
| If you cannot guarantee the provenance and legal safety of code you contribute - regardless of whether it is autonomously generated - **do not submit it**. | ||
freakboy3742 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| ## Prohibited Uses | ||
|
|
||
| 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. | ||
|
|
||
| ## Enforcement | ||
|
|
||
| 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. | ||
|
|
||
| ## 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 <a name="changes"></a> | ||
|
|
||
| Major substantive changes are listed here; for a complete list of changes see the GitHub commit history. | ||
|
|
||
| * **April 24, 2026:** Initial AI policy adopted. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,44 +1,37 @@ | ||
| # 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 | ||
| ## How to contribute | ||
|
|
||
| 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. | ||
| 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. | ||
|
|
||
| ## Code Contributions | ||
| ### Code of Conduct | ||
|
|
||
| Your code contributions are welcome! Please familiarize yourself with our [Development Process](https://beeware.org/contributing/how/process/). | ||
| 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. | ||
|
|
||
| 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 have 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. | ||
| 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. | ||
|
|
||
| ## Platform Usage | ||
| ### Issues | ||
|
|
||
| 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? | ||
| We have a [process and requirements for creating new issues](https://beeware.org/contributing/guide/how/new-issue/). | ||
|
|
||
| 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. | ||
| ### Code style guide | ||
|
|
||
| ## Documentation | ||
| 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. | ||
|
|
||
| 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! | ||
| ### Testing | ||
|
|
||
| ## Help translate and update our Website | ||
| 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/). | ||
|
|
||
| Is there anything wrong or missing from our website? Please feel free to make edits and submit a pull request! | ||
| ### Documentation | ||
|
|
||
| Want to help translate or update the content of this website? Visit the translations section. | ||
| 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/). | ||
|
|
||
| ## Build a real application! | ||
| ### Pull Requests | ||
|
|
||
| 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. | ||
| We have a [process for submitting a PR](https://beeware.org/contributing/guide/how/submit-pr/) that all contributions must follow. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.