Skip to content

Create AIPOLICY.rst - #5388

Draft
idoerg wants to merge 3 commits into
biopython:masterfrom
idoerg:AI-policy
Draft

idoerg wants to merge 3 commits into
biopython:masterfrom
idoerg:AI-policy

Conversation

@idoerg

@idoerg idoerg commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

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.rst file, have run pre-commit
    locally, 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.rst and CONTRIB.rst as part of this pull request, am listed
    already, or do not wish to be listed. (This acknowledgement is optional.)

Closes #...

First crack at AI policy for biopython based on that of NumPy
Added  Motivation and Acknowledgment sections. Some comments too.
@codecov

codecov Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.43%. Comparing base (23aa995) to head (99e941f).
⚠️ Report is 14 commits behind head on master.

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Fixed typos that got the PR rejected. I hope.
Comment thread AIPOLICY.rst

Acknowledgements
================
We thank the NumPy developers for their AI policy, upon which this document is largely based.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both the near-identical NumPy and SciPy policies acknowledge SymPy as the source.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can acknowledge SymPy

@peterjc

peterjc commented Oct 23, 2026

Copy link
Copy Markdown
Member

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).

Comment thread AIPOLICY.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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread AIPOLICY.rst
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.

@MarkusPiotrowski MarkusPiotrowski Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

@MarkusPiotrowski

Copy link
Copy Markdown
Contributor

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?

@idoerg

idoerg commented Oct 23, 2026

Copy link
Copy Markdown
Contributor Author

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.

@MarkusPiotrowski

Copy link
Copy Markdown
Contributor

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.
This is also a good candidate for (additionally) mentioning in an "Allowed, discouraged and forbidden use of AI" chapter.

@idoerg

idoerg commented Oct 23, 2026

Copy link
Copy Markdown
Contributor Author

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?).

Putting the AI policy in CONTRIBUTING.rst sounds logical. AI use policy is a subset of the contribution policy, after all.

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).

Suggestion:
"I have read the AI policy in [FILE] and agree to abide by it. I confirm that this pull request is performed by a human and not by autonomous software such as an AI agent"

@MarkusPiotrowski

Copy link
Copy Markdown
Contributor

I confirm that this pull request is performed by a human and not by autonomous software such as an AI agent"

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." ?

@peterjc

peterjc commented Oct 26, 2026

Copy link
Copy Markdown
Member

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.

@JoaoRodrigues

Copy link
Copy Markdown
Member

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:

Closes #...

# PR summary
# First time contributor introduction
# AI Disclosure

[ ] 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.rst file, have run pre-commit locally, 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.rst and CONTRIB.rst as part of this pull request, am listed already, or do not wish to be listed. (This acknowledgement is optional.)

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.

@peterjc

peterjc commented Nov 6, 2026

Copy link
Copy Markdown
Member

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 [x] gets tedious). That will need tweakinng as part of agreeing an AI policy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants