Repository navigation
Create AIPOLICY.rst - #5388
Create AIPOLICY.rst#5388idoerg wants to merge 3 commits into
Conversation
First crack at AI policy for biopython based on that of NumPy
Added Motivation and Acknowledgment sections. Some comments too.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #5388 +/- ##
==========================================
+ Coverage 85.56% 86.43% +0.87%
==========================================
Files 282 282
Lines 59616 59616
==========================================
+ Hits 51011 51532 +521
+ Misses 8605 8084 -521 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Fixed typos that got the PR rejected. I hope.
|
|
||
| Acknowledgements | ||
| ================ | ||
| We thank the NumPy developers for their AI policy, upon which this document is largely based. |
There was a problem hiding this comment.
Both the near-identical NumPy and SciPy policies acknowledge SymPy as the source.
There was a problem hiding this comment.
We can acknowledge SymPy
|
Thank you Iddo - discussions on #5241 should benefit from a concrete draft of a more permissive policy. This will need to intergrate with our CONTRIBUTING.rst file (at a minimum cross-referencing each other, perhaps even staying with one file?). I'd also suggest something like #5334 adding an AI declaration check-box to our pull request template, which can reference this new file (assuming you keep it separate from CONTRIBUTING.rst). |
| advent of generative AI tools used to write and submit code, we have found it necessary to detail rules that govern the use of AI tools in contributions. | ||
| There are several reasons for this policy: (1) preserve code quality, utility, and safety; (2) avoid copyright and license infringements; | ||
| (3) prevent superfluous contributions by AI agents that may be useless or harmful, and in any case take up unnecessary time and resources from Biopython | ||
| developers. |
There was a problem hiding this comment.
Can we maybe include that there a controversial views within the group, or that there had been a controversial discussion?
a) to give it a more personal/specific note and b) to express that this is sort of compromise?
There was a problem hiding this comment.
I would oppose adding such phrasing. A policy document should include the policy itself, not the history behind the policy. Most policies are a compromise.
There was a problem hiding this comment.
There may be a place for than in an annoucmement (via the Biopython announce mailing list & OBF blog), and/or the release notes for when any policy first ships.
| it was manually written or generated by AI. You must understand and be able to explain the code you submit as well as | ||
| the existing related code. It is not acceptable to submit a patch that you cannot understand and explain yourself. | ||
| In explaining your contribution, do not use AI to automatically generate comments, pull request descriptions, | ||
| or issue descriptions. See below for our policy on AI translation systems. |
There was a problem hiding this comment.
Policy on AI translation systems: Should this be a different document or is it just still missing?
Should we have a section outlining accepted, discouraged and not-accepted use of AI by a few examples?
|
What about the "good first issue" topic? I would think that experienced contributers will be more responsible in their usage of AI in their PRs, but "good first issues" are especially labelled for beginners and maybe we should insist on no-AI here? |
|
As for "good first issue" -- the strict AI ban on GFI appears already in CONTRIBUTING.rst. @peterjc has suggested placing AIPOLICY.rst within CONTRIBUTING.rst, and if we do that then this issue is moot. |
|
If it's about AI, it should be included in the AI policy. It wouldn't even harm if it's duplicated under Contributing and AI policy. There is a good chance that people who want to submit an AI written PR will carefully read the AI policy and skip the Contributing part. |
Putting the AI policy in CONTRIBUTING.rst sounds logical. AI use policy is a subset of the contribution policy, after all.
Suggestion: |
The explicit mention of autonomous software and AI agent may be misunderstood that only this case is discouraged but e.g. copy & pasting an AI generated PR message is OK. "I confirm that this pull request (communication) is written by a human." ? |
|
I posted on the mailing list comparing the CoMaps/Forejo policy (which BioPerl is looking at) with NumPy/SciPy (both based on SymPy): https://mailman.open-bio.org/pipermail/biopython/2026-October/017166.html Both stress human communications and no autonomous agents. The NumPy/SciPy text is more explicit about copyright, but neither really emphasises scholarship and attribution. That will come up, particularly with non-trivial changes (it has occasionally in the pre-AI era where a fix was at some level guided by another implementation). Since the AI tools don't track their training data for attribution, one might argue a human in the loop has to try to check providence - and that's hard, but I think any AI-permissive policy ought to articulate who is expected to do that too. |
|
Should we make our PR template leaner in tandem with this? Otherwise we have 4 checkboxes? I'd propose something like a mix of numpy's PR template and ours: We might also revisit the existing checkboxes, e.g. the second one could be shortened to "I have read the CONTRIBUTING guidelines". We could add the AI policy linked there. And the third checkbox there too, leaving this only about licensing. |
|
Yes, we now have four checkboxes as of #5334 (adding an AI declaration). Any more would be a burden (having seen this on several other projects - even ticking them all with |
First crack at AI policy for biopython based on that of NumPy
[x ] I hereby agree to dual licence this and any previous contributions under both
the Biopython License Agreement AND the BSD 3-Clause License.
I have read the
CONTRIBUTING.rstfile, have runpre-commitlocally, and understand that continuous integration checks will be used to
confirm the Biopython unit tests and style checks pass with these changes.
I have added my name to the alphabetical contributors listings in the files
NEWS.rstandCONTRIB.rstas part of this pull request, am listedalready, or do not wish to be listed. (This acknowledgement is optional.)
Closes #...