<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div style="direction: ltr; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Slightly off-topic (and apologies if this has been suggested and I missed it): would it make sense to put top-level instruction files for agents into the BioPython repo? They'd then automatically be in place for anyone who cloned the repo and started using
an agent on the codebase. The instructions could include following code style, staying focused only fixing one problem, writing a complete transcript of dev sessions including explanations and choices, writing tests, giving attribution (where possible), using
type hints, etc. I use Claude Code on a daily basis now and it is pretty good at following explicit instructions. If it were my project and I was forbidding the use of AI, I wouldn't really want my top-level repo dir polluted with files for agents, though,
so this suggestion might get a flat no on that basis.</div>
<div style="direction: ltr; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Regarding the legal aspect, I should think that in some cases (like fixing a specific bug) it would be possible to ask the AI to provide URLs giving sources with permissive licenses. I.e., it could explain that it implemented a fix based on code found at such-and-such
a URL, that was public domain or licensed in some open way. That could be added to the pr code as a comment. In such cases BioPython would be in the clear, no?</div>
<div style="direction: ltr; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
BTW, another aspect of AI-aided development that I don't think has been mentioned is debugging. Claude Code is fantastic for that - I have had it track down some very human-cryptic problems (in Python, in C, in PowerBasic), sometimes diagnosed in seconds based
on a minimal description of the misbehaviour. I don't like to keep saying this is incredible, so I won't. But should BioPython have an explicit policy clause about this, or is everything permissible except what has been forbidden? It's easy to imagine someone
submitting a human-written patch which is actually broken, based on a complicated and incorrect AI diagnosis that they didn't fully understand. That's not so different from incorrect code written by an AI - the incorrectness starts with the AI and is not detected
by the human.</div>
<div style="direction: ltr; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thanks for all the discussion!</div>
<div style="direction: ltr; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Regards,</div>
<div style="direction: ltr; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Terry</div>
<div style="direction: ltr; font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="mail-editor-reference-message-container">
<div style="padding: 3pt 0in 0in; border-width: 1pt medium medium; border-style: solid none none; border-color: rgb(181, 196, 223) currentcolor currentcolor;">
<div style="text-align: left; font-family: Aptos; font-size: 12pt; color: black;">
<b>From: </b>Biopython <biopython-bounces@biopython.org> on behalf of Peter Cock <p.j.a.cock@googlemail.com><br>
<b>Date: </b>Sunday, 11. October 2026 at 13:12<br>
<b>To: </b>biopython@biopython.org <biopython@biopython.org><br>
<b>Subject: </b>[ext] Re: [Biopython] Generative AI policy for contributions to Biopython<br>
<br>
</div>
</div>
<div id="mail-editor-reference-message-body">
<div class="ms-outlook-mobile-reference-message skipProofing">
<meta name="Generator" content="Microsoft Exchange Server">
</div>
<div class="PlainText" style="font-size: 10pt;">Dear Biopythoneers,<br>
<br>
I have failed so far to convince many of our committer pool to approve<br>
my no AI policy pull request, despite softening it with explicitly<br>
tolerated tool use (outside of the commits themselves) based on the<br>
Python project stance (which I feel is too lax).<br>
<br>
<a href="https://github.com/biopython/biopython/pull/5241" data-outlook-id="254cf514-0f30-4cf7-9805-5278ccee19e3">https://github.com/biopython/biopython/pull/5241</a><br>
<br>
Some still view the draft as too strict (see the PR and recent linked<br>
PRs, some examples being small AI generated changes that would be<br>
acceptable if from a human). I understand that Michiel favours a more<br>
permissive policy like NumPy or SciPy adopted, based on technical<br>
merits and still expecting human understanding of the code. Given his<br>
long standing and on going substantial contributions to Biopython, his<br>
views carry weight.<br>
<br>
A unanimous consensus does not seem to be possible. Might an interim<br>
AI ban with a view to reviewing this in say three years work? Some of<br>
the objections may well be moot at that point. Otherwise we may have<br>
to opt for a majority rule amongst our current maintainers.<br>
<br>
Would any of you like to put forward an alternative AI policy draft<br>
pull request based on NumPy and SciPy please (I find the Python<br>
project text too light on detail), including our consensus that the<br>
communications at least should be human written (but possibly computer<br>
translated into English). I think we need something concretely enough<br>
that we can review PRs consistently. One of the advantages of a no-AI<br>
policy is the line for what is or isn't acceptable is much easier to<br>
follow.<br>
<br>
In arguing for rejecting AI contributions, I'd focused on the legal<br>
uncertainty argument from a project stewardship perspective (copyright<br>
etc), thinking this was a strong enough point in and of itself. There<br>
are other strong community based-arguments from a project perspective<br>
for rejecting or at least shackling AI contributions including leaving<br>
less room for beginners and mentoring, and very real risks of<br>
maintainer fatigue or burnout. And there are the ethical objections<br>
including unacknowledged plagiarism, excessive energy use, and abusive<br>
collection of training data. And financial too, with the costs of<br>
computers and parts rocketing.<br>
<br>
Regards,<br>
<br>
Peter<br>
<br>
<br>
On Fri, Oct 2, 2026 at 11:01 AM Peter Cock <p.j.a.cock@googlemail.com> wrote:<br>
><br>
> I'd also like a second opinion on merging an AI usage declaration on<br>
> the PR template now:<br>
><br>
> <a href="https://github.com/biopython/biopython/pull/5334" data-outlook-id="48c4111e-77c7-4525-9112-0d727ec96f78">
https://github.com/biopython/biopython/pull/5334</a><br>
><br>
> I don't expect the PR template change in itself to be contentious,<br>
> even if we do not yet have agreement on rejecting AI written commits.<br>
><br>
> Hoping to get AI agents to self-disclose via a directive in our<br>
> contributing file seems worth a try (it has been shown to work on<br>
> other projects).<br>
><br>
> Peter<br>
><br>
_______________________________________________<br>
Biopython mailing list - Biopython@biopython.org<br>
<a href="https://mailman.open-bio.org/mailman/listinfo/biopython" data-outlook-id="c22c179f-2ae1-4d2c-944b-753f683d0996">https://mailman.open-bio.org/mailman/listinfo/biopython</a><br>
</div>
</div>
</div>
</body>
</html>